OLD | NEW |
(Empty) | |
| 1 # Copyright 2014 the V8 project 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 import os |
| 6 import shutil |
| 7 |
| 8 from testrunner.local import commands |
| 9 from testrunner.local import testsuite |
| 10 from testrunner.local import utils |
| 11 from testrunner.objects import testcase |
| 12 |
| 13 |
| 14 class UnitTestsSuite(testsuite.TestSuite): |
| 15 def __init__(self, name, root): |
| 16 super(UnitTestsSuite, self).__init__(name, root) |
| 17 |
| 18 def ListTests(self, context): |
| 19 shell = os.path.abspath(os.path.join(context.shell_dir, self.shell())) |
| 20 if utils.IsWindows(): |
| 21 shell += ".exe" |
| 22 output = commands.Execute(context.command_prefix + |
| 23 [shell, "--gtest_list_tests"] + |
| 24 context.extra_flags) |
| 25 if output.exit_code != 0: |
| 26 print output.stdout |
| 27 print output.stderr |
| 28 return [] |
| 29 tests = [] |
| 30 test_case = '' |
| 31 for test_desc in output.stdout.strip().split(): |
| 32 if test_desc.endswith('.'): |
| 33 test_case = test_desc |
| 34 else: |
| 35 test = testcase.TestCase(self, test_case + test_desc, dependency=None) |
| 36 tests.append(test) |
| 37 tests.sort() |
| 38 return tests |
| 39 |
| 40 def GetFlagsForTestCase(self, testcase, context): |
| 41 return (testcase.flags + ["--gtest_filter=" + testcase.path] + |
| 42 ["--gtest_random_seed=%s" % context.random_seed] + |
| 43 ["--gtest_print_time=0"] + |
| 44 context.mode_flags) |
| 45 |
| 46 def shell(self): |
| 47 return "unittests" |
| 48 |
| 49 |
| 50 def GetSuite(name, root): |
| 51 return UnitTestsSuite(name, root) |
OLD | NEW |