Wasm.Build.Tests: `RunProcess` - wait for all async handlers to complete (#56520)
authorAnkit Jain <radical@gmail.com>
Fri, 30 Jul 2021 03:24:48 +0000 (23:24 -0400)
committerGitHub <noreply@github.com>
Fri, 30 Jul 2021 03:24:48 +0000 (23:24 -0400)
eng/pipelines/common/evaluate-default-paths.yml
src/tests/BuildWasmApps/Wasm.Build.Tests/BuildTestBase.cs

index 3877765..8cbcbdd 100644 (file)
@@ -30,6 +30,7 @@ jobs:
       - src/libraries/System.Private.CoreLib/*
       - src/libraries/Native/Unix/System.Globalization.Native/*
       - src/libraries/Native/Unix/Common/*
+      - src/tests/BuildWasmApps/*
       exclude:
       - eng/Version.Details.xml
       - '*.md'
index 7117fff..6d08fe8 100644 (file)
@@ -542,6 +542,13 @@ namespace Wasm.Build.Tests
                         throw new XunitException($"Process timed out. Last 20 lines of output:{Environment.NewLine}{string.Join(Environment.NewLine, lastLines)}");
                     }
                 }
+                else
+                {
+                    // this will ensure that all the async event handling
+                    // has completed
+                    // https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.process.waitforexit?view=net-5.0#System_Diagnostics_Process_WaitForExit_System_Int32_
+                    process.WaitForExit();
+                }
 
                 process.ErrorDataReceived -= logStdErr;
                 process.OutputDataReceived -= logStdOut;