mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Revert "[Fuchsia] Execute most of the testing/fuchsia/test_suites.yaml on debug and release builds" (flutter/engine#50291)
Reverts flutter/engine#50058 for https://github.com/flutter/flutter/issues/142811
This commit is contained in:
parent
45c60db662
commit
c5eac677ca
@ -115,12 +115,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",
|
||||
@ -133,22 +131,9 @@
|
||||
"ninja": {
|
||||
"config": "fuchsia_release_x64",
|
||||
"targets": [
|
||||
"flutter/shell/platform/fuchsia:fuchsia",
|
||||
"flutter/shell/platform/fuchsia/dart_runner:dart_runner_tests",
|
||||
"fuchsia_tests"
|
||||
"flutter/shell/platform/fuchsia:fuchsia"
|
||||
]
|
||||
},
|
||||
"tests": [
|
||||
{
|
||||
"name": "x64 emulator based release tests",
|
||||
"language": "python3",
|
||||
"script": "flutter/tools/fuchsia/with_envs.py",
|
||||
"parameters": [
|
||||
"testing/fuchsia/run_tests.py",
|
||||
"fuchsia_release_x64"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"drone_dimensions": [
|
||||
@ -173,7 +158,6 @@
|
||||
"config": "fuchsia_debug_x64",
|
||||
"targets": [
|
||||
"flutter/shell/platform/fuchsia:fuchsia",
|
||||
"flutter/shell/platform/fuchsia/dart_runner:dart_runner_tests",
|
||||
"fuchsia_tests"
|
||||
]
|
||||
},
|
||||
@ -192,7 +176,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "x64 emulator based debug tests",
|
||||
"name": "x64 emulator based tests",
|
||||
"language": "python3",
|
||||
"script": "flutter/tools/fuchsia/with_envs.py",
|
||||
"parameters": [
|
||||
|
||||
@ -54,7 +54,8 @@ template("create_aot_snapshot") {
|
||||
# No asserts in debug or release product.
|
||||
# No asserts in release with flutter_profile=true (non-product)
|
||||
# Yes asserts in non-product debug.
|
||||
if (!invoker.product && (flutter_runtime_mode == "debug" || is_debug)) {
|
||||
if (!invoker.product &&
|
||||
(!(flutter_runtime_mode == "profile") || is_debug)) {
|
||||
args += [ "--enable_asserts" ]
|
||||
}
|
||||
args += [ rebase_path(shim_kernel) ]
|
||||
|
||||
@ -69,7 +69,8 @@ template("create_kernel_core_snapshot") {
|
||||
# No asserts in debug or release product.
|
||||
# No asserts in release with flutter_profile=true (non-product)
|
||||
# Yes asserts in non-product debug.
|
||||
if (!invoker.product && (is_debug || flutter_runtime_mode == "debug")) {
|
||||
if (!invoker.product &&
|
||||
(is_debug || !(flutter_runtime_mode == "profile"))) {
|
||||
args += [ "--enable_asserts" ]
|
||||
}
|
||||
args += [ rebase_path(platform_dill) ]
|
||||
|
||||
@ -65,7 +65,7 @@ template("aot_snapshot") {
|
||||
# No asserts in debug or release product.
|
||||
# No asserts in release with flutter_profile=true (non-product)
|
||||
# Yes asserts in non-product debug.
|
||||
if (!product && (flutter_runtime_mode == "debug" || is_debug)) {
|
||||
if (!product && (!(flutter_runtime_mode == "profile") || is_debug)) {
|
||||
args += [ "--enable_asserts" ]
|
||||
}
|
||||
|
||||
|
||||
@ -73,7 +73,8 @@ template("core_snapshot") {
|
||||
# No asserts in debug or release product.
|
||||
# No asserts in release with flutter_profile=true (non-product)
|
||||
# Yes asserts in non-product debug.
|
||||
if (!invoker.product && (is_debug || flutter_runtime_mode == "debug")) {
|
||||
if (!invoker.product &&
|
||||
(is_debug || !(flutter_runtime_mode == "profile"))) {
|
||||
args += [ "--enable_asserts" ]
|
||||
}
|
||||
args += [ rebase_path(platform_dill) ]
|
||||
|
||||
@ -1,28 +1,12 @@
|
||||
#!/usr/bin/env vpython3
|
||||
|
||||
# [VPYTHON:BEGIN]
|
||||
# python_version: "3.8"
|
||||
# wheel <
|
||||
# name: "infra/python/wheels/pyyaml/${platform}_${py_python}_${py_abi}"
|
||||
# version: "version:5.4.1.chromium.1"
|
||||
# >
|
||||
# [VPYTHON:END]
|
||||
|
||||
#!/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 logging
|
||||
import os
|
||||
import sys
|
||||
|
||||
from subprocess import CompletedProcess
|
||||
from typing import List
|
||||
|
||||
# The import is coming from vpython wheel and pylint cannot find it.
|
||||
import yaml # pylint: disable=import-error
|
||||
|
||||
# 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
|
||||
@ -41,89 +25,32 @@ from common import DIR_SRC_ROOT
|
||||
from run_executable_test import ExecutableTestRunner
|
||||
from test_runner import TestRunner
|
||||
|
||||
if len(sys.argv) == 2:
|
||||
VARIANT = sys.argv[1]
|
||||
sys.argv.pop()
|
||||
elif len(sys.argv) == 1:
|
||||
VARIANT = 'fuchsia_debug_x64'
|
||||
else:
|
||||
assert False, 'Expect only one parameter as the compile output directory.'
|
||||
OUT_DIR = os.path.join(DIR_SRC_ROOT, 'out', VARIANT)
|
||||
|
||||
|
||||
class BundledTestRunner(TestRunner):
|
||||
|
||||
# private, use bundled_test_runner_of function instead.
|
||||
def __init__(
|
||||
self, target_id: str, package_deps: List[str], tests: List[str],
|
||||
logs_dir: str
|
||||
):
|
||||
super().__init__(OUT_DIR, [], None, target_id, package_deps)
|
||||
self.tests = tests
|
||||
self.logs_dir = logs_dir
|
||||
|
||||
def run_test(self) -> CompletedProcess:
|
||||
returncode = 0
|
||||
for test in self.tests:
|
||||
# pylint: disable=protected-access
|
||||
test_runner = ExecutableTestRunner(
|
||||
OUT_DIR, [], test, self._target_id, None, self.logs_dir, [], None
|
||||
)
|
||||
test_runner._package_deps = self._package_deps
|
||||
result = test_runner.run_test().returncode
|
||||
logging.info('Result of test %s is %s', test, result)
|
||||
if result != 0:
|
||||
returncode = result
|
||||
return CompletedProcess(args='', returncode=returncode)
|
||||
|
||||
|
||||
def bundled_test_runner_of(target_id: str) -> BundledTestRunner:
|
||||
log_dir = os.environ.get('FLUTTER_LOGS_DIR', '/tmp/log')
|
||||
with open(os.path.join(os.path.dirname(__file__), 'test_suites.yaml'),
|
||||
'r') as file:
|
||||
tests = yaml.safe_load(file)
|
||||
# TODO(zijiehe-google-com): Run tests with multiple packages or with extra
|
||||
# test arguments, https://github.com/flutter/flutter/issues/140179.
|
||||
tests = list(
|
||||
filter(
|
||||
lambda test: test['test_command'].startswith('test run ') and test[
|
||||
'test_command'].endswith('.cm'), tests
|
||||
)
|
||||
)
|
||||
tests = list(
|
||||
filter(
|
||||
lambda test: 'package' in test and test['package'].endswith('-0.far'),
|
||||
tests
|
||||
)
|
||||
)
|
||||
tests = list(
|
||||
filter(
|
||||
lambda test: not 'variant' in test or VARIANT == test['variant'],
|
||||
tests
|
||||
)
|
||||
)
|
||||
for test in tests:
|
||||
original_package = test['package']
|
||||
test['package'] = os.path.join(
|
||||
OUT_DIR, test['package'].replace('-0.far', '.far')
|
||||
)
|
||||
try:
|
||||
os.remove(test['package'])
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
os.symlink(original_package, test['package'])
|
||||
return BundledTestRunner(
|
||||
target_id, [test['package'] for test in tests],
|
||||
[test['test_command'][len('test run '):] for test in tests], log_dir
|
||||
)
|
||||
# TODO(https://github.com/flutter/flutter/issues/140179): Respect build
|
||||
# configurations.
|
||||
OUT_DIR = os.path.join(DIR_SRC_ROOT, 'out/fuchsia_debug_x64')
|
||||
|
||||
|
||||
# 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 bundled_test_runner_of(runner_args.target_id)
|
||||
return ExecutableTestRunner(
|
||||
OUT_DIR, [],
|
||||
'fuchsia-pkg://fuchsia.com/dart_runner_tests#meta/dart_runner_tests.cm',
|
||||
runner_args.target_id, None, '/tmp/log',
|
||||
[os.path.join(OUT_DIR, 'dart_runner_tests.far')], None
|
||||
)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
logging.info('Running tests in %s', OUT_DIR)
|
||||
try:
|
||||
os.remove(os.path.join(OUT_DIR, 'dart_runner_tests.far'))
|
||||
except FileNotFoundError:
|
||||
pass
|
||||
os.symlink(
|
||||
'dart_runner_tests-0.far', os.path.join(OUT_DIR, 'dart_runner_tests.far')
|
||||
)
|
||||
sys.argv.append('--out-dir=' + OUT_DIR)
|
||||
# The 'flutter-test-type' is a place holder and has no specific meaning; the
|
||||
# _get_test_runner is overrided.
|
||||
|
||||
@ -19,20 +19,16 @@
|
||||
package: flow_tests-0.far
|
||||
- test_command: test run fuchsia-pkg://fuchsia.com/runtime_tests#meta/runtime_tests.cm
|
||||
package: runtime_tests-0.far
|
||||
variant: fuchsia_debug_x64
|
||||
- test_command: test run fuchsia-pkg://fuchsia.com/shell_tests#meta/shell_tests.cm
|
||||
package: shell_tests-0.far
|
||||
variant: fuchsia_debug_x64
|
||||
- test_command: test run fuchsia-pkg://fuchsia.com/testing_tests#meta/testing_tests.cm
|
||||
package: testing_tests-0.far
|
||||
- test_command: test run fuchsia-pkg://fuchsia.com/txt_tests#meta/txt_tests.cm -- --gtest_filter=-ParagraphTest.*
|
||||
package: txt_tests-0.far
|
||||
- test_command: test run fuchsia-pkg://fuchsia.com/ui_tests#meta/ui_tests.cm
|
||||
package: ui_tests-0.far
|
||||
variant: fuchsia_debug_x64
|
||||
- test_command: test run fuchsia-pkg://fuchsia.com/embedder_tests#meta/embedder_tests.cm
|
||||
package: embedder_tests-0.far
|
||||
variant: fuchsia_debug_x64
|
||||
- test_command: test run fuchsia-pkg://fuchsia.com/dart_utils_tests#meta/dart_utils_tests.cm
|
||||
package: dart_utils_tests-0.far
|
||||
- test_command: test run fuchsia-pkg://fuchsia.com/dart-jit-runner-integration-test#meta/dart-jit-runner-integration-test.cm
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user