diff options
Diffstat (limited to 'chromeos/process_proxy/process_output_watcher_unittest.cc')
-rw-r--r-- | chromeos/process_proxy/process_output_watcher_unittest.cc | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/chromeos/process_proxy/process_output_watcher_unittest.cc b/chromeos/process_proxy/process_output_watcher_unittest.cc index 7a86d6a..529ba18 100644 --- a/chromeos/process_proxy/process_output_watcher_unittest.cc +++ b/chromeos/process_proxy/process_output_watcher_unittest.cc @@ -105,6 +105,15 @@ class ProcessOutputWatcherTest : public testing::Test { void OnRead(ProcessOutputType type, const std::string& output) { ASSERT_FALSE(failed_); + // There may be an EXIT signal sent during test tear down (which is sent + // by process output watcher when master end of test pseudo-terminal is + // closed). If this happens, ignore it. If EXIT is seen before test + // expectations are met, fall through in order to fail the test. + if (type == PROCESS_OUTPUT_TYPE_EXIT && expectations_.IsDone()) { + ASSERT_TRUE(test_case_done_callback_.is_null()); + return; + } + failed_ = !expectations_.CheckExpectations(output, type); if (failed_ || expectations_.IsDone()) { ASSERT_FALSE(test_case_done_callback_.is_null()); @@ -176,8 +185,7 @@ class ProcessOutputWatcherTest : public testing::Test { std::vector<TestCase> exp; }; -// http://crbug.com/396496 -TEST_F(ProcessOutputWatcherTest, DISABLED_OutputWatcher) { +TEST_F(ProcessOutputWatcherTest, OutputWatcher) { std::vector<TestCase> test_cases; test_cases.push_back(TestCase("t", false)); test_cases.push_back(TestCase("testing output\n", false)); @@ -192,8 +200,7 @@ TEST_F(ProcessOutputWatcherTest, DISABLED_OutputWatcher) { RunTest(test_cases); } -// http://crbug.com/396496 -TEST_F(ProcessOutputWatcherTest, DISABLED_SplitUTF8Character) { +TEST_F(ProcessOutputWatcherTest, SplitUTF8Character) { std::vector<TestCase> test_cases; test_cases.push_back(TestCase("test1\xc2", false, "test1")); test_cases.push_back(TestCase("\xb5test1", false, "\xc2\xb5test1")); @@ -201,8 +208,7 @@ TEST_F(ProcessOutputWatcherTest, DISABLED_SplitUTF8Character) { RunTest(test_cases); } -// http://crbug.com/396496 -TEST_F(ProcessOutputWatcherTest, DISABLED_SplitSoleUTF8Character) { +TEST_F(ProcessOutputWatcherTest, SplitSoleUTF8Character) { std::vector<TestCase> test_cases; test_cases.push_back(TestCase("\xc2", false, "")); test_cases.push_back(TestCase("\xb5", false, "\xc2\xb5")); @@ -210,8 +216,7 @@ TEST_F(ProcessOutputWatcherTest, DISABLED_SplitSoleUTF8Character) { RunTest(test_cases); } -// http://crbug.com/396496 -TEST_F(ProcessOutputWatcherTest, DISABLED_SplitUTF8CharacterLength3) { +TEST_F(ProcessOutputWatcherTest, SplitUTF8CharacterLength3) { std::vector<TestCase> test_cases; test_cases.push_back(TestCase("test3\xe2\x82", false, "test3")); test_cases.push_back(TestCase("\xac", false, "\xe2\x82\xac")); @@ -219,8 +224,7 @@ TEST_F(ProcessOutputWatcherTest, DISABLED_SplitUTF8CharacterLength3) { RunTest(test_cases); } -// http://crbug.com/396496 -TEST_F(ProcessOutputWatcherTest, DISABLED_SplitSoleUTF8CharacterThreeWays) { +TEST_F(ProcessOutputWatcherTest, SplitSoleUTF8CharacterThreeWays) { std::vector<TestCase> test_cases; test_cases.push_back(TestCase("\xe2", false, "")); test_cases.push_back(TestCase("\x82", false, "")); @@ -258,8 +262,7 @@ TEST_F(ProcessOutputWatcherTest, MulitByteUTF8CharNullTerminated) { RunTest(test_cases); } -// http://crbug.com/396496 -TEST_F(ProcessOutputWatcherTest, DISABLED_MultipleMultiByteUTF8Characters) { +TEST_F(ProcessOutputWatcherTest, MultipleMultiByteUTF8Characters) { std::vector<TestCase> test_cases; test_cases.push_back( TestCase("test\xe2\x82\xac\xc2", false, "test\xe2\x82\xac")); @@ -275,8 +278,7 @@ TEST_F(ProcessOutputWatcherTest, ContainsInvalidUTF8) { RunTest(test_cases); } -// http://crbug.com/396496 -TEST_F(ProcessOutputWatcherTest, DISABLED_InvalidUTF8SeriesOfTrailingBytes) { +TEST_F(ProcessOutputWatcherTest, InvalidUTF8SeriesOfTrailingBytes) { std::vector<TestCase> test_cases; test_cases.push_back(TestCase("\x82\x82\x82", false, "\x82\x82\x82")); test_cases.push_back(TestCase("\x82\x82\x82", false, "\x82\x82\x82")); @@ -291,8 +293,7 @@ TEST_F(ProcessOutputWatcherTest, EndsWithInvalidUTF8) { RunTest(test_cases); } -// http://crbug.com/396496 -TEST_F(ProcessOutputWatcherTest, DISABLED_FourByteUTF8) { +TEST_F(ProcessOutputWatcherTest, FourByteUTF8) { std::vector<TestCase> test_cases; test_cases.push_back(TestCase("\xf0\xa4\xad", false, "")); test_cases.push_back(TestCase("\xa2", false, "\xf0\xa4\xad\xa2")); @@ -302,8 +303,7 @@ TEST_F(ProcessOutputWatcherTest, DISABLED_FourByteUTF8) { // Verifies that sending '\0' generates PROCESS_OUTPUT_TYPE_OUT event and does // not terminate output watcher. -// http://crbug.com/396496 -TEST_F(ProcessOutputWatcherTest, DISABLED_SendNull) { +TEST_F(ProcessOutputWatcherTest, SendNull) { std::vector<TestCase> test_cases; // This will send '\0' to output watcher. test_cases.push_back(TestCase("", true)); |