25 Commits

Author SHA1 Message Date
Nurhan Turgut
a4ebe04aa2 refactoring chrome_installer (flutter/engine#13122)
* refactoring before implementing the firefox installer. This PR carries utilities to a common place. Renames the lock file with a generic name.

* Fixed README file for browser_lock

* addressing PR comments: removing unimplemented firefox methods.
2019-10-14 14:51:08 -07:00
Ferhat
a3654ec08f [web] Add basic color per vertex drawVertices API support (flutter/engine#13066)
* Implement basic drawVertices for BlendMode.srcOver and hairline rendering
* Implement maxDiffRate parameter for screenshot tests
2019-10-14 13:16:05 -07:00
Ferhat
34a906543c Update felt README (flutter/engine#13097)
* Update felt README

* Removed -t since it is removed in #13088
2019-10-11 16:08:03 -07:00
Yegor
20556a05cb use rest args for specifying test targets (flutter/engine#13088) 2019-10-11 13:44:55 -07:00
Yegor
16e74ede52 Snapshot the felt tool for faster start-up (flutter/engine#13090) 2019-10-11 13:44:06 -07:00
Yegor
2f8ab3f058 Add "felt clean" command (flutter/engine#13042)
Add "felt clean" command
2019-10-10 07:15:24 -07:00
Ferhat
931be8696b [web] Implement basic radial gradient (TileMode.clamp, no transform) (flutter/engine#12811)
* Add GradientRadial paintStyle implementation
2019-10-09 15:51:31 -07:00
David Iglesias
daeccbceb5 Open source canvas tests from flutter_web_ui (flutter/engine#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
Yegor
a029088db2 add option for bulk-updating screenshots; update screenshots (flutter/engine#12797)
* add option for bulk-updating screenshots; update screenshots
2019-10-04 15:07:05 -07:00
Mouad Debbar
b904f5c1fd [web] Don't require felt to be in PATH (flutter/engine#12753) 2019-10-02 15:05:16 -07:00
Yegor
24e60804fa [web] filter test targets; cache host.dart compilation (flutter/engine#12445)
* filter test targets; cache host.dart compilation
2019-09-25 13:51:00 -07:00
Yegor
f24162c6bf Force exit felt tool on sigint, sigterm (flutter/engine#12443) 2019-09-25 10:02:32 -07:00
Yegor
bcfe5948b1 delete golden files; switch to flutter/goldens (flutter/engine#12434)
Delete golden files from flutter/engine; switch to flutter/goldens
2019-09-25 09:08:44 -07:00
Yegor
064ca6bfb5 Add macOS testing support (flutter/engine#12383)
- Add support for macOS in `felt test`
- Set viewport so it does not depend on real device pixel density
2019-09-22 11:49:44 -07:00
Yegor
e08ce018a4 Store screenshot test output as Cirrus artifacts; do fuzzy comparison of non-matching screenshot pixels (flutter/engine#12274)
- Store screenshot test output as Cirrus artifacts
- Do fuzzy comparison of non-matching screenshot pixels
- Make screenshot tests fail on Cirrus
2019-09-20 14:46:00 -07:00
David Iglesias
0c2c7cfd15 Add web engine screenshot (scuba) tests (flutter/engine#12353)
* Import all golden files and tests from internal repo.
* Adapt test files to new screenshot API, and tweak some settings.

(Check PR to see individual changes to each file)

Fixes https://github.com/flutter/flutter/issues/40975
2019-09-20 09:00:55 -07:00
David Iglesias
25d2d2a47a More controls for Screenshot tests (for web) (flutter/engine#12284)
New features for golden tests (for web):

* Height/width of headless browser instance extracted to constants
* Remove border from the host iframe
* Added 'region' to matchGoldenFile, so screenshots can capture only
a subset of the viewport
* Added image-format-awareness (png) to screenshot comparison, so it
doesn't only look at raw bytes
* When a test fails, output a diff image alongside the unexpected
output.
2019-09-18 14:58:30 -07:00
Mouad Debbar
b4aae10f0d README for the felt tool (flutter/engine#12323) 2019-09-17 14:03:31 -07:00
Mouad Debbar
bb1ec63121 Add a build command to felt (flutter/engine#12303)
- The build command supports a `--watch` or `-w` flag to watch for
changes and rebuild.

Fixes https://github.com/flutter/flutter/issues/40392
2019-09-17 10:31:13 -07:00
Mouad Debbar
8a818032d0 Refactor and polish the 'felt' tool (flutter/engine#12258)
1. Various functionalities offered by this tool are now organized into commands (e.g. `felt test`, `felt check-licenses`).
2. The felt tool can now be invoked from anywhere, not necessarily from the web_ui directory.
3. This new structure helps us scale better as we add more commands (e.g. soon a `build/watch` command is coming).
2019-09-16 10:41:34 -07:00
Yegor
eb965c8465 pin and auto-install chrome version (flutter/engine#12228)
pin and auto-install chrome version
2019-09-12 10:25:37 -07:00
Yegor
51e48deb34 add a convenience CLI tool for building and testing web engine (flutter/engine#12197) 2019-09-10 14:52:57 -07:00
Yegor
0a3bdb877f Add custom test plugin that supports screenshot tests (flutter/engine#12079)
- Add a custom `PlatformPlugin` that spins up a server waiting for test to request a screenshot.
  - When a screenshot is requested the plugin talks to Chrome via the debug port, captures a screenshot, and compares it with a golden file
- This PR also adds proper CLI for `dev/test.dart` with an `ArgParser` for future extension into a proper developer tool for the team.
  - As a first couple of features, it adds `--debug` option to launch Chrome in debug mode, a `--target` option to choose a single test to run rather than all tests, and `--shard` option to choose a subset of tests to run.

Limitations:
 - While screenshot test will run on Cirrus, they are configured to not fail on Cirrus. Need to solve Chrome version skew.
 - Stack maps do not work yet (you get stacks, but they are nonsensical)
 - When requesting a single test, build_runner builds all tests anyway
 - Nothing but desktop Chrome is supported
 - Nothing but Linux is supported
 - There's no Chrome version pinning; currently assumed stable Chrome channel
2019-09-10 13:53:47 -07:00
Yegor
cf1da7b72c remove Web test blacklist; all tests should pass now (flutter/engine#11640)
* copy ahem.ttf where web_ui can find it
* remove Web test blacklist; all tests should pass now
2019-08-28 12:37:34 -07:00
Yegor
3c08ceeae6 sync web engine; run web engine tests (flutter/engine#11031)
sync web engine; run web engine tests
2019-08-22 16:38:03 -07:00