52 Commits

Author SHA1 Message Date
Harry Terkelsen
5b9cd44b1a
Automatically download Noto fonts as backup fonts in CanvasKit mode (#23728)
* Revert "Revert "[CanvasKit] Automatically fall back to Noto fonts (#23096)" (#23357)"

This reverts commit f9f4d0168dc6e03324844db942a4bca717ebb2e0.

* WIP

* Use an Interval Tree to store the unicode ranges for the Noto Fonts

* Update licenses

* Remove debug print statements

* Respond to comments

* Fix analysis error

* Add tests

* Respond to comments

* Fix test

* Update goldens lock

* Skip screenshot test on Safari

* Skip CanvasKit tests on iOS Safari

* Move CanvasKit initialization so it doesn't run on iOS Safari
2021-01-21 12:58:33 -08:00
Mouad Debbar
9bc776a841
[web] Add --watch flag to 'felt test' (#23727) 2021-01-19 13:16:00 -08:00
Yegor
2bcb01b80c
Add flt-renderer and flt-build-mode debug attributes to <body> (#23430)
* add flt-renderer and flt-build-mode debug attributes to <body>
* explicitly specify renderer in tests
2021-01-08 18:45:45 -08:00
Ferhat
8222475ece
[web] Reland - Switch web-render option default to auto (#23454) 2021-01-06 10:00:52 -08:00
Ferhat
e056a449e7
Revert "[web] Reland - Switch web-render option default to auto (#23313)" (#23321)
This reverts commit 9c7c83306f1c25e066c98761cac560ec252a7b02.
2020-12-28 16:27:10 -08:00
Ferhat
9c7c83306f
[web] Reland - Switch web-render option default to auto (#23313) 2020-12-28 11:10:38 -08:00
nturgut
b7cd3f8e70
Revert "Re-merge Switch web-render option default to auto. Add documentation (#23187)" (#23246)
This reverts commit 08d5c33b02996e3384f48f9160ed2047b5be4c66.
2020-12-22 12:02:26 -08:00
nturgut
08d5c33b02
Re-merge Switch web-render option default to auto. Add documentation (#23187) 2020-12-21 09:56:02 -08:00
Zachary Anderson
67cb0f382e
Revert "[web] Switch web-render option default to auto (#23090)" (#23161)
This reverts commit 50e7d89163418b73be4b376ac96a335856da1224.
2020-12-17 18:22:36 -08:00
Ferhat
50e7d89163
[web] Switch web-render option default to auto (#23090) 2020-12-16 16:43:13 -08:00
Yegor
37738353cd
Make CkPicture resurrectable (#22807)
* Make CkPicture resurrectable

* disable goldens on Firefox

* add non-recording canvas test; fix Firefox test
2020-12-03 13:13:44 -08:00
nturgut
4d44b7e7d9
Upgrades to felt (running on multiple modes, multiple backends, single test target option) (#22260)
* testing running the tests on all build modes

* don't run debug mode on other browsers

* fix platform message test failures

* some cleanup. change dispose platform channel message

* adding flags to control the integration tests better with felt

* running tests by target name, selecting web rendering backend

* fix conditions

* carrying some conditions to helper methods. Adding comments

* create a blocked list for failing canvaskit test

* parse parameters before all integration tests

* Give better warning to developers for tests that are blocked for CI

* address some reviwer comments (more remains)

* remove named parameters

* also run with auto mode

* add verbose option

* reduce the number of tests running. skip url_test for now
2020-11-11 17:18:15 -08:00
Yegor
1e3ceb037f
Update pubspecs to null-safe dependencies (#22366)
* update pubspecs to null-safe dependencies

* remove build_runner dep; upgrade quiver

* use analysis_options.yaml to control analysis scope
2020-11-06 17:54:53 -08:00
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