| 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 shutil | 10 import shutil |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 238 expected_out_re = [] | 238 expected_out_re = [] |
| 239 test_cases = ( | 239 test_cases = ( |
| 240 'Foo.Bar2', | 240 'Foo.Bar2', |
| 241 'Foo.Bar1', | 241 'Foo.Bar1', |
| 242 'Foo.Bar/3', | 242 'Foo.Bar/3', |
| 243 ) | 243 ) |
| 244 | 244 |
| 245 for index, name in enumerate(test_cases): | 245 for index, name in enumerate(test_cases): |
| 246 expected_out_re.append( | 246 expected_out_re.append( |
| 247 r'\[%d/\d\] \d\.\d\ds ' % (index + 1) + re.escape(name) + ' .+') | 247 r'\[%d/\d\] \d\.\d\ds ' % (index + 1) + re.escape(name) + ' .+') |
| 248 expected_out_re.append(re.escape('Note: Google Test filter = ' + name)) | |
| 249 expected_out_re.append('') | |
| 250 expected_out_re.extend( | 248 expected_out_re.extend( |
| 251 re.escape(l) for l in | 249 re.escape(l) for l in |
| 252 gtest_fake_base.get_test_output(name, False).splitlines()) | 250 gtest_fake_base.get_test_output_inner(name, False).splitlines()) |
| 253 expected_out_re.append('') | |
| 254 expected_out_re.extend( | |
| 255 re.escape(l) for l in gtest_fake_base.get_footer(1, 1).splitlines()) | |
| 256 expected_out_re.append('') | |
| 257 expected_out_re.append('') | 251 expected_out_re.append('') |
| 258 | 252 |
| 259 expected_out_re.extend([ | 253 expected_out_re.extend([ |
| 260 re.escape('Summary:'), | 254 re.escape('Summary:'), |
| 261 re.escape(' Success: 3 100.00%') + r' +\d+\.\d\ds', | 255 re.escape(' Success: 3 100.00%') + r' +\d+\.\d\ds', |
| 262 re.escape(' Flaky: 0 0.00%') + r' +\d+\.\d\ds', | 256 re.escape(' Flaky: 0 0.00%') + r' +\d+\.\d\ds', |
| 263 re.escape(' Fail: 0 0.00%') + r' +\d+\.\d\ds', | 257 re.escape(' Fail: 0 0.00%') + r' +\d+\.\d\ds', |
| 264 r' \d+\.\d\ds Done running 3 tests with 3 executions. \d+\.\d\d test/s', | 258 r' \d+\.\d\ds Done running 3 tests with 3 executions. \d+\.\d\d test/s', |
| 265 ]) | 259 ]) |
| 266 self._check_results(expected_out_re, out, '') | 260 self._check_results(expected_out_re, out, '') |
| (...skipping 29 matching lines...) Expand all Loading... |
| 296 # Linearize execution. | 290 # Linearize execution. |
| 297 '--clusters', '1', | 291 '--clusters', '1', |
| 298 '--jobs', '1', | 292 '--jobs', '1', |
| 299 '--result', self.filename, | 293 '--result', self.filename, |
| 300 os.path.join(ROOT_DIR, 'tests', 'gtest_fake', 'gtest_fake_fail.py'), | 294 os.path.join(ROOT_DIR, 'tests', 'gtest_fake', 'gtest_fake_fail.py'), |
| 301 ]) | 295 ]) |
| 302 | 296 |
| 303 self.assertEqual(1, return_code) | 297 self.assertEqual(1, return_code) |
| 304 | 298 |
| 305 test_failure_output = [ | 299 test_failure_output = [ |
| 306 re.escape('Note: Google Test filter = Baz.Fail'), | 300 re.escape(l) for l in |
| 307 r'', | 301 gtest_fake_base.get_test_output_inner('Baz.Fail', True).splitlines() |
| 308 ] + [ | 302 ] + [ |
| 309 re.escape(l) for l in | |
| 310 gtest_fake_base.get_test_output('Baz.Fail', True).splitlines() | |
| 311 ] + [ | |
| 312 '', | |
| 313 ] + [ | |
| 314 re.escape(l) for l in gtest_fake_base.get_footer(1, 1).splitlines() | |
| 315 ] + [ | |
| 316 '', | |
| 317 '', | 303 '', |
| 318 ] | 304 ] |
| 319 | 305 |
| 320 expected_out_re = [ | 306 expected_out_re = [ |
| 321 r'\[1/\d\] \d\.\d\ds .+', | 307 r'\[1/\d\] \d\.\d\ds .+', |
| 322 r'\[2/\d\] \d\.\d\ds .+', | 308 r'\[2/\d\] \d\.\d\ds .+', |
| 323 r'\[3/\d\] \d\.\d\ds .+', | 309 r'\[3/\d\] \d\.\d\ds .+', |
| 324 r'\[4/\d\] \d\.\d\ds .+', | 310 r'\[4/\d\] \d\.\d\ds .+', |
| 325 ] + test_failure_output + [ | 311 ] + test_failure_output + [ |
| 326 # Retries | 312 # Retries |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 377 ) | 363 ) |
| 378 | 364 |
| 379 for index, name in enumerate(test_cases): | 365 for index, name in enumerate(test_cases): |
| 380 if index + 1 == len(test_cases): | 366 if index + 1 == len(test_cases): |
| 381 # We are about to retry the test serially, so check for the warning. | 367 # We are about to retry the test serially, so check for the warning. |
| 382 expected_out_re.extend( | 368 expected_out_re.extend( |
| 383 re.escape(l) for l in run_test_cases.running_serial_warning()) | 369 re.escape(l) for l in run_test_cases.running_serial_warning()) |
| 384 | 370 |
| 385 expected_out_re.append( | 371 expected_out_re.append( |
| 386 r'\[%d/\d\] \d\.\d\ds ' % (index + 1) + re.escape(name) + ' .+') | 372 r'\[%d/\d\] \d\.\d\ds ' % (index + 1) + re.escape(name) + ' .+') |
| 387 expected_out_re.append(re.escape('Note: Google Test filter = ' + name)) | |
| 388 expected_out_re.append('') | |
| 389 expected_out_re.extend( | 373 expected_out_re.extend( |
| 390 re.escape(l) for l in | 374 re.escape(l) |
| 391 gtest_fake_base.get_test_output(name, 'Fail' in name).splitlines()) | 375 for l in gtest_fake_base.get_test_output_inner( |
| 392 expected_out_re.append('') | 376 name, 'Fail' in name).splitlines()) |
| 393 expected_out_re.extend( | |
| 394 re.escape(l) for l in gtest_fake_base.get_footer(1, 1).splitlines()) | |
| 395 expected_out_re.append('') | |
| 396 expected_out_re.append('') | 377 expected_out_re.append('') |
| 397 | 378 |
| 398 expected_out_re.extend([ | 379 expected_out_re.extend([ |
| 399 re.escape('Failed tests:'), | 380 re.escape('Failed tests:'), |
| 400 re.escape(' Baz.Fail'), | 381 re.escape(' Baz.Fail'), |
| 401 re.escape('Summary:'), | 382 re.escape('Summary:'), |
| 402 re.escape(' Success: 3 75.00%') + r' +\d+\.\d\ds', | 383 re.escape(' Success: 3 75.00%') + r' +\d+\.\d\ds', |
| 403 re.escape(' Flaky: 0 0.00%') + r' +\d+\.\d\ds', | 384 re.escape(' Flaky: 0 0.00%') + r' +\d+\.\d\ds', |
| 404 re.escape(' Fail: 1 25.00%') + r' +\d+\.\d\ds', | 385 re.escape(' Fail: 1 25.00%') + r' +\d+\.\d\ds', |
| 405 r' \d+\.\d\ds Done running 4 tests with 6 executions. \d+\.\d\d test/s', | 386 r' \d+\.\d\ds Done running 4 tests with 6 executions. \d+\.\d\d test/s', |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 524 self.fail() | 505 self.fail() |
| 525 expected_xml = load_xml_as_string_and_filter( | 506 expected_xml = load_xml_as_string_and_filter( |
| 526 os.path.join(ROOT_DIR, 'tests', 'gtest_fake', 'expected.xml')) | 507 os.path.join(ROOT_DIR, 'tests', 'gtest_fake', 'expected.xml')) |
| 527 self.assertEqual(expected_xml, actual_xml) | 508 self.assertEqual(expected_xml, actual_xml) |
| 528 | 509 |
| 529 | 510 |
| 530 if __name__ == '__main__': | 511 if __name__ == '__main__': |
| 531 VERBOSE = '-v' in sys.argv | 512 VERBOSE = '-v' in sys.argv |
| 532 logging.basicConfig(level=logging.DEBUG if VERBOSE else logging.ERROR) | 513 logging.basicConfig(level=logging.DEBUG if VERBOSE else logging.ERROR) |
| 533 unittest.main() | 514 unittest.main() |
| OLD | NEW |