mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
When flutter/synchronization was first authored, we did not own fml (it was called fxl then). Now we do, so use a single spot for such utilities. The pipeline was meant to be a general purpose utility that was only ever used by the animator (it even has animator specific tracing), so move that to shell instead (where the animator resides).
83 lines
2.2 KiB
Bash
Executable File
83 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -o pipefail -e;
|
|
|
|
BUILDROOT_DIR="$(pwd)"
|
|
if [[ "$BUILDROOT_DIR" != */src ]]; then
|
|
if [[ "$BUILDROOT_DIR" != */src/* ]]; then
|
|
echo "Unable to determine build root. Exiting."
|
|
exit 1
|
|
fi
|
|
BUILDROOT_DIR="${BUILDROOT_DIR%/src/*}/src"
|
|
fi
|
|
echo "Using build root: $BUILDROOT_DIR"
|
|
|
|
OUT_DIR="$BUILDROOT_DIR/out"
|
|
HOST_DIR="$OUT_DIR/${1:-host_debug_unopt}"
|
|
|
|
# Check a Dart SDK has been built.
|
|
if [[ ! -d "$HOST_DIR/dart-sdk" ]]; then
|
|
echo "Built Dart SDK not found at $HOST_DIR/dart-sdk. Exiting."
|
|
exit 1
|
|
fi
|
|
|
|
# Switch to buildroot dir. Some tests assume paths relative to buildroot.
|
|
cd "$BUILDROOT_DIR"
|
|
|
|
# TODO(dnfield): Re-enable this when the upstream Dart changes that make it not be flaky land.
|
|
# $HOST_DIR/embedder_unittests
|
|
echo "Running flow_unittests..."
|
|
"$HOST_DIR/flow_unittests"
|
|
|
|
echo "Running fml_unittests..."
|
|
"$HOST_DIR/fml_unittests" --gtest_filter="-*TimeSensitiveTest*"
|
|
|
|
echo "Running runtime_unittests..."
|
|
"$HOST_DIR/runtime_unittests"
|
|
|
|
echo "Running shell_unittests..."
|
|
"$HOST_DIR/shell_unittests"
|
|
|
|
echo "Running txt_unittests..."
|
|
"$HOST_DIR/txt_unittests" --font-directory="$BUILDROOT_DIR/flutter/third_party/txt/third_party/fonts"
|
|
|
|
# Build flutter/sky/packages.
|
|
#
|
|
# flutter/testing/dart/pubspec.yaml contains harcoded path deps to
|
|
# host_debug_unopt packages.
|
|
"$BUILDROOT_DIR/flutter/tools/gn" --unoptimized
|
|
ninja -C $OUT_DIR/host_debug_unopt flutter/sky/packages
|
|
|
|
# Fetch Dart test dependencies.
|
|
pushd "$BUILDROOT_DIR/flutter/testing/dart"
|
|
"$HOST_DIR/dart-sdk/bin/pub" get
|
|
popd
|
|
|
|
run_test () {
|
|
"$HOST_DIR/dart" $HOST_DIR/gen/frontend_server.dart.snapshot \
|
|
--sdk-root $HOST_DIR/flutter_patched_sdk \
|
|
--incremental \
|
|
--strong \
|
|
--target=flutter \
|
|
--packages flutter/testing/dart/.packages \
|
|
--output-dill $HOST_DIR/engine_test.dill \
|
|
$1
|
|
|
|
"$HOST_DIR/flutter_tester" \
|
|
--disable-observatory \
|
|
--use-test-fonts \
|
|
"$HOST_DIR/engine_test.dill"
|
|
}
|
|
|
|
# Verify that a failing test returns a failure code.
|
|
! run_test "$BUILDROOT_DIR/flutter/testing/smoke_test_failure/fail_test.dart"
|
|
|
|
for TEST_SCRIPT in "$BUILDROOT_DIR"/flutter/testing/dart/*.dart; do
|
|
run_test "$TEST_SCRIPT"
|
|
done
|
|
|
|
pushd flutter
|
|
ci/test.sh
|
|
popd
|
|
exit 0
|