diff --git a/.github/Guidelines/Running-UnitTest.md b/.github/Guidelines/Running-UnitTest.md index 983cb04b..03095162 100644 --- a/.github/Guidelines/Running-UnitTest.md +++ b/.github/Guidelines/Running-UnitTest.md @@ -60,6 +60,10 @@ Ignore `LocalDebuggerCommandArgumentsHistory` in `*.vcxproj.user`. - Testing takes a long time. DO NOT hurry. - When the script finishes, the result is saved to `REPO-ROOT/.github/Scripts/Execute.log`. - A temporary file `Execute.log.unfinished` is created during testing. It will be automatically deleted as soon as the testing finishes. If you see this file, it means the testing is not finished yet. + - Read `Execute.log.unfinished` every 5 minutes. + - If the log is not updated, it is possible that the unit test raised a fatal error and blocked by the system message dialog. You need to: + - Kill the unit test process. + - You are required to run the unit test with debugger attached. The fatal error will report to the debugger and you can see what happened. - When all test cases pass, the last several lines of `Execute.log` should be in the following pattern; otherwise it crashed at the last shown test case: - "Passed test files: X/X" - "Passed test cases: Y/Y" diff --git a/.github/Scripts/copilotExecute.ps1 b/.github/Scripts/copilotExecute.ps1 index e14dbd96..4d35d715 100644 --- a/.github/Scripts/copilotExecute.ps1 +++ b/.github/Scripts/copilotExecute.ps1 @@ -47,7 +47,7 @@ $executableName = $Executable + ".exe" $solutionFolder = GetSolutionDir # Find the file with the latest modification time -if ($Configuration -ne $null) { +if ($Configuration -eq $null) { $latestFile = GetLatestModifiedExecutable $solutionFolder $executableName } else { $latestFile = GetSpecifiedExecutable $solutionFolder $executableName $Configuration $Platform