Reverts "[Fuchsia] Redo - Use chromium test-scripts to download images and execute tests" (flutter/engine#49908)

Reverts flutter/engine#49847
Initiated by: zanderso
This change reverts the following previous change:
Original Description:
This change is a redo of https://github.com/flutter/engine/pull/49650.

https://github.com/zijiehe-google-com/engine/compare/de5c713..main should show the diff between this and the original change.

Following paragraph is copied from the original change.

This change requires https://github.com/flutter/buildroot/pull/811, and can be executed from buildroot by

```
python3 flutter/tools/fuchsia/with_envs.py flutter/testing/fuchsia/run_tests.py
```

Bug: https://github.com/flutter/flutter/issues/140179

- [V] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
- [V] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
- [V] I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides].
- [V] I listed at least one issue that this PR fixes in the description above.
- [V] I added new tests to check the change I am making or feature I am adding, or the PR is [test-exempt]. See [testing the engine] for instructions on writing and running engine tests.
- [V] I updated/added relevant documentation (doc comments with `///`).
- [V] I signed the [CLA].
- [V] All existing and new tests are passing.
This commit is contained in:
auto-submit[bot] 2024-01-19 22:22:25 +00:00 committed by GitHub
parent 78728e1649
commit 07034d9f1d
6 changed files with 4 additions and 162 deletions

32
DEPS
View File

@ -110,9 +110,6 @@ vars = {
# local development.
'download_fuchsia_sdk': False,
'fuchsia_sdk_path': '',
# Whether to download and run the Fuchsia emulator locally to test Fuchsia
# builds.
'run_fuchsia_emu': False,
# An LLVM backend needs LLVM binaries and headers. To avoid build time
# increases we can use prebuilts. We don't want to download this on every
@ -251,11 +248,6 @@ vars = {
"upstream_yaml": "https://github.com/dart-lang/yaml.git",
"upstream_yapf": "https://github.com/google/yapf.git",
"upstream_zlib": "https://github.com/madler/zlib.git",
# The version / instance id of the cipd:chromium/fuchsia/test-scripts which
# will be used altogether with fuchsia-sdk to setup the build / test
# environment.
'fuchsia_test_scripts_version': 'xMcCltDynP2JMZNUekFtV24vCnjgz_J3SZIN-4FbUKQC',
}
gclient_gn_args_file = 'src/third_party/dart/build/config/gclient_args.gni'
@ -985,7 +977,7 @@ deps = {
# Get the SDK from https://chrome-infra-packages.appspot.com/p/fuchsia/sdk/core at the 'latest' tag
# Get the toolchain from https://chrome-infra-packages.appspot.com/p/fuchsia/clang at the 'goma' tag
'src/fuchsia/sdk/linux': {
'src/fuchsia/sdk/linux': {
'packages': [
{
'package': 'fuchsia/sdk/core/linux-amd64',
@ -996,17 +988,6 @@ deps = {
'dep_type': 'cipd',
},
'src/flutter/tools/fuchsia/test_scripts': {
'packages': [
{
'package': 'chromium/fuchsia/test-scripts',
'version': Var('fuchsia_test_scripts_version'),
}
],
'condition': 'run_fuchsia_emu',
'dep_type': 'cipd',
},
'src/third_party/impeller-cmake-example': {
'url': Var('flutter_git') + '/third_party/impeller-cmake-example.git' + '@' + 'd1a26a51dc6890e5f851749e3d8e048703f24f51',
'condition': 'download_impeller_cmake_example',
@ -1168,16 +1149,5 @@ hooks = [
'third_party/impeller-cmake-example',
'--setup',
]
},
{
'name': 'Download Fuchsia system images',
'pattern': '.',
'condition': 'run_fuchsia_emu',
'action': [
'python3',
'src/flutter/tools/fuchsia/with_envs.py',
'src/flutter/tools/fuchsia/test_scripts/update_product_bundles.py',
'terminal.x64',
]
}
]

View File

@ -197,8 +197,6 @@ targets:
config_name: linux_fuchsia
drone_dimensions:
- os=Linux
dimensions:
kvm: "1"
# TODO(https://github.com/flutter/flutter/issues/138559): Re-enable/delete.
# runIfNot:
# - lib/web_ui/**

View File

@ -136,6 +136,3 @@ app.*.symbols
# RBE support configurations and scripts vended from CIPD
/build/rbe
# The test-scripts from Chromium and managed by DEPS and gclient.
/tools/fuchsia/test_scripts

View File

@ -77,7 +77,7 @@
{
"name": "Upload to Symbol Server for arch: arm64",
"language": "python3",
"contexts": ["depot_tools_on_path"],
"contexts": ["depot_tools_on_path"],
"script": "flutter/tools/fuchsia/upload_to_symbol_server.py",
"parameters": [
"--symbol-dir",
@ -138,12 +138,10 @@
{
"drone_dimensions": [
"device_type=none",
"kvm=1",
"os=Linux"
],
"gclient_variables": {
"download_android_deps": false,
"run_fuchsia_emu": true
"download_android_deps": false
},
"gn": [
"--fuchsia",
@ -165,7 +163,7 @@
{
"name": "Upload to Symbol Server for arch: x64",
"language": "python3",
"contexts": ["depot_tools_on_path"],
"contexts": ["depot_tools_on_path"],
"script": "flutter/tools/fuchsia/upload_to_symbol_server.py",
"parameters": [
"--symbol-dir",
@ -174,14 +172,6 @@
"${REVISION}",
"--upload"
]
},
{
"name": "x64 emulator based tests",
"language": "python3",
"script": "flutter/tools/fuchsia/with_envs.py",
"parameters": [
"testing/fuchsia/run_tests.py"
]
}
]
}

View File

@ -1,59 +0,0 @@
#!/usr/bin/env python3
# Copyright (c) 2013, 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__), '../../tools/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/.
# 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())

View File

@ -1,54 +0,0 @@
#!/usr/bin/env python3
# Copyright (c) 2013, 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 os
import platform
import subprocess
import sys
sys.path.insert(
0,
os.path.abspath(
os.path.join(os.path.dirname(__file__), 'test_scripts/test/')
)
)
from common import catch_sigterm, wait_for_sigterm
def Main():
"""
Executes the test-scripts with required environment variables. It acts like
/usr/bin/env, but provides some extra functionality to dynamically set up
the environment variables.
"""
# Ensures the signals can be correctly forwarded to the subprocesses.
catch_sigterm()
os.environ['SRC_ROOT'] = os.path.abspath(
os.path.join(os.path.dirname(__file__), '../../../')
)
# Flutter uses a different repo structure and fuchsia sdk is not in the
# third_party/, so images root and sdk root need to be explicitly set.
os.environ['FUCHSIA_IMAGES_ROOT'] = os.path.join(
os.environ['SRC_ROOT'], 'fuchsia/images/'
)
assert platform.system() == 'Linux', 'Unsupported OS ' + platform.system()
os.environ['FUCHSIA_SDK_ROOT'] = os.path.join(
os.environ['SRC_ROOT'], 'fuchsia/sdk/linux/'
)
with subprocess.Popen(sys.argv[1:]) as proc:
try:
proc.wait()
except:
# Use terminate / SIGTERM to allow the subprocess exiting cleanly.
proc.terminate()
return proc.returncode
if __name__ == '__main__':
sys.exit(Main())