* change from build_runner to dart2js
* add internalBootstrapBrowserTest to some of the tests
* add internalBootstrapBrowserTest to all remaining tests
* make tests build in paralel. Total time dropped from 586 to 177 seconds for 8 core MacBook
* change isolates with pool
* fixing analysis errors
* skipping canvaskit tests for ios-safari
* copy image files to the build directory
* adding internalBootstrapBrowserTest to newly added tests
* add internalBootstrapBrowserTest to faling path iterator test
* necessary changes to make chrome windows work
* in windows test in chrome instead of edge. our edge code was for legacy edge
* do not run golden unit tests on Windows LUCI bots for now
* addressing reviewer comments. Adding a method for deciding when to run integration tests.
* remove lines that I forgot to remove
* fixing analysis error. add issue for todo
* add bootstap to a test file
* adding bootstrap to another test
* add internalBootstrapBrowserTest to a golden test
* return test result in bat file. use archieve package to unzip
* fixing logs for chrome_installer
* use archieve and archieve entity instead of dynamic
* adding comments for windows platform archieve part
* addressing reviewer comments
* change readme file
* skip ios safari tests on felt level
* instead of skipping use the new web_installers repo
* re-skip the test. led run failed with another error
* remove led json
* running ios unit tests from felt by booting/shutingdown simulators. create simulator with felt
* changing the readme file for ios,mac,xcode spellings
* addressing reviewer comments
* fix analyse error
* fixing cleanup issue. solution: adding and await and using for loop instead of foreach
* try to run integration tests on luci
* adds extra logs to check if chrome is on lUCI
* use the cipd chrome package for integration tests in LUCI
* add driver version for chrome 83.(cipd package has 83 now)
* no headless mode didn't worked on the bots. try the other option
* On LUCI also use chrome driver as a cipd package
* change the directory name to fit the cpid package
* adding blacklist functionality
* remove logs added for troubleshooting. remove the check that blocks int-test runs on LUCI
* add more comments to blacklists
* also use CIPD package chrome for unit tests
* addressing reviewer comments
* run integration tests first, upon reviewer request
* fix bug. keep running integration tests after unit tests
* update the logs for LUCI
* fix todo comments
* changing felt script to fetch flutter
* changing the clone_flutter.sh code
* running integration tests with felt on cirrus. fetch framework in CI (not in local).
* only run cirrus tests on chrome. fix a comma in the flutter command path
* adding comments to public flags
* use local engine parameter for flutter pub get
* change flutter executable used for flutter drive command
* fix a cleanup issue. address comments. add toolException. enable web in flutter
* address reviwer comments. fix issue with local-engine
* address reviwer comments. fix issue with local-engine
* using engine/flutter/.dart_tools as clone directory. enabling clone script for local usage
* clean flutter repo with felt clean. add a flag to skip cloning the repo. always clone the repo even for local development, unless this flag is set
* fixing typos. updating readme for the new flag.
* fix directory error
* addressing reviewer comments
* adding an apple script to quit safari
* making changes to utils and adding cleanup after unit tests failed
* switch saai quit to pkill instead of applescript
* adding toolexception
* adding a cleanup function option to felt.
* removing unnecassary await's added for the previos version of the PR
* removing unnecassary async
* fix analyze error
* adding arguments to felt for running different type of tests
* adding test type enums to felt
* more changes to felt for testing branches
* more additions to code
* more changes to felt
* adding code for cloning web_drivers
* validating test directories. running the integration tests. update the readme file partially
* Removing todo lists used for development
* addressing reviewers comments
* remove unused imports
* addressing more reviewer comments
* addressing more reviewer comments
* addressing reviewer comments.
* addressing reviewer comments.
* fixing typos
* using chromedriverinstaller as a library. Fixing the commit number used from web_installers repo
* clean drivers directory after tests finish
* addressing more reviewer comments
* throwing all critical exceptions instead of logging and returning boolean flags
* adding todos for items we can do for making felt easier to use for local development
* do not run integration tests on CIs. Added an issue to the TODO.
* changing todo's with issues.
* Add Edge support for Flutter Engine unit-tests. This does not include the launcher
* Add mapping from browser name to platform.
* remove ie from supported browser maps
* changes to add firefox as one of the browser options to test_platform and test_runner
* Creating a supported_browsers file to put all the different browser related maps and utilities
* Remove accidentaly forgotten commented out lines. Clear imports
* fix error in screenshot handler
* Addressing PR comments.
* addressing PR comments part 2:
* Add Firefox installing functionality to test platform. For Linux only. Refactor test platform code
* remove download.dart. Not complete for now
* uncomment firefox.dart. Adding new CL parameters.
* Licence headers added.
* adding more comments to firefox_installer
* adding test for firefox download
* address pr comments. change directory for test in .cirrus.yml
* change directory for test_web_engine_firefox_script
* removing the system test.
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).
- 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