39 Commits

Author SHA1 Message Date
nturgut
3b2da6be9f
[web] enabling firefox screenshot tests. adding to documentation (#21807)
* enabling firefox screenshot tests. adding to documentation

* test with correct goldens

* update goldens SHA

* change the goldens with flutter/goldens repo

* do not run preparation step twice. this will cause test_results to be deleted
2020-10-13 19:26:34 -07:00
nturgut
38d8ebaa46
E2e screenshot tests2 (#21383)
* 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
2020-10-12 16:25:57 -07:00
nturgut
d877b830cb
[web] enable ios safari screenshot tests (#21226)
* enable ios safari screenshot tests

* this is the value used for screenshots in the repo.

* change revision

* fix the error made in the gaps

* do not try to fetch on LUCI

* lunix luci migth break existing prs. only skip fetching for mac

* add a placeholder tests for shadow golden test

* try to use iPhone 11 Pro on LUCI

* change the scale and the smoke test image

* add unmerged goldens PR to tests all the screenshots. will be removed later

* change the goldens lock back to flutter/goldens

* change wrong comment on screenshot tests block

* address reviewer comments

* change the commit number for goldens file

* skip canvas blend mode tests

* debugging LUCI error

* debugging LUCI error printing directory contents

* skip one test, remove the debug logs

* change the revision number to include the correct chrome files
2020-09-25 12:30:57 -07:00
nturgut
6e42b54d59
creating test result directory before running tests (#21324)
* creating test result directory. adding a prepare method to test runner

* addressing reviewer comments
2020-09-22 12:51:14 -07:00
nturgut
c5588af6fa
[web] run safari desktop tests on luci (#21228)
* run safari desktop tests on luci

* fix safari issue. focus on dom element when new transform is received. add transform to test cases

* Update text_editing.dart

minor change to retrigger tests (recipe change is merged)
2020-09-17 13:00:06 -07:00
nturgut
1cabedf8ac
running screenshot tests on ios-safari unit tests (#20963)
* 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
2020-09-15 12:36:00 -07:00
nturgut
80a1cac4fc
Fix debugging issue (#20841) 2020-08-28 10:03:55 -07:00
nturgut
bb24b4938f
[web] Build unit tests with dart2js instead of build_runner (#20390)
* 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
2020-08-17 16:19:27 -07:00
nturgut
c134e1658d
add information collection for safari bots (#20123)
* add information collection for safari bots

* remove unused parts. add cast to fix analyze errors

* add more information. address reviwer comments

* address reviewr comments

* typo fix
2020-07-30 15:21:34 -07:00
nturgut
4220301e40
re-enable integration tests. increase sdk version. (#20075) 2020-07-27 19:37:47 -07:00
nturgut
f27729e97b
both trees are red, stop running integration tests (#20060) 2020-07-27 11:15:56 -07:00
nturgut
d758e069da
collect logs using the new web_installers repo (#19298) 2020-06-25 10:27:53 -07:00
nturgut
2c04b9ab8e
skip ios safari tests on felt level (#19280)
* 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
2020-06-24 20:51:38 -07:00
nturgut
683cc1594d
Enable firefox integration tests (#19164)
* firefox integration tests enable

* addressing reviewer comments
2020-06-22 13:16:57 -07:00
nturgut
a358e99a6e
[web] Running integration tests on Safari on Local (#18488)
* rebase. carry driver functionality to drivermanager

* rebase. nabling integration tests on Safari on MacOS

* addressing reviewer comments, updating web_drivers dependency commit number

* addressing reviewer comments

* addressing reviewer comments
2020-06-18 16:48:04 -07:00
Yegor
00aa0bc071
take web_ui to null safety (#19027)
move web_ui to NNBD syntax
2020-06-16 15:28:06 -07:00
nturgut
eaa2f7f90f
[web] running ios unit tests from felt … (#18856)
* 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
2020-06-10 09:33:17 -07:00
Yegor
f49bd05014
implement SkPath.computeMetrics (#18667)
* implement SkPath.computeMetrics
2020-06-01 09:43:15 -07:00
nturgut
cb71dcd377
Run integration tests on luci, use cipd package for Chrome (#18180)
* 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
2020-05-15 12:46:53 -07:00
Yegor
703525502b
make compiler worker count configurable (#17616)
* make compiler worker count configurable
2020-05-08 11:18:02 -07:00
Nurhan Turgut
deef2663ac
Run integration tests on ci (#17598)
* 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
2020-04-13 09:54:54 -07:00
Nurhan Turgut
6245149b41
[web] using pkill to quit safari (#17533)
* 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
2020-04-08 17:35:10 -07:00
Yegor
7bd8dee5be
fix implicit dynamic and two lints everywhere; implicit cast in dev/ (#17372) 2020-03-29 19:23:37 -07:00
Nurhan Turgut
44fc6760d7
[web] improving felt: running target unit tests, cleaning up used proccesses (#17339)
* improving felt: running target unit tests, cleaning up used proccesses

* removing null check
2020-03-26 14:01:36 -07:00
Nurhan Turgut
48902d146a
Felt add integration (#17190)
* 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.
2020-03-20 19:24:13 -07:00
vsmenon
0ef67b5e74
opt out dart:ui from nnbd (#16473)
* opt out dart:ui from nnbd

* Annotate tests as well
2020-02-20 11:04:00 -08:00
Nurhan Turgut
bc41ab5139
[web] Add Edge support for Flutter Engine unit-tests. (#15641)
* 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
2020-01-14 16:44:44 -08:00
Nurhan Turgut
94c5b9f7d4 modify test_runner.dart for windows to fix test build errors (#15326) 2020-01-09 14:58:01 -08:00
Nurhan Turgut
2805da9e5d
Enable web engine unit tests on Firefox (#14267)
* Enable web engine unit tests on Firefox

* addressing PR comments

* addressing PR comments

* fix the version name on the lock file
2019-12-09 16:27:14 -08:00
Nurhan Turgut
91ef612ee0
[web] [tests] Changing configurations for firefox (#14148)
* Changing configurations for firefox

* remove headless

* change comments on configurations files

* remove unused boolean
2019-12-05 15:17:34 -08:00
Nurhan Turgut
333a8058c6
Changing test runner and platform to be browser independent (#13869)
* 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:
2019-11-19 12:18:10 -08:00
Nurhan Turgut
3b97d3a329
[web] [test] Adding firefox install functionality to the test platform (#13272)
* 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.
2019-10-23 14:41:49 -07:00
Mouad Debbar
98e6d15663
Preserve stdout colors of subprocesses run by felt (#13209) 2019-10-18 10:41:44 -07:00
Yegor
6611e170d3
use rest args for specifying test targets (#13088) 2019-10-11 13:44:55 -07:00
Yegor
bba0065cf6
add option for bulk-updating screenshots; update screenshots (#12797)
* add option for bulk-updating screenshots; update screenshots
2019-10-04 15:07:05 -07:00
Yegor
3360d861e5
[web] filter test targets; cache host.dart compilation (#12445)
* filter test targets; cache host.dart compilation
2019-09-25 13:51:00 -07:00
Mouad Debbar
968c3aa169
Refactor and polish the 'felt' tool (#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
e9c998468e
add a convenience CLI tool for building and testing web engine (#12197) 2019-09-10 14:52:57 -07:00
Yegor
954f1988c5
Add custom test plugin that supports screenshot tests (#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