diff --git a/README.md b/README.md index 27aa57b0..b1269253 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ parallel to your `flutter` repository checkout, then, from this directory, run: ``` -pushd ../flutter/dev/customer_testing && pub get && popd +pushd ../flutter/dev/customer_testing && flutter pub get && popd ../flutter/bin/cache/dart-sdk/bin/dart ../flutter/dev/customer_testing/run_tests.dart --skip-template --verbose registry/*.test ``` diff --git a/registry/flutter_devtools.test b/registry/flutter_devtools.test new file mode 100644 index 00000000..47937c28 --- /dev/null +++ b/registry/flutter_devtools.test @@ -0,0 +1,23 @@ +# Tests from https://github.com/flutter/devtools + +contact=dart-devtools-eng@google.com + +fetch=git clone https://github.com/flutter/devtools.git tests +fetch=git -C tests checkout 26d2093276fcab94c8cc24b50548d1ea66c72d93 + +setup.linux=./tool/refresh.sh >> output.txt + +update=packages/devtools_app +update=packages/devtools_app_shared +update=packages/devtools_extensions +update=packages/devtools_shared +update=packages/devtools_test + +test.linux=./tool/flutter_customer_tests/analyze.sh + +# TODO(kenz): if we can exclude golden image tests (or switch to Mock Canvas?) +# run these tests on all platforms. +test.linux=./tool/flutter_customer_tests/test.sh + +# Reduce number of iterations to 1 because these tests take longer than our recommended maximum. +iterations=1 diff --git a/registry/template.test b/registry/template.test index 6de745bc..4149d601 100644 --- a/registry/template.test +++ b/registry/template.test @@ -63,6 +63,28 @@ contact=bar@example.com fetch=git clone https://github.com/USERNAME/REPOSITORY.git tests fetch=git -C tests checkout 0123456789abcdef0123456789abcdef01234567 +# The "setup" lines specify commands to run before the "update" or +# "test" lines are handled. This is useful for things like generating +# mocks before running the "update" and "test" steps. +# +# Commands specified using "setup=" must work identically on Windows, +# macOS, and Linux. This generally means you want to limit yourself to +# simple commands. For anything more elaborate, consider creating a +# "setup.sh" shell script to run on macOS and Linux and a "setup.bat" +# batch file to run on Windows (referencing it without the extension +# here should mean that in runs the shell script on Unix systems and +# the batch file on Windows, because of how Windows looks up commands). +# On Windows, these commands are executed via +# `CMD.EXE /S /C "command..."`. +# +# Alternatively, you can use a platform-specific setup line: +# setup.windows= to run a command on Windows only. +# setup.macos= to run a command on MacOS only. +# setup.linux= to run a command on Linux only. +# setup.posix= to run a command on MacOS and Linux only. +setup.posix=setup.sh +setup.windows=setup.bat + # The "update" lines specify paths (relative to the newly created # "tests" directory) in which to run a flutter command to # automatically update the code to fix breaking changes. The command