| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 import json | 6 import json |
| 7 import logging | 7 import logging |
| 8 import os | 8 import os |
| 9 import re | 9 import re |
| 10 import subprocess | 10 import subprocess |
| (...skipping 21 matching lines...) Expand all Loading... |
| 32 out, err = proc.communicate() or ('', '') | 32 out, err = proc.communicate() or ('', '') |
| 33 | 33 |
| 34 return (out, err, proc.returncode) | 34 return (out, err, proc.returncode) |
| 35 | 35 |
| 36 | 36 |
| 37 class TraceTestCases(unittest.TestCase): | 37 class TraceTestCases(unittest.TestCase): |
| 38 def setUp(self): | 38 def setUp(self): |
| 39 # Make sure there's no environment variable that could do side effects. | 39 # Make sure there's no environment variable that could do side effects. |
| 40 os.environ.pop('GTEST_SHARD_INDEX', '') | 40 os.environ.pop('GTEST_SHARD_INDEX', '') |
| 41 os.environ.pop('GTEST_TOTAL_SHARDS', '') | 41 os.environ.pop('GTEST_TOTAL_SHARDS', '') |
| 42 os.environ.pop('CHROME_DEVEL_SANDBOX','') |
| 42 | 43 |
| 43 self.filename = 'test.results' | 44 self.filename = 'test.results' |
| 44 | 45 |
| 45 def tearDown(self): | 46 def tearDown(self): |
| 46 if os.path.exists(self.filename): | 47 if os.path.exists(self.filename): |
| 47 os.remove(self.filename) | 48 os.remove(self.filename) |
| 48 | 49 |
| 49 def _check_results(self, expected_out_re, out, err): | 50 def _check_results(self, expected_out_re, out, err): |
| 50 if sys.platform == 'win32': | 51 if sys.platform == 'win32': |
| 51 out = out.replace('\r\n', '\n') | 52 out = out.replace('\r\n', '\n') |
| (...skipping 18 matching lines...) Expand all Loading... |
| 70 self.assertTrue(entry_name in file_contents) | 71 self.assertTrue(entry_name in file_contents) |
| 71 self.assertEqual(entry_count, len(file_contents[entry_name])) | 72 self.assertEqual(entry_count, len(file_contents[entry_name])) |
| 72 | 73 |
| 73 def test_simple_pass(self): | 74 def test_simple_pass(self): |
| 74 out, err, return_code = RunTest( | 75 out, err, return_code = RunTest( |
| 75 'gtest_fake_pass.py', ['--result', self.filename]) | 76 'gtest_fake_pass.py', ['--result', self.filename]) |
| 76 | 77 |
| 77 self.assertEquals(0, return_code) | 78 self.assertEquals(0, return_code) |
| 78 | 79 |
| 79 expected_out_re = [ | 80 expected_out_re = [ |
| 81 r'Disabling sandbox. Setting environment variable:', |
| 82 r' CHROME_DEVEL_SANDBOX=""', |
| 80 r'\[\d/\d\] \d\.\d\ds .+', | 83 r'\[\d/\d\] \d\.\d\ds .+', |
| 81 r'\[\d/\d\] \d\.\d\ds .+', | 84 r'\[\d/\d\] \d\.\d\ds .+', |
| 82 r'\[\d/\d\] \d\.\d\ds .+', | 85 r'\[\d/\d\] \d\.\d\ds .+', |
| 83 re.escape('Summary:'), | 86 re.escape('Summary:'), |
| 84 re.escape('Success: 3 100.00%'), | 87 re.escape('Success: 3 100.00%'), |
| 85 re.escape('Flaky: 0 0.00%'), | 88 re.escape('Flaky: 0 0.00%'), |
| 86 re.escape('Fail: 0 0.00%'), | 89 re.escape('Fail: 0 0.00%'), |
| 87 r'\d+\.\ds Done running 3 tests with 3 executions. \d+\.\d test/s', | 90 r'\d+\.\ds Done running 3 tests with 3 executions. \d+\.\d test/s', |
| 88 ] | 91 ] |
| 89 self._check_results(expected_out_re, out, err) | 92 self._check_results(expected_out_re, out, err) |
| 90 | 93 |
| 91 expected_result_file_entries = [ | 94 expected_result_file_entries = [ |
| 92 ('Foo.Bar1', 1), | 95 ('Foo.Bar1', 1), |
| 93 ('Foo.Bar2', 1), | 96 ('Foo.Bar2', 1), |
| 94 ('Foo.Bar3', 1) | 97 ('Foo.Bar3', 1) |
| 95 ] | 98 ] |
| 96 self._check_results_file(expected_result_file_entries) | 99 self._check_results_file(expected_result_file_entries) |
| 97 | 100 |
| 98 def test_simple_fail(self): | 101 def test_simple_fail(self): |
| 99 out, err, return_code = RunTest( | 102 out, err, return_code = RunTest( |
| 100 'gtest_fake_fail.py', ['--result', self.filename]) | 103 'gtest_fake_fail.py', ['--result', self.filename]) |
| 101 | 104 |
| 102 self.assertEquals(1, return_code) | 105 self.assertEquals(1, return_code) |
| 103 | 106 |
| 104 expected_out_re = [ | 107 expected_out_re = [ |
| 108 r'Disabling sandbox. Setting environment variable:', |
| 109 r' CHROME_DEVEL_SANDBOX=""', |
| 105 r'\[\d/\d\] \d\.\d\ds .+', | 110 r'\[\d/\d\] \d\.\d\ds .+', |
| 106 r'\[\d/\d\] \d\.\d\ds .+', | 111 r'\[\d/\d\] \d\.\d\ds .+', |
| 107 r'\[\d/\d\] \d\.\d\ds .+', | 112 r'\[\d/\d\] \d\.\d\ds .+', |
| 108 r'\[\d/\d\] \d\.\d\ds .+', | 113 r'\[\d/\d\] \d\.\d\ds .+', |
| 109 r'\[\d/\d\] \d\.\d\ds .+', | 114 r'\[\d/\d\] \d\.\d\ds .+', |
| 110 r'\[\d/\d\] \d\.\d\ds .+', | 115 r'\[\d/\d\] \d\.\d\ds .+', |
| 111 re.escape('Note: Google Test filter = Baz.Fail'), | 116 re.escape('Note: Google Test filter = Baz.Fail'), |
| 112 r'', | 117 r'', |
| 113 ] + [ | 118 ] + [ |
| 114 re.escape(l) for l in | 119 re.escape(l) for l in |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 149 ] | 154 ] |
| 150 | 155 |
| 151 self.assertEqual(1, return_code) | 156 self.assertEqual(1, return_code) |
| 152 self._check_results(expected_out_re, out, err) | 157 self._check_results(expected_out_re, out, err) |
| 153 | 158 |
| 154 | 159 |
| 155 if __name__ == '__main__': | 160 if __name__ == '__main__': |
| 156 VERBOSE = '-v' in sys.argv | 161 VERBOSE = '-v' in sys.argv |
| 157 logging.basicConfig(level=logging.DEBUG if VERBOSE else logging.ERROR) | 162 logging.basicConfig(level=logging.DEBUG if VERBOSE else logging.ERROR) |
| 158 unittest.main() | 163 unittest.main() |
| OLD | NEW |