blob: 929b022fd864ea6f093ccb358e6fc595819e1fd6 [file] [log] [blame] [edit]
#!/usr/bin/env python3
# Copyright (c) 2024, the Flutter project authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be found
# in the LICENSE file.
import argparse
import os
import sys
# The imports are coming from fuchsia/test_scripts and pylint cannot find them
# without setting a global init-hook which is less favorable.
# But this file will be executed as part of the CI, its correctness of importing
# is guaranteed.
sys.path.insert(
0,
os.path.join(
os.path.dirname(__file__), '../../../fuchsia/test_scripts/test/'
)
)
# pylint: disable=import-error, wrong-import-position
import run_test
from run_executable_test import ExecutableTestRunner
from test_runner import TestRunner
# This file is expected to be executed from src/flutter/.
# TODO(https://github.com/flutter/flutter/issues/140179): Execute all the tests
# in
# https://github.com/flutter/engine/blob/main/testing/fuchsia/test_suites.yaml
# and avoid hardcoded paths.
def _get_test_runner(runner_args: argparse.Namespace, *_) -> TestRunner:
return ExecutableTestRunner(
runner_args.out_dir, [],
'fuchsia-pkg://fuchsia.com/dart_runner_tests#meta/dart_runner_tests.cm',
runner_args.target_id, 'codecoverage', '/tmp/log',
['../out/fuchsia_debug_x64/dart_runner_tests.far'], None
)
# TODO(https://github.com/flutter/flutter/issues/140179): Respect build
# configurations.
if __name__ == '__main__':
try:
os.remove('../out/fuchsia_debug_x64/dart_runner_tests.far')
except FileNotFoundError:
pass
os.symlink(
'dart_runner_tests-0.far',
'../out/fuchsia_debug_x64/dart_runner_tests.far'
)
sys.argv.append('--out-dir=out/fuchsia_debug_x64')
# The 'flutter-test-type' is a place holder and has no specific meaning; the
# _get_test_runner is overrided.
sys.argv.append('flutter-test-type')
run_test._get_test_runner = _get_test_runner # pylint: disable=protected-access
sys.exit(run_test.main())