Chromium Code Reviews| Index: tools/isolate/run_test_cases_smoke_test.py |
| diff --git a/tools/isolate/run_test_cases_smoke_test.py b/tools/isolate/run_test_cases_smoke_test.py |
| index 6cc413a42ab49c03d259725184e50c2eacccc02a..6424e732088f5299f425b350468dae865ca0a2e1 100755 |
| --- a/tools/isolate/run_test_cases_smoke_test.py |
| +++ b/tools/isolate/run_test_cases_smoke_test.py |
| @@ -13,7 +13,26 @@ import unittest |
| ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) |
| sys.path.append(os.path.join(ROOT_DIR, 'data', 'gtest_fake')) |
| -import gtest_fake |
| +import gtest_fake_base |
| + |
| + |
| +def RunTest(test_file): |
| + target = os.path.join(ROOT_DIR, 'data', 'gtest_fake', test_file) |
| + cmd = [ |
| + sys.executable, |
| + os.path.join(ROOT_DIR, 'run_test_cases.py'), |
| + '--no-dump', |
| + target, |
| + ] |
| + logging.debug(' '.join(cmd)) |
| + proc = subprocess.Popen( |
| + cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
| + # pylint is confused. |
| + out, err = proc.communicate() or ('', '') |
| + |
| + return_code = proc.returncode |
| + |
| + return (out, err, return_code) |
|
M-A Ruel
2012/07/25 16:03:20
Replace lines 32-35 with:
return (out, err, proc.r
csharp
2012/07/25 16:55:22
Done.
|
| class TraceTestCases(unittest.TestCase): |
| @@ -22,23 +41,41 @@ class TraceTestCases(unittest.TestCase): |
| os.environ.pop('GTEST_SHARD_INDEX', '') |
| os.environ.pop('GTEST_TOTAL_SHARDS', '') |
| - def test_simple(self): |
| - target = os.path.join(ROOT_DIR, 'data', 'gtest_fake', 'gtest_fake.py') |
| - cmd = [ |
| - sys.executable, |
| - os.path.join(ROOT_DIR, 'run_test_cases.py'), |
| - '--no-dump', |
| - target, |
| - ] |
| - logging.debug(' '.join(cmd)) |
| - proc = subprocess.Popen( |
| - cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) |
| - # pylint is confused. |
| - out, err = proc.communicate() or ('', '') |
| - self.assertEquals(0, proc.returncode) |
| + def _check_results(self, expected_out_re, out, err): |
| if sys.platform == 'win32': |
| out = out.replace('\r\n', '\n') |
| lines = out.splitlines() |
| + |
| + for index in range(len(expected_out_re)): |
| + line = lines.pop(0) |
| + self.assertTrue( |
| + re.match('^%s$' % expected_out_re[index], line), |
| + (index, expected_out_re[index], repr(line))) |
| + self.assertEquals([], lines) |
| + self.assertEquals('', err) |
| + |
| + def test_simple_pass(self): |
| + out, err, return_code = RunTest('gtest_fake_pass.py') |
| + |
| + self.assertEquals(0, return_code) |
| + |
| + expected_out_re = [ |
| + r'\[\d/\d\] \d\.\d\ds .+', |
| + r'\[\d/\d\] \d\.\d\ds .+', |
| + r'\[\d/\d\] \d\.\d\ds .+', |
| + re.escape('Success: 3 100.00%'), |
| + re.escape('Flaky: 0 0.00%'), |
| + re.escape('Fail: 0 0.00%'), |
| + r'\d+\.\ds Done running 3 tests with 3 executions. \d+\.\d test/s', |
| + ] |
| + |
| + self._check_results(expected_out_re, out, err) |
| + |
| + def test_simple_fail(self): |
| + out, err, return_code = RunTest('gtest_fake_fail.py') |
| + |
| + self.assertEquals(1, return_code) |
| + |
| expected_out_re = [ |
| r'\[\d/\d\] \d\.\d\ds .+', |
| r'\[\d/\d\] \d\.\d\ds .+', |
| @@ -49,11 +86,12 @@ class TraceTestCases(unittest.TestCase): |
| re.escape('Note: Google Test filter = Baz.Fail'), |
| r'', |
| ] + [ |
| - re.escape(l) for l in gtest_fake.get_test_output('Baz.Fail').splitlines() |
| + re.escape(l) for l in |
| + gtest_fake_base.get_test_output('Baz.Fail').splitlines() |
| ] + [ |
| '', |
| ] + [ |
| - re.escape(l) for l in gtest_fake.get_footer(1).splitlines() |
| + re.escape(l) for l in gtest_fake_base.get_footer(1, 1).splitlines() |
| ] + [ |
| '', |
| re.escape('Success: 3 75.00%'), |
| @@ -61,13 +99,7 @@ class TraceTestCases(unittest.TestCase): |
| re.escape('Fail: 1 25.00%'), |
| r'\d+\.\ds Done running 4 tests with 6 executions. \d+\.\d test/s', |
| ] |
| - for index in range(len(expected_out_re)): |
| - line = lines.pop(0) |
| - self.assertTrue( |
| - re.match('^%s$' % expected_out_re[index], line), |
| - (index, expected_out_re[index], repr(line))) |
| - self.assertEquals([], lines) |
| - self.assertEquals('', err) |
| + self._check_results(expected_out_re, out, err) |
| if __name__ == '__main__': |