Index: base/process/process_unittest.cc |
diff --git a/base/process/process_unittest.cc b/base/process/process_unittest.cc |
index 90bb95a0fe9b04964cedb716629bb42e3058741f..c994eee1f6570c231afafcf645389bc22e6c6226 100644 |
--- a/base/process/process_unittest.cc |
+++ b/base/process/process_unittest.cc |
@@ -148,6 +148,36 @@ TEST_F(ProcessTest, Terminate) { |
#endif |
} |
+MULTIPROCESS_TEST_MAIN(TerminateCurrentProcessImmediatelyWithCode0) { |
+ Process::TerminateCurrentProcessImmediately(0); |
Nico
2017/02/07 15:19:34
maybe this test should register an atexit handler
Primiano Tucci (use gerrit)
2017/02/07 15:48:11
oh very good point. I guess you could both:
- regi
|
+ NOTREACHED(); |
+ return 42; |
+} |
+ |
+TEST_F(ProcessTest, TerminateCurrentProcessImmediatelyWithZeroExitCode) { |
+ Process process(SpawnChild("TerminateCurrentProcessImmediatelyWithCode0")); |
+ ASSERT_TRUE(process.IsValid()); |
+ int exit_code = 42; |
+ ASSERT_TRUE(process.WaitForExitWithTimeout(TestTimeouts::action_max_timeout(), |
+ &exit_code)); |
+ EXPECT_EQ(0, exit_code); |
+} |
+ |
+MULTIPROCESS_TEST_MAIN(TerminateCurrentProcessImmediatelyWithCode250) { |
+ Process::TerminateCurrentProcessImmediately(250); |
+ NOTREACHED(); |
+ return 42; |
+} |
+ |
+TEST_F(ProcessTest, TerminateCurrentProcessImmediatelyWithNonZeroExitCode) { |
+ Process process(SpawnChild("TerminateCurrentProcessImmediatelyWithCode250")); |
+ ASSERT_TRUE(process.IsValid()); |
+ int exit_code = 42; |
+ ASSERT_TRUE(process.WaitForExitWithTimeout(TestTimeouts::action_max_timeout(), |
+ &exit_code)); |
+ EXPECT_EQ(250, exit_code); |
+} |
+ |
MULTIPROCESS_TEST_MAIN(FastSleepyChildProcess) { |
PlatformThread::Sleep(TestTimeouts::tiny_timeout() * 10); |
return 0; |