| OLD | NEW |
| (Empty) |
| 1 # Copyright 2013 The Chromium Authors. All rights reserved. | |
| 2 # Use of this source code is governed by a BSD-style license that can be | |
| 3 # found in the LICENSE file. | |
| 4 | |
| 5 """Provide common functionality to simulate a google-test executable. | |
| 6 | |
| 7 http://code.google.com/p/googletest/ | |
| 8 """ | |
| 9 | |
| 10 import optparse | |
| 11 import sys | |
| 12 | |
| 13 | |
| 14 def get_test_output_inner(test_name, failed, duration='100'): | |
| 15 fixture, case = test_name.split('.', 1) | |
| 16 return ( | |
| 17 '[ RUN ] %(fixture)s.%(case)s\n' | |
| 18 '%(result)s %(fixture)s.%(case)s (%(duration)s ms)\n') % { | |
| 19 'case': case, | |
| 20 'duration': duration, | |
| 21 'fixture': fixture, | |
| 22 'result': '[ FAILED ]' if failed else '[ OK ]', | |
| 23 } | |
| 24 | |
| 25 def get_test_output(test_name, failed, duration='100'): | |
| 26 fixture, _ = test_name.split('.', 1) | |
| 27 return ( | |
| 28 '[==========] Running 1 test from 1 test case.\n' | |
| 29 '[----------] Global test environment set-up.\n' | |
| 30 '%(content)s' | |
| 31 '[----------] 1 test from %(fixture)s\n' | |
| 32 '[----------] 1 test from %(fixture)s (%(duration)s ms total)\n' | |
| 33 '\n') % { | |
| 34 'content': get_test_output_inner(test_name, failed, duration), | |
| 35 'duration': duration, | |
| 36 'fixture': fixture, | |
| 37 } | |
| 38 | |
| 39 | |
| 40 def get_footer(number, total): | |
| 41 return ( | |
| 42 '[----------] Global test environment tear-down\n' | |
| 43 '[==========] %(number)d test from %(total)d test case ran. (30 ms total)\n' | |
| 44 '[ PASSED ] %(number)d test.\n' | |
| 45 '\n' | |
| 46 ' YOU HAVE 5 DISABLED TESTS\n') % { | |
| 47 'number': number, | |
| 48 'total': total, | |
| 49 } | |
| 50 | |
| 51 | |
| 52 def parse_args(all_tests, need_arg): | |
| 53 """Creates a generic google-test like python script.""" | |
| 54 parser = optparse.OptionParser() | |
| 55 parser.add_option('--gtest_list_tests', action='store_true') | |
| 56 parser.add_option('--gtest_print_time', action='store_true') | |
| 57 parser.add_option('--gtest_filter') | |
| 58 options, args = parser.parse_args() | |
| 59 if need_arg != len(args): | |
| 60 parser.error( | |
| 61 'Expected %d arguments, got %d; %s' % ( | |
| 62 need_arg, len(args), ' '.join(args))) | |
| 63 | |
| 64 if options.gtest_list_tests: | |
| 65 for fixture, cases in all_tests.iteritems(): | |
| 66 print '%s.' % fixture | |
| 67 for case in cases: | |
| 68 print ' ' + case | |
| 69 sys.exit(0) | |
| 70 | |
| 71 if options.gtest_filter: | |
| 72 print 'Note: Google Test filter = %s\n' % options.gtest_filter | |
| 73 test_cases = options.gtest_filter.split(':') | |
| 74 else: | |
| 75 test_cases = sum(( | |
| 76 ['%s.%s' % (f, c) for c in all_tests[f]] for f in all_tests), []) | |
| 77 return sorted(test_cases), args | |
| OLD | NEW |