Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(53)

Side by Side Diff: build/android/pylib/linker/setup.py

Issue 2605793002: [android] Convert linker tests to platform mode. (Closed)
Patch Set: mikecase comment Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(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 """Setup for linker tests."""
6
7 import logging
8
9 from pylib.constants import host_paths
10 from pylib.linker import test_case
11 from pylib.linker import test_runner
12
13 with host_paths.SysPath(host_paths.BUILD_COMMON_PATH):
14 import unittest_util # pylint: disable=import-error
15
16 # ModernLinker requires Android M (API level 23) or later.
17 _VERSION_SDK_PROPERTY = 'ro.build.version.sdk'
18 _MODERN_LINKER_MINIMUM_SDK_INT = 23
19
20 def Setup(args, devices):
21 """Creates a list of test cases and a runner factory.
22
23 Args:
24 args: an argparse.Namespace object.
25 devices: an iterable of available devices.
26 Returns:
27 A tuple of (TestRunnerFactory, tests).
28 """
29 legacy_linker_tests = [
30 test_case.LinkerSharedRelroTest(is_modern_linker=False,
31 is_low_memory=False),
32 test_case.LinkerSharedRelroTest(is_modern_linker=False,
33 is_low_memory=True),
34 ]
35 modern_linker_tests = [
36 test_case.LinkerSharedRelroTest(is_modern_linker=True),
37 ]
38
39 min_sdk_int = 1 << 31
40 for device in devices:
41 min_sdk_int = min(min_sdk_int, device.build_version_sdk)
42
43 if min_sdk_int >= _MODERN_LINKER_MINIMUM_SDK_INT:
44 all_tests = legacy_linker_tests + modern_linker_tests
45 else:
46 all_tests = legacy_linker_tests
47 logging.warn('Not running LinkerModern tests (requires API %d, found %d)',
48 _MODERN_LINKER_MINIMUM_SDK_INT, min_sdk_int)
49
50 if args.test_filter:
51 all_test_names = [test.qualified_name for test in all_tests]
52 filtered_test_names = unittest_util.FilterTestNames(all_test_names,
53 args.test_filter)
54 all_tests = [t for t in all_tests \
55 if t.qualified_name in filtered_test_names]
56
57 def TestRunnerFactory(device, _shard_index):
58 return test_runner.LinkerTestRunner(device, args.tool)
59
60 return (TestRunnerFactory, all_tests)
OLDNEW
« no previous file with comments | « build/android/pylib/linker/linker_test_instance.py ('k') | build/android/pylib/linker/test_case.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698