Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 | 4 |
| 5 import re | |
| 6 | |
| 7 | |
| 5 def gtest_list_tests(gtest_list_tests_output): | 8 def gtest_list_tests(gtest_list_tests_output): |
| 6 """Returns a list of strings formatted as TestSuite.TestFixture from the | 9 """Returns a list of strings formatted as TestSuite.TestFixture from the |
| 7 output of running --gtest_list_tests on a GTEST application.""" | 10 output of running --gtest_list_tests on a GTEST application.""" |
| 8 | 11 |
| 12 if not re.match("^(\w*\.\r?\n( \w*\r?\n)+)+", gtest_list_tests_output): | |
| 13 raise Exception ("Unrecognized --gtest_list_tests output:\n%s" % | |
|
viettrungluu
2014/11/24 20:22:58
nit: No space before '('.
msw
2014/11/24 20:47:31
Done.
| |
| 14 gtest_list_tests_output) | |
| 15 | |
| 9 output_lines = gtest_list_tests_output.split('\n') | 16 output_lines = gtest_list_tests_output.split('\n') |
| 10 | 17 |
| 11 test_list = [] | 18 test_list = [] |
| 12 for line in output_lines: | 19 for line in output_lines: |
| 13 if not line: | 20 if not line: |
| 14 continue | 21 continue |
| 15 if line[0] != ' ': | 22 if line[0] != ' ': |
| 16 suite = line.strip() | 23 suite = line.strip() |
| 17 continue | 24 continue |
| 18 test_list.append(suite + line.strip()) | 25 test_list.append(suite + line.strip()) |
| 19 | 26 |
| 20 return test_list | 27 return test_list |
| OLD | NEW |