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 |