@echo off setlocal echo ============================================================================== echo [AutoPOE2] C++23 Hot Path Build ^& Verification Pipeline (Rule 6 / SSoT) echo ============================================================================== cd /d "%~dp0\.." REM 1. Rule 6: Pre-Build Process Kill to release binary locks echo [1/4] Terminating running AutoPOE2 processes (Rule 6)... taskkill /F /IM AutoPOE2_Tests.exe >nul 2>&1 taskkill /F /IM AutoPOE2_Core.exe >nul 2>&1 taskkill /F /IM AutoPOE2_MemProbe.exe >nul 2>&1 taskkill /F /IM AutoPOE2.exe >nul 2>&1 REM 2. CMake Build echo [2/4] Building AutoPOE2_Tests and AutoPOE2_Core (Release x64)... cmake --build build --config Release --target AutoPOE2_Tests AutoPOE2_Core if errorlevel 1 ( echo [ERROR] CMake build failed! exit /b 1 ) REM 3. Zero Binary Drift Verification echo [3/4] Verifying binary integrity... if not exist "build\bin\Release\AutoPOE2_Tests.exe" ( echo [ERROR] AutoPOE2_Tests.exe not found! exit /b 1 ) if not exist "bin\Release\AutoPOE2_Core.exe" ( echo [ERROR] AutoPOE2_Core.exe not found! exit /b 1 ) REM 4. Run Full Unit Test Suite echo [4/4] Executing AutoPOE2_Tests.exe (1086 checks)... powershell -NoProfile -Command ".\build\bin\Release\AutoPOE2_Tests.exe | Tee-Object -FilePath test_output_pipeline.txt | Select-String -Pattern 'RESULT', 'FAIL'" powershell -NoProfile -Command "$res = Get-Content test_output_pipeline.txt | Select-String 'TẤT CẢ 1086 KIỂM TRA ĐỀU ĐẠT'; if ($res) { exit 0 } else { exit 1 }" if errorlevel 1 ( echo ============================================================================== echo [FAILURE] Test suite failed or check count mismatch! echo ============================================================================== exit /b 1 ) echo ============================================================================== echo [SUCCESS] Hot Path 120Hz Verified: 1086/1086 tests PASSED (0 failures)! echo ============================================================================== exit /b 0