Commit c43a7522 authored by Vlad Tsyrklevich's avatar Vlad Tsyrklevich Committed by Commit Bot

GWP-ASan: Refactor multiprocess test wait

Use WaitForMultiprocessTestChildExit() instead of
base::Process::WaitForExitWithTimeout() to wait for multiprocess test
child processes to complete. It's identical to WaitForExitWithTimeout()
on macOS/Windows/Linux but also works on Android. (Android tests don't
fork so they use a special process monitoring mechanism.)

Bug: 973167
Change-Id: I3c3f10a155d4ea9058404ae7474cfacdcf2ed402
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1668335
Auto-Submit: Vlad Tsyrklevich <vtsyrklevich@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: default avatarVitaly Buka <vitalybuka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#671908}
parent f2283d7b
...@@ -76,8 +76,8 @@ class SamplingMallocShimsTest : public base::MultiProcessTest { ...@@ -76,8 +76,8 @@ class SamplingMallocShimsTest : public base::MultiProcessTest {
void runTest(const char* name) { void runTest(const char* name) {
base::Process process = SpawnChild(name); base::Process process = SpawnChild(name);
int exit_code = -1; int exit_code = -1;
ASSERT_TRUE(process.WaitForExitWithTimeout( ASSERT_TRUE(WaitForMultiprocessTestChildExit(
TestTimeouts::action_max_timeout(), &exit_code)); process, TestTimeouts::action_max_timeout(), &exit_code));
EXPECT_EQ(exit_code, kSuccess); EXPECT_EQ(exit_code, kSuccess);
} }
}; };
......
...@@ -63,8 +63,8 @@ class SamplingPartitionAllocShimsTest : public base::MultiProcessTest { ...@@ -63,8 +63,8 @@ class SamplingPartitionAllocShimsTest : public base::MultiProcessTest {
void runTest(const char* name) { void runTest(const char* name) {
base::Process process = SpawnChild(name); base::Process process = SpawnChild(name);
int exit_code = -1; int exit_code = -1;
ASSERT_TRUE(process.WaitForExitWithTimeout( ASSERT_TRUE(WaitForMultiprocessTestChildExit(
TestTimeouts::action_max_timeout(), &exit_code)); process, TestTimeouts::action_max_timeout(), &exit_code));
EXPECT_EQ(exit_code, kSuccess); EXPECT_EQ(exit_code, kSuccess);
} }
}; };
......
...@@ -224,8 +224,8 @@ class CrashHandlerTest : public base::MultiProcessTest, ...@@ -224,8 +224,8 @@ class CrashHandlerTest : public base::MultiProcessTest,
base::SpawnMultiProcessTestChild("CrashingProcess", cmd_line, options); base::SpawnMultiProcessTestChild("CrashingProcess", cmd_line, options);
int exit_code = -1; int exit_code = -1;
EXPECT_TRUE(process.WaitForExitWithTimeout( EXPECT_TRUE(WaitForMultiprocessTestChildExit(
TestTimeouts::action_max_timeout(), &exit_code)); process, TestTimeouts::action_max_timeout(), &exit_code));
EXPECT_NE(exit_code, kSuccess); EXPECT_NE(exit_code, kSuccess);
return (exit_code != kSuccess); return (exit_code != kSuccess);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment