def GetTests(self):
        tests = [
            test_case.LinkerSharedRelroTest(is_low_memory=False),
            test_case.LinkerSharedRelroTest(is_low_memory=True)
        ]

        if self._test_filter:
            filtered_names = unittest_util.FilterTestNames(
                (t.qualified_name for t in tests), self._test_filter)
            tests = [t for t in tests if t.qualified_name in filtered_names]

        return tests
Exemplo n.º 2
0
    def GetTests(self, min_device_sdk):
        tests = [
            test_case.LinkerSharedRelroTest(is_modern_linker=False,
                                            is_low_memory=False),
            test_case.LinkerSharedRelroTest(is_modern_linker=False,
                                            is_low_memory=True)
        ]
        if min_device_sdk >= _MODERN_LINKER_MINIMUM_SDK_INT:
            tests.append(
                test_case.LinkerSharedRelroTest(is_modern_linker=True))

        if self._test_filter:
            filtered_names = unittest_util.FilterTestNames(
                (t.qualified_name for t in tests), self._test_filter)
            tests = [t for t in tests if t.qualified_name in filtered_names]

        return tests
Exemplo n.º 3
0
def Setup(args, devices):
    """Creates a list of test cases and a runner factory.

  Args:
    args: an argparse.Namespace object.
    devices: an iterable of available devices.
  Returns:
    A tuple of (TestRunnerFactory, tests).
  """
    legacy_linker_tests = [
        test_case.LinkerSharedRelroTest(is_modern_linker=False,
                                        is_low_memory=False),
        test_case.LinkerSharedRelroTest(is_modern_linker=False,
                                        is_low_memory=True),
    ]
    modern_linker_tests = [
        test_case.LinkerSharedRelroTest(is_modern_linker=True),
    ]

    min_sdk_int = 1 << 31
    for device in devices:
        min_sdk_int = min(min_sdk_int, device.build_version_sdk)

    if min_sdk_int >= _MODERN_LINKER_MINIMUM_SDK_INT:
        all_tests = legacy_linker_tests + modern_linker_tests
    else:
        all_tests = legacy_linker_tests
        logging.warn(
            'Not running LinkerModern tests (requires API %d, found %d)',
            _MODERN_LINKER_MINIMUM_SDK_INT, min_sdk_int)

    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)