Commit Graph

46 Commits

Author SHA1 Message Date
Alexander Thomas d28c5499fc [infra] Add support for app_jitk compiler to test.py (#33126)
* Add app_jitk configuration to test matrix.
* Skip it on non-Dart 2 test suites.

Change-Id: I05f75dbbd33d34a4acf4df1fe63104933d39d2fe
Reviewed-on: https://dart-review.googlesource.com/56113
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-05-28 11:54:56 +00:00
Lasse R.H. Nielsen 973a1a0219 Remove uses of upper-case constants in remaining SDK code.
This includes Fasta, tools and observatory, so the checked-in SDK must
have the lower-case constants.

Change-Id: I8380ad041ad058f7d02ae19caccfecd434d13d75
Reviewed-on: https://dart-review.googlesource.com/50201
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-04-16 16:11:57 +00:00
Alexander Thomas a60d803913 [infra] Add --no-preview-dart-2 support for the analyzer to test.py
https://github.com/dart-lang/sdk/issues/32609

Change-Id: I5a7009a55a26452eae6e6465aeb78cecab91b476
Reviewed-on: https://dart-review.googlesource.com/50725
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-11 15:16:36 +00:00
Sigmund Cherem c438f8b3f4 Dart2js defaults to the new common front-end
Change-Id: Id0f69d258b010a746b56e259335185bcca7dafec
Reviewed-on: https://dart-review.googlesource.com/45143
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-03-13 19:25:59 +00:00
Sigmund Cherem 21c9372d8d Add dart2js-old-frontend option to test.py
Change-Id: I4e762bd5e50b2ff8a91b29e8067e47351ace94f7
Reviewed-on: https://dart-review.googlesource.com/44380
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-02-28 23:21:24 +00:00
Peter von der Ahé 01e95adcc6 Implement default runtime and mode for Fasta and other compilers
Fixes https://github.com/dart-lang/sdk/issues/32169

Change-Id: I574aab13acedc8afe63cd5c7c055183643452013
Reviewed-on: https://dart-review.googlesource.com/41661
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-02-15 11:19:12 +00:00
Peter von der Ahé f8f312c787 Prepare for fasta compiler configuration in test.dart
Change-Id: I4c7f7c7b39e07eee42b4dd5375fb855d3348ac49
Reviewed-on: https://dart-review.googlesource.com/39121
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-06 15:11:52 +00:00
Sigmund Cherem 444f65315e Pass --strong to dart2js when running in strong mode
Change-Id: I6ddf9e51547e2c7163c82e4433ce3f0fb527173a
Reviewed-on: https://dart-review.googlesource.com/36382
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-01-23 08:23:26 +00:00
Erik Corry 5ed2f25f40 There is no longer a safarimobilesim test runtime.
And so there is no need to maintain status files for this platform.

R=whesse@google.com

Change-Id: Ie70e4b7308cfd9b1b179b2d1eeeb8f36dd1a62dc
Reviewed-on: https://dart-review.googlesource.com/34824
Commit-Queue: Erik Corry <erikcorry@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-01-17 13:13:17 +00:00
William Hesse 4d99c9fdf3 Add fasta variable to status files and test.py
Change-Id: Iffecf6cb54c3a58de96c44518a0ffd86b2688e27
Reviewed-on: https://dart-review.googlesource.com/34680
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-01-16 09:44:30 +00:00
Jenny Messerly cf38dfe0e1 Ensure strong mode flag is always set for DDC tests
This makes it easier to run DDC tests, and fixes a bug where DDC+Kernel
tests could be run without setting the strong mode flag.

Change-Id: I7b0632d903050c7385c553ba8d4562062084df28
Reviewed-on: https://dart-review.googlesource.com/34024
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-01-10 23:45:19 +00:00
Vyacheslav Egorov efca9c69ab [vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration.
Switch it to use pkg/vm/tool/dart2 which is the source of truth for what
Dart 2 VM configuration means. Don't pass any additional flags from
tools/test.py itself.

Align pkg/vm/tool/dart2 with what tools/test.py was passing to VM on _2 suites.

Make default invocation `tools/test.py -c dartk --strong -m release,debug`
green by updating status files and skipping suites that are not Dart 2.0
compliant. I have filed issues #31588 for isolate suite and #31587 for
service suite.

Reland of https://dart-review.googlesource.com/27820

Change-Id: I49400fae716f75425e70bf1e561b3375ba39157e
Reviewed-on: https://dart-review.googlesource.com/28565
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-12 12:19:10 +00:00
Vyacheslav Egorov e84fa65696 Revert "[vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration."
This reverts commit 50865e9387.

CQ on Mac is broken.

TBR=kustermann@google.com

Bug:
Change-Id: I41a7cab59c076dba4f25f5904725cca5bb4619c9
Reviewed-on: https://dart-review.googlesource.com/28420
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-11 21:07:43 +00:00
Vyacheslav Egorov 50865e9387 [vm/testing] Make --strong -c dartk configuration a Dart 2.0 configuration.
Switch it to use pkg/vm/tool/dart2 which is the source of truth for what
Dart 2 VM configuration means. Don't pass any additional flags from
tools/test.py itself.

Align pkg/vm/tool/dart2 with what tools/test.py was passing to VM on _2 suites.

Make default invocation `tools/test.py -c dartk --strong -m release,debug`
green by updating status files and skipping suites that are not Dart 2.0
compliant. I have filed issues #31588 for isolate suite and #31587 for
service suite.

Change-Id: I882b28f6a011eabf69c349ff0792b275434e39ff
Reviewed-on: https://dart-review.googlesource.com/27820
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-11 12:49:22 +00:00
Mike Fairhurst dcdd12cc1a Fix fasta progress checking script: collect stdout from passing tests
Required a new flag for test.py; passing tests may have multiple test
cases and to collect that we need the stdout. So you can now pass
--print_passing_stdout to get that.

Parse the result, doing some dances to handle

MM:SS +PP -FF Some tests failed

vs

MM:SS +PP All tests passed!

With even an extra line-ending in the latter case.

Bug:
Change-Id: Ic0b5591b4867508edd3f23a61a7764aa88762be6
Reviewed-on: https://dart-review.googlesource.com/24701
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-12-08 00:21:29 +00:00
Morten Krogh-Jespersen 63d3a1eae2 Add fast_tests option to test.py to skip slow and timeout.
This should improve running tests on the CQ.

Bug:
Change-Id: I8d749dfccd0611eea4f64d2844c0e7da6bf01502
Reviewed-on: https://dart-review.googlesource.com/17102
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Morten Krogh-jespersen <mkroghj@google.com>
2017-10-30 15:55:14 +00:00
Bob Nystrom 65411fe34f Pick default compiler and runtime arguments intelligently.
If you pass "-c" or "-r", but not both, choose a smart default for the
other instead of simply yelling at the user and telling them they
forgot something.

Change-Id: Ic47a20fa8f137a8f6488f16cf883839999e2225b
Reviewed-on: https://dart-review.googlesource.com/16905
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-10-27 22:11:07 +00:00
Bob Nystrom 9c0a6fd27c Add rudimentary support for dartdevk to test.dart.
It's added as a new compiler, so pass "-c dartdevk" to use it.

It doesn't support any test packages yet, so tests that, say, import
package expect won't compile. I'll work on that next, but it will
require adding some stuff to the build scripts to build .dill files for
those packages.

This does get test.dart invoking the compiler, running the resulting
test, and correctly reporting the result:

- A test that doesn't throw an exception and stays within the bounds of
  what is currently implemented in dartdevk passes.

- A test that compiles correctly but fails at runtime fails with a
  RuntimeError.

- A test that contains a compile error fails with a non-zero exit code
  and is reported as a CompileTimeError.

Change-Id: Icacbf1ff54dfe7aa4d245382d3b0aeb375cf105b
Reviewed-on: https://dart-review.googlesource.com/15420
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2017-10-20 16:00:28 +00:00
Morten Krogh-Jespersen b4e1f28e43 Add extra flags to output.
Bug:
Change-Id: I2f947b0ca91c0791fd85ea8e0e8cb8e27b2ee305
Reviewed-on: https://dart-review.googlesource.com/15520
Reviewed-by: William Hesse <whesse@google.com>
2017-10-20 13:34:01 +00:00
Bob Nystrom c341575a53 Colorize section headers and slightly clean up test output.
Of course, if you're not using the color formatter, it stays uncolored.
But this gets rid of some unnecessary empty lines and section headers
that have no content.

Change-Id: I5b83345c583b79468af84f4e67a12ee757a3105f
Reviewed-on: https://dart-review.googlesource.com/14720
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2017-10-19 21:45:57 +00:00
Bob Nystrom ba2e4aff24 Some minor clean-up in test.dart.
- Fix fuzzy arrow errors.
- Default the Dart repo URI so it doesn't always need to be explicitly
  set.
- Run dartfmt on everything.
- Move some members out of the garbage bin "TestUtils" class:
  - Move the stuff around the Dart repo directory to a new Repository
    class.
  - Move absolute() into Path where it belongs.
  - Move workingDirectory in Path since it is a Path.
  - Delete the random number stuff since it was apparently unused.

Change-Id: I3dab3a4f1713b7a749e64b6776149d05a0ce1b69
Reviewed-on: https://dart-review.googlesource.com/14502
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2017-10-19 19:05:58 +00:00
Erik Ernst 63de49ccde test.py will now run the spec parser.
This CL modifies tools/test.py such that it can run the spec parser
(after doing `make parser` in tools/spec_parser, and assuming that the
ANTLR 3 library is available at /usr/share/java/antlr3-runtime.jar)
with a command line like

  `tools/test.py -c spec_parser -r none language/callable_test`

It also changes status files to have a name which follows the expected
patterns (e.g., `language/language_spec_parser.status`). Finally, it
adds/changes many entries in status files, such that parsing of the
directories `language` and `language_2` run successfully.

Change-Id: I82a22e32ac4fecd23ac0d4434bcac08f75dd8ffe
Reviewed-on: https://dart-review.googlesource.com/12680
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-10-12 09:22:28 +00:00
Johnni Winther f9cb6c4137 Remove dart2js_with_kernel_in_ssa test option
Change-Id: I2da692a4d458acc4b36e14beb99e1fb9d2bdec70
Reviewed-on: https://dart-review.googlesource.com/10861
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-10-05 06:53:39 +00:00
Morten Krogh-Jespersen a0caa09bcf Listing of status files for win environment
Bug:
Change-Id: Idbc6990f60ba82fb88e3084370129432fc5c12ae
Reviewed-on: https://dart-review.googlesource.com/9486
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Morten Krogh-jespersen <mkroghj@google.com>
2017-09-29 12:15:23 +00:00
Morten Krogh-Jespersen d695a17edd Adding selectors to summary map.
Change-Id: Id5bfc3282b85415ccca6bf0b81595b67dcba9111
Reviewed-on: https://dart-review.googlesource.com/5663
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Morten Krogh-jespersen <mkroghj@google.com>
2017-09-14 13:15:58 +00:00
Morten Krogh-Jespersen a90bb3a104 Revert "Revert "Adding option to print out status files for a configuration.""
This reverts commit f50c2c2b6a.

Bug:
Change-Id: I895c1e498b58999127ebb6d7656c12fba1cb338b
Reviewed-on: https://dart-review.googlesource.com/5422
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Morten Krogh-jespersen <mkroghj@google.com>
2017-09-13 12:52:18 +00:00
William Hesse f50c2c2b6a Revert "Adding option to print out status files for a configuration."
This reverts commit 0fcffaaeb5.

Bug:
Change-Id: I8852ce88c190e420615314b7fe95bf9d69a5f8d1
TBR=mkroghj@google.com
Reviewed-on: https://dart-review.googlesource.com/5361
Reviewed-by: William Hesse <whesse@google.com>
2017-09-13 09:11:32 +00:00
Morten Krogh-Jespersen b3788bc610 Adding extra information to toSummaryMap().
This will allow external clients to rebuild an environment to
correctly identify tests in status files.

Change-Id: Id359224df758600161cc7e32472638559eee0719
Reviewed-on: https://dart-review.googlesource.com/3881
Reviewed-by: William Hesse <whesse@google.com>
2017-09-13 08:36:58 +00:00
Morten Krogh-Jespersen 0fcffaaeb5 Adding option to print out status files for a configuration.
This will help other tools to use the same status files at test.py
uses.

Bug:
Change-Id: Ib01d0c8368089a35682d0d79e257b8df01e54de6
Reviewed-on: https://dart-review.googlesource.com/3941
Reviewed-by: William Hesse <whesse@google.com>
2017-09-13 08:30:38 +00:00
Sigmund Cherem 436ed70100 Add preview-dart-2 flag to analyzer cli and plumb it through test.py.
This allows us to collect stats about language-style tests as follows:

 ./tools/test.py -m release -c dart2analyzer -r none --preview-dart-2 --report \
      language language_2 corelib corelib_2

As of this morning, the command above has 87% of the tests passing.

Change-Id: I0f84211d5f33659d5923601267367be90c578107
Reviewed-on: https://dart-review.googlesource.com/3381
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-09-07 20:13:40 +00:00
Morten Krogh-Jespersen 70e3e8aac1 Added json result of test output to output debug directory.
R=whesse@google.com

Review-Url: https://codereview.chromium.org/3005013002 .
2017-09-04 10:13:27 +02:00
Stephen Adams 88388cb5ca Revert "Remove support for "packages" URL from testing server."
This reverts commit f38f91bb7e.

Lots of browser bots are red with this change.
Hopefully it can be recommitted atomically with changes that fix the redness.

TBR=whesse@google.com

BUG=

Review-Url: https://codereview.chromium.org/2997753002 .
2017-08-10 17:04:21 -07:00
William Hesse f38f91bb7e Remove support for "packages" URL from testing server.
This support was only needed for testing Dartium.
This also removes the dependency upon package_resolver from test.py.

BUG=
R=eernst@google.com, mkroghj@google.com

Review-Url: https://codereview.chromium.org/2994073002 .
2017-08-10 14:33:07 +02:00
Jennifer Messerly 62303b6711 enable batch mode for dartdevc tests, also fix status so ddc bots pass
R=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2987393002 .
2017-08-03 14:39:45 -07:00
Sigmund Cherem 985dee0f5b We'll be using dart2js_with_kernel for a more general purpose, but need dart2js_with_kernel_in_ssa while we transition over.
R=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2981403002 .
2017-07-24 13:07:15 -07:00
Bob Nystrom 012774c78e Remove Dartium support from test.dart.
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2981223002 .
2017-07-20 12:46:50 -07:00
Erik Ernst 3b05eb9553 Add support to dart2js for option --enable-asserts.
R=johnniwinther@google.com, sigmund@google.com, sra@google.com

Review-Url: https://codereview.chromium.org/2879153005 .
2017-07-07 10:59:09 +02:00
Bob Nystrom 1bd907dc2e Run dartdevc tests on drt instead of Chrome on the bots.
Also, do another triage pass on the tests.

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2964043004 .
2017-07-05 09:45:16 -07:00
Zachary Anderson ac16656161 Remove MIPS support
R=asiva@google.com

Review-Url: https://codereview.chromium.org/2858623002 .
2017-06-22 08:49:22 -07:00
Bob Nystrom b452b39962 Basic support for dev_compiler in test.dart.
It can compile and run tests on Chrome. There are a lot of failing tests
that I (or the team) will need to triage, but I think at least basic
tests are working as expected.

There is code that could be cleaned up to more neatly factor how dart2js
and dartdevc are handled now that there are two separate compilers to
JS. There's also some redundant code between the path for testing
compile errors (enqueueStandardTest()) and the path for running a test
in the browser.

R=whesse@google.com

Review-Url: https://codereview.chromium.org/2947473002 .
2017-06-21 13:19:28 -07:00
Bob Nystrom 979026abef Don't allow "none" as a runtime for dartk.
Also, add a little sanity checking in TestCase.

Fix #29842.

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2941603002 .
2017-06-14 10:31:09 -07:00
Bob Nystrom 19cb0cafb7 Simplify test_suite.dart.
- Get rid of baseCommand, which is only ever an empty list.
- Move some utility classes out of the giant test_suite.dart.

R=whesse@google.com

Review-Url: https://codereview.chromium.org/2915843003 .
2017-06-09 16:46:49 -07:00
Bob Nystrom 8bc4e89219 Remove unused record and replay functionality.
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2920633002 .
2017-06-08 09:18:03 -07:00
Bob Nystrom 7e2d9ac85d Revert "Revert "Replace the configuration map with a typed object.""
This reverts commit 8bada4873a.

R=nweiz@google.com

Review-Url: https://codereview.chromium.org/2919573003 .
2017-05-31 15:39:23 -07:00
Bob Nystrom 8bada4873a Revert "Replace the configuration map with a typed object."
This reverts commit 06f75fe5cd.

Review-Url: https://codereview.chromium.org/2914893003 .
2017-05-31 15:08:21 -07:00
Bob Nystrom 06f75fe5cd Replace the configuration map with a typed object.
This is a pretty massive change but my hope is it will make
test.dart easier to maintain going forward. Instead of
passing around a stringly-typed Map<String, dynamic> all
throughout the program, we parse the options and then create
a Configuration object that has typed getters for all of the
various bits of configuration data.

This is a little tedious because it means declaring a new
option requires also declaring a corresponding field in the
Configuration class and passing it through the constructor.
I think it's worth it.

Also, enum-like configuration properties like architecture
and runtime now have their own classes as well. Moved a
bunch of stuff from TestUtil into those classes now that
there is an object to hang those methods off of.

In the process, I found a few typos in string literals where
the code wasn't correctly looking up a configuration
property.

Added more sanity checking and validation to status file
parsing. You will get an error at parse time if you try to
refer to a variable that isn't in the whitelist of known
variables. Also, you'll get an error if you try to compare
a variable to a value that it isn't expected to have.

Many other small-scale cleanups.

Aside from the status file validation, this should behave
mostly the same as current test.dart except that tests
may be enqueued in a slightly different order. The
rewritten code for expanding configurations iterates
through the architecture, runtime, etc. options in a
slightly different order.

R=whesse@google.com

Review-Url: https://codereview.chromium.org/2901923003 .
2017-05-31 14:47:31 -07:00