Files
engine/lib/web_ui/dev
David Iglesias f48f0fa01b Open source canvas tests from flutter_web_ui (#12819)
* Open source canvas tests from flutter_web_ui

Reimplement some painter tests as screenshot tests on canvas.

Needs https://github.com/flutter/goldens/pull/53
Fixes https://github.com/flutter/flutter/issues/42027

* Remove whitespace

* Address PR feedback

* Add latest hash to dev/goldens_lock.yaml
* Rename (with git mv) *scuba_test.dart -> *golden_test.dart
2019-10-08 09:40:09 -07:00
..

What's felt?

felt stands for "Flutter Engine Local Tester". It's a cli tool that aims to make development in the Flutter web engine more productive and pleasant.

What can felt do?

felt supports multiple commands as follows:

  1. felt check-licenses: Checks that all Dart and JS source code files contain the correct license headers.
  2. felt test: Runs all or some tests depending on the passed arguments.
  3. felt build: Builds the engine locally so it can be used by Flutter apps. It also supports a watch mode for more convenience.

You could also run felt help or felt help <command> to get more information about the available commands and arguments.

How can I use felt?

Once you have your local copy of the engine setup, it's recommended that you add /path/to/engine/src/flutter/lib/web_ui/dev to your PATH. Then you would be able to use the felt tool from anywhere:

felt check-licenses

or:

felt build --watch

If you don't want to add felt to your path, you can still invoke it using a relative path like ./web_ui/dev/felt <command>

Configuration files

chrome_lock.yaml contains the version of Chrome we use to test Flutter for web. Chrome is not automatically updated whenever a new release is available. Instead, we update this file manually once in a while.

goldens_lock.yaml refers to a revision in the https://github.com/flutter/goldens repo. Screenshot tests are compared with the golden files at that revision. When making engine changes that affect screenshots, first submit a PR to flutter/goldens updating the screenshots. Then update this file pointing to the new revision.