mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
# Copyright 2013 The Chromium Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
"""Setup for linker tests."""
|
|
|
|
import os
|
|
import sys
|
|
|
|
from pylib import constants
|
|
from pylib.linker import test_case
|
|
from pylib.linker import test_runner
|
|
|
|
sys.path.insert(0,
|
|
os.path.join(constants.DIR_SOURCE_ROOT, 'build', 'util', 'lib',
|
|
'common'))
|
|
import unittest_util # pylint: disable=F0401
|
|
|
|
def Setup(args, _devices):
|
|
"""Creates a list of test cases and a runner factory.
|
|
|
|
Args:
|
|
args: an argparse.Namespace object.
|
|
Returns:
|
|
A tuple of (TestRunnerFactory, tests).
|
|
"""
|
|
test_cases = [
|
|
test_case.LinkerLibraryAddressTest,
|
|
test_case.LinkerSharedRelroTest,
|
|
test_case.LinkerRandomizationTest]
|
|
|
|
low_memory_modes = [False, True]
|
|
all_tests = [t(is_low_memory=m) for t in test_cases for m in low_memory_modes]
|
|
|
|
if args.test_filter:
|
|
all_test_names = [test.qualified_name for test in all_tests]
|
|
filtered_test_names = unittest_util.FilterTestNames(all_test_names,
|
|
args.test_filter)
|
|
all_tests = [t for t in all_tests \
|
|
if t.qualified_name in filtered_test_names]
|
|
|
|
def TestRunnerFactory(device, _shard_index):
|
|
return test_runner.LinkerTestRunner(device, args.tool)
|
|
|
|
return (TestRunnerFactory, all_tests)
|