Specify extra shared options to the compiler and runtime via the
--shared-options= commandline option to test.py. For instance,
--shared-options=--enable-experiment=constant-update-2018 will enable
the front-end constant evaluation experiment for all tests run.
To avoid conflicts with tests explicitly enabling experiments, the
front-end parsing of experimental flags is changed to allow the same
flag to be mentioned several times, as long as the value is the same.
This matches the existing behavior of the analyzer.
Change-Id: I0c79e62b0b23ec7bc3824064dd27ef86b4451f9a
Reviewed-on: https://dart-review.googlesource.com/c/93501
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
This change makes named configurations central in test.dart. Previously
test.dart would attempt to emulate the steps taken by a builder. Instead it
now runs a single named configuration as a single step and invokes test.py
directly without any other arguments from the test steps. This better
matches the behavior of test.py and what the developers expect.
Either a named configuration or a builder must be specified. If both are
provided, then the results for that builder is downloaded and used to
compare with when running the named configuration. Otherwise if the only the
named configuration is provided, then it downloads results from all the
builders using the named configuration. Finally if only the builder is
provided, then the named configuration defaults to the one tested by the
builder. If the builder has multiple named configuration, the user is
asked to clarify which one should be tested.
This change adds support for branches to the test matrix. test.dart needs to
know which builders are on which branch, so it can download the relevant
results, and not look on builders that won't be building the right commit.
Fixes https://github.com/dart-lang/sdk/issues/35873
Change-Id: Ie7b75445b954250493528299a0b45eca4e0bb2e5
Reviewed-on: https://dart-review.googlesource.com/c/92780
Reviewed-by: William Hesse <whesse@google.com>
This change assigns systematic names to the builders for branches, where
those builders end in their branch name as the suffix. This will be used to
identify to which branch the builders belong.
Change-Id: Ifa3be5dbbd45d4f623f70dd36d12426d360b0c30
Reviewed-on: https://dart-review.googlesource.com/c/92741
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Previously, this only file names were allowed. However, deflaking may
run on a different machine than determinining which tests flaked. Allow
callers to specify a list of tests instead of a file, simplifies sharded
deflaking considerably.
Change-Id: I710f9aa8a8ef696a6982851106c0e171343dc190
Reviewed-on: https://dart-review.googlesource.com/c/92561
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Dartdoc > 0.18.1 allows generation of source code links
to documented objects. Enable this for the Dart SDK build.
Change-Id: Ib385d3e51f6f5852f37e591d7a60ba7b4e7f93c1
Reviewed-on: https://dart-review.googlesource.com/c/92303
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
This also adds a patch to flutter/flutter to fix head-head-head
configuration (until engine is rolled into framework again).
Change-Id: I6dae0983126a6664337834d3c93f1369139f1ac1
Reviewed-on: https://dart-review.googlesource.com/c/91922
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
The shards are currently defaulting to use j4 because the docker host
has 4 cores. 6 devices share one host and are therefore trying to run 20
processes competing for the only 4 physical cores. The docker hosts will
soon be upgraded to have 8 cores. j2 will result in 10 processes
competing for those 8 cores which should result in a better balance
between utilization and latency.
Change-Id: Ieb67cb92f17317108d1a1d3da710c58400484a7c
Reviewed-on: https://dart-review.googlesource.com/c/91540
Reviewed-by: William Hesse <whesse@google.com>
Support for the flutter runtime (sky_shell) was added to the Dart
test framework in the hope that one could run the flutter engine
through the Dart test suite. We never got around to running these
tests on the build bots, the sky_shell executable has been deprecated
and there are plans in the flutter engine team to have their own
unit test frame work.
See Issue https://github.com/flutter/flutter/issues/9115 for more
details.
Change-Id: I6ee9e8c919721dccecf4202ab0778939aeb79174
Reviewed-on: https://dart-review.googlesource.com/c/91103
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
All multitests expecting errors were just being reported as expecting "fail", not as expecting compile-time
or runtime error. Cleaned up legacy checked-only expectations as a side effect.
Change-Id: I7785db0e094e3af3464700fbc71aac30b8bb4282
Reviewed-on: https://dart-review.googlesource.com/c/90684
Reviewed-by: Jonas Termansen <sortie@google.com>
Auto-Submit: William Hesse <whesse@google.com>
- Improve `element.attributes.remove(name)` to compile to `element.removeAttribute(name)`.
- Improve `element.getNamespacedAttributes(namespace).remove(name)` to compile to
`element.removeAttributeNS(namespace, name)`.
- Add removeAttribute[NS].
- Add hasAttriute[NS].
- Assert attribute names are not null to prevent conversion to "null"/"undefined".
- TODO: Assert values are not null to prevent conversion to "null"/"undefined".
- namespaceURI does not need checking since null and undefined map to 'no namespace'.
Fixes https://github.com/dart-lang/sdk/issues/35655
Change-Id: Ie5bee23c88e8fb92f9d46f29fdf4b7f3175a2aa3
Reviewed-on: https://dart-review.googlesource.com/c/90160
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Terry Lucas <terry@google.com>