OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 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 | 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 """Setup for linker tests.""" | 5 """Setup for linker tests.""" |
6 | 6 |
7 import os | 7 import os |
8 import sys | 8 import sys |
| 9 import types |
| 10 |
| 11 import test_case |
| 12 import test_runner |
9 | 13 |
10 from pylib import constants | 14 from pylib import constants |
11 from pylib.linker import test_case | |
12 from pylib.linker import test_runner | |
13 | 15 |
14 sys.path.insert(0, | 16 sys.path.insert(0, |
15 os.path.join(constants.DIR_SOURCE_ROOT, 'build', 'util', 'lib', | 17 os.path.join(constants.DIR_SOURCE_ROOT, 'build', 'util', 'lib', |
16 'common')) | 18 'common')) |
17 import unittest_util # pylint: disable=F0401 | 19 import unittest_util |
18 | 20 |
19 def Setup(options, _devices): | 21 def Setup(options, devices): |
20 """Creates a list of test cases and a runner factory. | 22 """Creates a list of test cases and a runner factory. |
21 | 23 |
22 Returns: | 24 Returns: |
23 A tuple of (TestRunnerFactory, tests). | 25 A tuple of (TestRunnerFactory, tests). |
24 """ | 26 """ |
25 test_cases = [ | 27 test_cases = [ |
26 test_case.LinkerLibraryAddressTest, | 28 test_case.LinkerLibraryAddressTest, |
27 test_case.LinkerSharedRelroTest, | 29 test_case.LinkerSharedRelroTest, |
28 test_case.LinkerRandomizationTest ] | 30 test_case.LinkerRandomizationTest ] |
29 | 31 |
30 low_memory_modes = [False, True] | 32 low_memory_modes = [False, True] |
31 all_tests = [t(is_low_memory=m) for t in test_cases for m in low_memory_modes] | 33 all_tests = [t(is_low_memory=m) for t in test_cases for m in low_memory_modes] |
32 | 34 |
33 if options.test_filter: | 35 if options.test_filter: |
34 all_test_names = [ test.qualified_name for test in all_tests ] | 36 all_test_names = [ test.qualified_name for test in all_tests ] |
35 filtered_test_names = unittest_util.FilterTestNames(all_test_names, | 37 filtered_test_names = unittest_util.FilterTestNames(all_test_names, |
36 options.test_filter) | 38 options.test_filter) |
37 all_tests = [t for t in all_tests \ | 39 all_tests = [t for t in all_tests \ |
38 if t.qualified_name in filtered_test_names] | 40 if t.qualified_name in filtered_test_names] |
39 | 41 |
40 def TestRunnerFactory(device, _shard_index): | 42 def TestRunnerFactory(device, shard_index): |
41 return test_runner.LinkerTestRunner( | 43 return test_runner.LinkerTestRunner( |
42 device, options.tool, options.push_deps, | 44 device, options.tool, options.push_deps, |
43 options.cleanup_test_files) | 45 options.cleanup_test_files) |
44 | 46 |
45 return (TestRunnerFactory, all_tests) | 47 return (TestRunnerFactory, all_tests) |
OLD | NEW |