* carrying code
* more changes for carrying the code
* rebase changes onto ios-screenshot tests
* adding screenshot capability to text_editing e2e test
* address some comments
* change enable flag for isUnitTestsScreenshotsAvailable
* addressing the reviewer comments
* change the dependency for path
* add to licencense file
* changing goldens commit no. the new commit has the screenshot goldens
* update readme file
* firefox tests needs LUCI changes
* change to release mode since screenshots were taken in release mode
* change window size
* some argument changes
* small comment change
* test the chrome linux tests again
* use roboto font instead of default font
* addressing reviewer comments
* change commit for goldens
* running screenshot tests on ios-safari unit tests
* fixing the golden_smoke tests. changes to the documentation
* addressing reviewer comments
* cropping footer from the simulator screenshot. addressing some reviewer comments
* use .dart_tools for recording the screenshots
* fix the usage of the method
* adding TODO's for missing documentation and not supported windows tests
* addressing comments
* changing to incremental counter for file names
* add comment to the counter
* fix anaylze issues
* using takescreenshot method from the iosSimulator.
* address reviewer comments
* fix the scaling issue. disable eronous test
* change the smoke file for top gap 282
* change the variable name for scale factor
* 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
* 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
A recent change to the analyzer package introduced an API incompatibility with
the build_resolvers package. The analyzer package needs to be pinned to an
older version until this is resolved.
* use web drivers as a library only. do not fetch/clone web_installers
* fixing comments
* addressing reviewer comments
* adding a trim to output. otherwise last fails
* 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.
* [web] Update build_web_compilers to 2.7.1
This was causing problems with the dart compiler location
for web.
The compiler seems to be present in out/host_debug_unopt/dart-sdk/lib/dev_compiler/kernel/amd/dart_sdk.js as opposed to out/host_debug_unopt/dart-sdk/lib/dev_compiler/amd/dart_sdk.js
* also update build_runner
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.
- 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