Commit Graph

258 Commits

Author SHA1 Message Date
Emmanuel Garcia
30493a35b6
Test Gradle on Windows (#42709) 2019-10-21 16:42:46 -07:00
Ian Hickson
124dc6617f
Clean up test infrastructure (#43030)
See #41880 for history.
2019-10-18 16:35:39 -07:00
Jonah Williams
1982a5c3ec
Revert "Clean up test infrastructure (#41880)" (#42982)
This reverts commit 1781d5c9bb.
2019-10-17 19:47:16 -07:00
Ian Hickson
1781d5c9bb
Clean up test infrastructure (#41880) 2019-10-17 19:22:47 -07:00
Emmanuel Garcia
08c645b3b2
Test the Android embedding v2 (#42708)
* Test the Android embedding v2

* Update integration tests

* Split into shards
2019-10-16 21:26:10 -07:00
Yegor
86f069f1c0
Add most of the widget tests; add more web test shards (#42807) 2019-10-16 09:18:44 -07:00
Yegor
21a18fbe16
enable rendering rests on the Web (#42773) 2019-10-15 15:25:47 -07:00
Yegor
3bc3b323c4
Reland: fix and add painting web tests (#42689) 2019-10-14 21:22:44 -07:00
Yegor
163be41d80
Revert "Fix and enable painting tests on the Web (#42546)" (#42687)
This reverts commit 13a1b1e3b9. It broke the build.
2019-10-14 15:14:16 -07:00
Yegor
13a1b1e3b9
Fix and enable painting tests on the Web (#42546)
fix and enable painting tests on the Web
2019-10-14 14:34:15 -07:00
Yegor
9cd9680b5e
Shard web tests; enable semantics tests on the Web (#42203)
Shard web tests; enable semantics tests on the Web
2019-10-10 07:04:38 -07:00
Emmanuel Garcia
1d2eaaf204
Ensure that flutter assets are copied in the AAR (#42306) 2019-10-09 16:29:20 -07:00
Yegor
ebfe6020b8
Enable more web tests; use blacklist to filter them out (#41922)
Add more web tests;use blacklist instead of whitelist
2019-10-07 15:05:24 -07:00
Jenn Magder
4331c172d7
Set DEFINES_MODULE=YES in plugin templates (#41828) 2019-10-03 18:35:20 -07:00
Yegor
33f4f8e6df
run services tests on the Web (#41806) 2019-10-02 15:11:22 -07:00
Ian Hickson
8c6d60bcfd
Move commands into their own shard (#39140) 2019-10-02 12:46:51 -07:00
Christopher Fujino
e70236e36c
Fix tools test verifyVersion() regex (#41744) 2019-10-02 09:32:30 -07:00
Jonah Williams
b2f38396f4
Reland: Switch to assemble API for dart2js (#41659)
* Stop using build_runner for dart2js

* fixes to yield when computing hashes and to imports

* add missing await

* Update filecache_test.dart

* Fix paths in filecache test

* use file uri for import

* add test cases and configurable override

* remove test dep

* fix filepaths for windows

* test no longer failing

* fix paths for test cases

* fix typo

* address comments

* make a constant

* make filehash async and use constant

* fix silly logic error
2019-10-01 14:03:42 -07:00
Yegor
8246785f3f
Spawn no more than 1 iframe in web tests. Using multiple iframes in DDK mode times out tests. Also set concurrency to 1 to guarantee that the test runner does not even attempt to parallelize tests. (#40630)
Spawn no more than 1 iframe in web tests. Using multiple iframes in DDK mode times out tests. Also set concurrency to 1 to guarantee that the test runner does not even attempt to parallelize tests.
2019-10-01 13:58:05 -07:00
Jonah Williams
06a6fdbf23
Revert "Switch to assemble API for dart2js (#41447)" (#41658) 2019-09-30 18:35:01 -07:00
Jonah Williams
ccc3dd968c
Switch to assemble API for dart2js (#41447) 2019-09-30 18:26:28 -07:00
Emmanuel Garcia
16d408a7a0
Reland #40810: Re-enable AAR plugins when an AndroidX failure occurred (#41160) 2019-09-24 16:16:22 -07:00
Emmanuel Garcia
2c8813c86c
Revert "Re-enable AAR plugins when an AndroidX failure occurred (#40810)" (#41042)
This reverts commit 96482eeb5c.
2019-09-23 09:28:38 -07:00
Emmanuel Garcia
96482eeb5c
Re-enable AAR plugins when an AndroidX failure occurred (#40810) 2019-09-20 08:28:52 -07:00
Alexandre Ardhuin
a36f809e27
add missing trailing commas (in dev/) (#40704) 2019-09-19 07:54:46 +02:00
Amir Hardon
4e108b6f90
Exclude non Android plugins from Gradle build (#40640)
Before this change, having an Android app depend on a plugin that has no android implementation resulted in a Gradle build failure.

This scenario is likely to become more common if we're enabling federated plugins, as the package implementing just the desktop implementation of a plugin won't have an Android implementation.

This changes the Gradle plugin to not try to build any plugins that doesn't have an android/build.gradle file.
2019-09-18 16:42:20 -07:00
Alexandre Ardhuin
df4bf453ab
more UI-as-code (#35516) 2019-09-17 16:23:44 +02:00
Emmanuel Garcia
0df1594ba2
Enable the resource shrinker (#40610) 2019-09-16 15:27:05 -07:00
Jonah Williams
91af071570
ensure dart2js does not compile unsupported packages (#40368) 2019-09-12 15:25:21 -07:00
Emmanuel Garcia
1676b012e8
Disable foundation tests (#40200) 2019-09-10 19:01:12 -07:00
Harry Terkelsen
d33cf11556
Automatically generated registrants for web plugins (#39628)
* WIP on web plugin registry

* WIP on registering plugins

* WIP on web plugin registration

* Only generate `package:flutter_web_plugins` imports if plugins are
defined

* Add parsing test

* Add documentation

* Fix analyzer warnings

* add license headers

* Add tests for package:flutter_web_plugins

* Run `flutter update-packages --force-upgrade`

* Fix analyzer errors

* Fix analyzer error in test

* Update copyright and remove flutter SDK constraints

* Enable tests since engine has rolled

* add flutter_web_plugins tests to bots

* Create an empty .packages file for WebFs test
2019-09-03 10:37:34 -07:00
Yegor
190698d0d2
run web tests in batches; enable foundation tests (#37268)
* shard tests

* make foundation tests pass
2019-08-23 13:23:48 -07:00
∂ω∂
4277f364ff flutter_tools/version: git log.showSignature=false (#38576) 2019-08-21 13:55:57 -07:00
Ian Hickson
e0a31de61b
Clean up bots output (#36864) 2019-08-20 14:53:39 -07:00
James D. Lin
b2f8d3a668
Instrument pending timers in tests (#37646)
Flutter widget tests assert if a test completes with timers still
pending.  However, it can be hard to diagnose where a pending timer
came from.  For example, a widget might consume a third-party library
that internally uses a timer.

I added a FakeAsync.pendingTimersDebugInfo getter to quiver
(https://github.com/google/quiver-dart/pull/500).  Make flutter_test
use it.

Additionally modify Flutter's debugPrintStack to take an optional
StackTrace argument instead of always printing StackTrace.current.

Fixes #4237.
2019-08-20 10:28:49 -07:00
James Lin
4f3b70671c Add assert messages 2019-08-15 16:47:20 -07:00
James Lin
e3ffa7689a Update with review feedback from dnfield and jonahwilliams 2019-08-15 16:47:20 -07:00
James Lin
c02b805cdc Give _runFlutterTest the ability to validate command output
In another change (#37646), I want to test that a test fails and
prints expected output.  I didn't see an existing way to do that, so
I modified `_runFlutterTest` and `runCommand` to allow capturing the
output.  Currently capturing and printing output are mutually
exclusive since we don't need both.

Some awkward bits:
* There already exists a `runAndGetStdout` function that is very
  similar to `runCommand`, and this change makes the conceptual
  distinction more confusing.

* `runFlutterTest` has multiple code paths for different
  configurations.  I don't understand what the different paths are
  for, and I added output checking only along one of them.
2019-08-15 16:47:20 -07:00
Yegor
9bc298deb6
update dependencies; add a Web smoke test (#37816)
update dependencies; add a Web smoke test
2019-08-09 09:58:49 -07:00
Jenn Magder
af1bbc4374
Disable flaky test (#37442) 2019-08-01 17:22:17 -07:00
Emmanuel Garcia
9f39cad4ed
Allow flavors and custom build types in host app (#36805)
Fixes these issues:
#30916
#34089
#36479
#29648
2019-07-29 09:26:41 -07:00
Michael Klimushyn
30eec11e7d Roll back the AAR build experiment (#36966)
* Roll back the AAR build experiment

This has been breaking flutter/plugins CI for the past day.

* Remove integration tests that rely on the AAR flag
2019-07-25 20:54:10 -07:00
Emmanuel Garcia
c469b1fea9
Add annotation dependency to plugins (#36886)
Fixes #36817
2019-07-25 08:49:24 -07:00
Emmanuel Garcia
242a4225a1
Flutter build aar (#36732)
`flutter build aar`

This new build command works just like `flutter build apk` or `flutter build appbundle`, but for plugin and module projects.

This PR also refactors how plugins are included in app or module projects. By building the plugins as AARs, the Android Gradle plugin is able to use Jetifier to translate support libraries into AndroidX libraries for all the plugin's native code. Thus, reducing the error rate when using AndroidX in apps.

This change also allows to build modules as AARs, so developers can take these artifacts and distribute them along with the native host app without the need of the Flutter tool. This is a requirement for add to app.

`flutter build aar` generates POM artifacts (XML files) which contain metadata about the native dependencies used by the plugin. This allows Gradle to resolve dependencies at the app level. The result of this new build command is a single build/outputs/repo, the local repository that contains all the generated AARs and POM files.

In a Flutter app project, this local repo is used by the Flutter Gradle plugin to resolve the plugin dependencies. In add to app case, the developer needs to configure the local repo and the dependency manually in `build.gradle`:


repositories {
    maven {
        url "<path-to-flutter-module>build/host/outputs/repo"
    }
}

dependencies {
    implementation("<package-name>:flutter_<build-mode>:1.0@aar") {
       transitive = true
    }
}
2019-07-23 09:27:42 -07:00
Emmanuel Garcia
c9b466f9e2
Revert "Add flutter build aar (#35217)" (#36731)
This reverts commit 11460b8378.
2019-07-22 22:07:59 -07:00
Emmanuel Garcia
11460b8378
Add flutter build aar (#35217)
`flutter build aar`

This new build command works just like `flutter build apk` or `flutter build appbundle`, but for plugin and module projects.

This PR also refactors how plugins are included in app or module projects. By building the plugins as AARs, the Android Gradle plugin is able to use Jetifier to translate support libraries into AndroidX libraries for all the plugin's native code. Thus, reducing the error rate when using AndroidX in apps.

This change also allows to build modules as AARs, so developers can take these artifacts and distribute them along with the native host app without the need of the Flutter tool. This is a requirement for add to app.

`flutter build aar` generates POM artifacts (XML files) which contain metadata about the native dependencies used by the plugin. This allows Gradle to resolve dependencies at the app level. The result of this new build command is a single build/outputs/repo, the local repository that contains all the generated AARs and POM files.

In a Flutter app project, this local repo is used by the Flutter Gradle plugin to resolve the plugin dependencies. In add to app case, the developer needs to configure the local repo and the dependency manually in `build.gradle`:


repositories {
    maven {
        url "<path-to-flutter-module>build/host/outputs/repo"
    }
}

dependencies {
    implementation("<package-name>:flutter_<build-mode>:1.0@aar") {
       transitive = true
    }
}
2019-07-22 20:46:01 -07:00
Jonah Williams
3fedb8cb5a
Reland: use flutter features for web and desktop (#36699) 2019-07-22 15:34:03 -07:00
Jonah Williams
8eae2dfb92
Revert "Use FlutterFeatures to configure web and desktop devices (#36465)" (#36654)
This reverts commit bd52a78c71.
2019-07-21 21:47:43 -07:00
Jonah Williams
bd52a78c71
Use FlutterFeatures to configure web and desktop devices (#36465) 2019-07-21 18:21:15 -07:00
Kate Lovett
09002457f9
Fix test_widgets-windows not running tests (#36468) 2019-07-19 10:43:58 -07:00
Dan Field
289064721d
Fix windows, exclude widgets from others (#36197) 2019-07-15 12:34:53 -07:00
Ian Hickson
d919e694b8
Move tools tests into a general.shard directory in preparation to changing how we shard tools tests (#36108) 2019-07-13 11:51:44 -07:00
Jonah Williams
fb9ff9296e
fix linesplitter (#36006) 2019-07-11 16:52:14 -07:00
gaaclarke
3122786ad5
Fixed build of example code to use new binary messenger API. (#35825)
Fixed build of example code to use new binary messenger API.
2019-07-10 13:10:05 -07:00
Jonah Williams
2b20345bb8
use pub run for create test and remove [INFO] logs (#35839) 2019-07-10 08:48:01 -07:00
Jenn Magder
2ad5376a06
Build all example projects in CI build smoke test (#35778) 2019-07-09 16:00:33 -07:00
Alexandre Ardhuin
758009ba70
more ui-as-code (#35393)
* more ui-as-code

* address review comments
2019-07-02 21:11:56 +02:00
Alexandre Ardhuin
919dcf53f3
enable lints prefer_spread_collections and prefer_inlined_adds (#35189) 2019-06-27 21:23:16 +02:00
Jonah Williams
33ad5bac34
Attempt to enable tool coverage redux (#35074) 2019-06-26 16:02:49 -07:00
Dan Field
bb79ff3b49
More shards (#34877)
Shard tool_tests
2019-06-26 13:55:16 -07:00
Dan Field
3630525673
Shard gradle tests (#34857) 2019-06-21 12:05:06 -07:00
Dan Field
a0fc3f3150
Shard framework tests (#34812) 2019-06-20 14:35:33 -07:00
Jonah Williams
449d4b1ee5
disable widgets and material (#34739) 2019-06-19 15:51:31 -07:00
Jonah Williams
c1a2e44c78
Allow flaky tests to pass or fail and mark web tests as flaky (#34456) 2019-06-13 17:52:04 -07:00
Jonah Williams
3ae6abd9e8
Compatibility pass on flutter/material tests for JavaScript compilation. (9) (#33378) 2019-06-12 17:06:01 -07:00
Emmanuel Garcia
21a532698f
Split gradle_plugin_test.dart (#34282)
Fixes timeout when running gradle_plugin_test
2019-06-11 16:24:03 -07:00
Jonah Williams
9d724d4c44
Compatibility pass on flutter/widgets tests for JavaScript compilation. (8) (#33377) 2019-06-11 14:51:03 -07:00
Jonah Williams
7cc716187b
Compatibility pass on flutter/semantics tests for JavaScript compilation. (7) (#33360) 2019-06-11 11:22:37 -07:00
Jonah Williams
05e92c828b
Compatibility pass on flutter/physics tests for JavaScript compilation. (6) (#33359) 2019-06-11 09:09:13 -07:00
Jonah Williams
ca14af6b92
Compatibility pass on flutter/rendering tests for JavaScript compilation. (5) (#33355) 2019-06-10 17:29:46 -07:00
Jonah Williams
c88f64ed50
Compatibility pass on flutter/services tests for JavaScript compilation. (4) (#33354) 2019-06-10 15:46:36 -07:00
Jonah Williams
c05fa894e6
Compatibility pass on flutter/painting tests for JavaScript compilation. (3) (#33352) 2019-06-10 14:05:51 -07:00
Jonah Williams
980a574d4c
Compatibility pass on flutter/scheduler tests for JavaScript compilation. (2) (#33350) 2019-06-10 10:17:53 -07:00
Jonah Williams
7f7c00a4e9
Enable web foundation tests (#34032) 2019-06-09 11:03:46 -07:00
Jonah Williams
698d458dc8
Add chrome stable to dockerfile and web shard (#33787) 2019-06-06 21:10:24 -07:00
Jonah Williams
3f4ce34877
make sure version check includes hotfixes (#33459) 2019-06-06 15:28:20 -07:00
Ian Hickson
2767d37c96 RTL caret in text fields (#33461) 2019-06-03 10:25:54 -07:00
Jonah Williams
0a2175f133
Pass FLUTTER_TOOL_ARGS to snapshot command. (#29938) 2019-03-27 15:24:08 -07:00
Jonah Williams
44b22c7b04
Fix cache location, artifacts, and re-enable dart2js test (#29783) 2019-03-25 18:47:37 -07:00
Jonah Williams
55a2ee588d
make build runner configurable (#29568) 2019-03-18 15:50:11 -07:00
Jonah Williams
72605d2406
Switch flutter_tools from script to app-jit snapshot. (#27749) 2019-03-15 19:33:24 -07:00
Jonah Williams
7bed378e22
Only run codegen at start of flutter_test (#29171) 2019-03-14 17:12:40 -07:00
Dan Field
97a8120969
guard new formatter behind env var (#29340)
* guard new formatter behind env var
2019-03-14 08:26:59 -07:00
Dan Field
b9f013c044
Make sure test reporter prints out stderr, and disables Bigquery for non-contributors (#29073)
* print stderr to stderr, no bq if not contributor

* let test continue of bigquery fails
2019-03-10 11:26:17 -07:00
Dan Field
2a644f301e
Run non-perf sensitive tests on Cirrus (#27971)
* Run non-perf sensisitive tests on Cirrus
2019-03-10 07:52:44 -07:00
Dan Field
3af88c5550
add heartbeat (#29056) 2019-03-08 16:12:27 -08:00
Jonah Williams
77142b8257
Revert "re-enable dart2js test (#29010)" (#29030)
This reverts commit 6a7f231d89.
2019-03-07 22:18:15 -08:00
Jonah Williams
6a7f231d89
re-enable dart2js test (#29010) 2019-03-07 21:56:02 -08:00
Dan Field
a3b484d0da
make coverage work again (#29016) 2019-03-07 18:59:43 -08:00
Dan Field
f67a529e6d
Fix coverage shard and print summary after test run (#28970)
* Fix coverage shard

* clarify

* Make sure we print test results

* Actually report test results before exiting

* revert unintended changes
2019-03-07 11:31:35 -08:00
Dan Field
e5b1ed7a7f
Fix for post submit on cirrus (#28963)
* Fix for post submit on cirrus
2019-03-06 14:23:37 -08:00
Dan Field
20e0f13cc9
Test reporter (#28297)
* Wrap test.main with a custom processor
* Report test results to bigquery table
2019-03-06 13:13:45 -08:00
Jonah Williams
d91cfffa50
switch tool tests to build runner (#28759) 2019-03-01 19:18:38 -08:00
Alexandre Ardhuin
387f885481
Add missing trailing commas (#28673)
* add trailing commas on list/map/parameters

* add trailing commas on Invocation with nb of arg>1

* add commas for widget containing widgets

* add trailing commas if instantiation contains trailing comma

* revert bad change
2019-03-01 08:17:55 +01:00
Jonah Williams
6350d0b48f
disable dart2js test (#28555) 2019-02-27 12:37:39 -08:00
Dan Field
b484a9129c
add2app test (#27712)
* add2app test
2019-02-23 09:56:27 -08:00
Jonah Williams
9bc5656637
Wire dart2js through flutter tool, add compilation test (#27668) 2019-02-14 22:42:30 -08:00
Danny Tuppeny
c19142d8b7
Support ANDROID_SDK_ROOT in addition to ANDROID_HOME (#25221)
* Fall back to ANDROID_SDK_ROOT if ANDROID_HOME is not set

And update descriptions to use the non-deprecated ANDROID_SDK_ROOT.

Fixes #15114.

* Remove trailing whitespace

* Update dev/devicelab/lib/framework/adb.dart

Co-Authored-By: DanTup <danny@tuppeny.com>

* Reformat long line
2018-12-17 17:29:09 +00:00
Dan Field
72926bdff7
Smoke test building IPA and APK on supported platforms (#24601)
* build tests - AOT on all, APK on Linux, IPA on Mac
2018-11-29 09:32:11 -08:00
Todd Volkert
b4ae4b00ae
Go back to -j1 in flutter_tools tests (#24196)
To see if it stops the Cirrus crashing
2018-11-09 17:31:17 -08:00