Commit graph

1865 commits

Author SHA1 Message Date
William Hesse aa5b1b1f2f Make test results in json format end with a newline
Change-Id: I88e0672dc8ee7ddf0020c33fae689f85669a0954
Reviewed-on: https://dart-review.googlesource.com/c/79044
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-10-10 13:43:58 +00:00
Peter von der Ahé 4db2bbe94d Pass SharedOptions to Fasta
Change-Id: Idf85bf49e0ddd47640719eb65044f0b6527f9d9c
Reviewed-on: https://dart-review.googlesource.com/c/78525
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-10-10 13:38:57 +00:00
Martin Kustermann 17ac151f44 [Gardening] Increase timeout on release-hotreload configuration as well (not just debug), skip streamed_conversion_json_utf8_decode in hot-reload-simdbc64
Change-Id: Ifde8ae03b0f4da57c9c2f7ea445c0626630bcbce
Reviewed-on: https://dart-review.googlesource.com/c/79026
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
Auto-Submit: Martin Kustermann <kustermann@google.com>
2018-10-10 12:14:16 +00:00
Peter von der Ahé ee97806084 Replace strongMode with legacyMode in CompilerOptions
Also, remove --strong and --strong-mode flags (use --legacy-mode
flag to enable legacy mode).

Change-Id: I577ab5f755a2bee88f0f4d63915a6e852e792f06
Reviewed-on: https://dart-review.googlesource.com/c/79000
Commit-Queue: Jens Johansen <jensj@google.com>
Auto-Submit: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-10-10 12:04:26 +00:00
Martin Kustermann a50dfd6698 Make --write-results not appear in reproduction commands
Change-Id: Ibb492283c2b53762cb4f74da52c3f005cc282d85
Reviewed-on: https://dart-review.googlesource.com/c/78745
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-10-09 13:47:11 +00:00
Peter von der Ahé f4ebebb37b Ignore runtime arguments in Fasta compiler configuration
Change-Id: I48817c4e6de58b418bd47188e878fd7f468ade61
Reviewed-on: https://dart-review.googlesource.com/c/78480
Commit-Queue: Peter von der Ahé <ahe@google.com>
Auto-Submit: Peter von der Ahé <ahe@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-10-09 12:20:07 +00:00
Alexander Markov ff3992b9ea [test tool] Pass --packages to gen_kernel
Fixes: https://github.com/dart-lang/sdk/issues/32085
Change-Id: Ic18b7c39238994cf750824606e24671fffecc0d8
Reviewed-on: https://dart-review.googlesource.com/c/77983
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Auto-Submit: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-10-03 22:37:55 +00:00
asiva 30aa464f77 [VM] Remove 'corelib' and 'dart-io' sources generation into C++ arrays
- Remove all code that generates the corelib and dart:io library sources into C++ arrays and link them into dart_bootstrap
- Remove the executable dart_bootstrap and all uses of it
- Remove bootstrap_nolib.cc and builtin_nocore.cc
- Remove the Dart 1 code in core lib bootstrap path

Change-Id: Ifd33496204285a08b42fe09e39428e7a92b416b6
Reviewed-on: https://dart-review.googlesource.com/c/77241
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-10-02 23:27:05 +00:00
Jenny Messerly d673847bd8 [dartdevc] add --kernel option, deprecate bin/dartdevk
`dartdevc --kernel` is now equivalent to the old `dartdevk` command.
This will make migration easier, as it's now just a flag to enable
CFE/Kernel. `dartdevk` is now deprecated, but it can be supported for
a while as it just calls `dartdevc --kernel`.

Change-Id: Ib8d09f74556740a3af11c753f80cd87bd4a09044
Reviewed-on: https://dart-review.googlesource.com/76566
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-09-26 21:18:06 +00:00
asiva 355c73d4ee [VM] Remove support for option --no-preview-dart-2
- option --no-preview-dart-2 will now result in an error
- change aot-assembly build rule to generate AOT snapshot using Dart 2
- generate coresnapshot using Dart 2 (this snapshot is not used yet, next CL which switch the isolate create code to use this snapshot)
- by pass all Dart1 test runs in the status file
- change the default compiler setting in test.py to use dartk
- have test.py not pick up any configuration for --no-preview-dart-2

Change-Id: Ia136943ebfd0fed0c52683b330745b3e2c7a7ce6
Reviewed-on: https://dart-review.googlesource.com/75820
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-09-24 20:38:08 +00:00
William Hesse 00f2054242 Add --repeat flag to test.py, so tests can be run multiple times
Change-Id: I827774a829c1a9d97bd1eb82b9ef52640a1ae6d5
Reviewed-on: https://dart-review.googlesource.com/75521
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-09-20 09:35:12 +00:00
asiva f0974aee20 Remove entry_points option from the test harness
(should fix the precompiler bot failure).

Change-Id: I0120808f180d4f106597c39219e4f8ba1393de41
Reviewed-on: https://dart-review.googlesource.com/75627
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-09-20 01:05:24 +00:00
William Hesse 62ce86e20c Add --test-list and --repeat options to test.py, for deflaking
Change-Id: I88ae0a32ba5e28974cb22d75f56febb23f29edd9
Reviewed-on: https://dart-review.googlesource.com/75080
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-09-19 10:52:09 +00:00
Zach Anderson bfeb270b21 [tests] Try dartkb with different vm flags
This change modifies the test matrix to run with --compiler=dartkb with
--enable_interpreter and --use_bytecode_compiler in sequence.

Change-Id: Ie1be3ffdd97e65ceafb8838fd1b159746ba4c2cb
Reviewed-on: https://dart-review.googlesource.com/75206
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-09-18 15:30:15 +00:00
William Hesse ba5a4bd8c4 Add periodic output to test.py so test infrastructure doesn't time out.
Every 5 minutes, test.py prints a status update.

Change-Id: Id11d9e4a01a94dc8515a7e2d1df4f3d417998cc1
Reviewed-on: https://dart-review.googlesource.com/75262
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2018-09-18 15:19:55 +00:00
Paul Berry a48120aabd Wire up placeholder executable in pkg/analyzer_fe_comparison.
The placeholder executable is replaced by a shell script that invokes
pkg/analyzer_fe_comparison (in a similar way to how
sdk/bin/dartanalyzer invokes pkg/analyzer_cli).  This required some
rewriting of pkg/analyzer_fe_comparison to support analysis of a
single test case (as opposed to analysis of a package, which is what
it did before).

It's now possible to run the comparison tool over the test suite in
language_2.  There are many failures, which I'll begin addressing in
follow-up CLs.

Change-Id: I52d8f3b53064e8e29028571d416f2573c6cba35d
Reviewed-on: https://dart-review.googlesource.com/74820
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-09-13 16:41:20 +00:00
Jenny Messerly 24493c2f54 Add support for dartdevk to read Analyzer summaries into Kernel format
This allows dartdevk to be used in the context of an existing build
system based on Analyzer summary files. This will ease migration of
existing dartdevc users over to dartdevk.

Change-Id: I8413f906e384f3f33c98e450adc0860f6fa7bc53
Reviewed-on: https://dart-review.googlesource.com/65641
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-09-10 22:51:04 +00:00
Paul Berry c925fa6b00 Lay the groundwork for comparing language_2 compilation results between analyzer and CFE.
This CL just adds the compiler=compareAnalyzerCfe option to the test
framework, and updates the status files so that no language_2 failures
are expected when this "compiler" is used.  A placeholder executable
has been added to sdk/bin, but it is not wired up yet--that will be
done in a future CL.

In a future CL I will wire up the placeholder executable to the code
in pkg/analyzer_fe_comparison, and fill in the methods in
CompareAnalyzerCfeCommandOutput to process the output accordingly.

Change-Id: I27439de4ac609cb8b003f157a0ff88d181bfbcae
Reviewed-on: https://dart-review.googlesource.com/73561
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-09-08 15:25:05 +00:00
Zach Anderson 3903b5b2d8 [vm] Fix passing --enable_interpreter in tests.
Also changes an Assert back to a test in Exceptions::JumpToFrame

Change-Id: I3088a342caaf7a1560ba6225ecbdb8bb363ac5fb
Reviewed-on: https://dart-review.googlesource.com/74009
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-09-07 21:10:41 +00:00
Zach Anderson b4004f6476 [vm] Reland: Move the interpreter under a flag.
After this CL, the interpreter is included by default in the
JIT VM under the flag --enable-interpreter.

Reland with fix to NativeArgument setup in simulator_arm.cc

Change-Id: Ib9b4df6eb4d997dfbe361188b8a127828c1d9c6f
Reviewed-on: https://dart-review.googlesource.com/74003
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-09-07 19:25:31 +00:00
Zach Anderson 21406f576a Revert "[vm] Move the interpreter under a flag."
This reverts commit 715ab7b30b.

Reason for revert: simarm and kernel precomp builds failing

Original change's description:
> [vm] Move the interpreter under a flag.
> 
> After this CL, the interpreter is included by default in the
> JIT VM under the flag --enable-interpreter.
> 
> Change-Id: I06458f20288d67981822788ee6e867c2127ebdd3
> Reviewed-on: https://dart-review.googlesource.com/71800
> Commit-Queue: Zach Anderson <zra@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>
> Reviewed-by: Ryan Macnak <rmacnak@google.com>

TBR=rmacnak@google.com,alexmarkov@google.com,zra@google.com,asiva@google.com,regis@google.com

Change-Id: I3622f4dbe53288d07fc21b34ee5ff68f2682b36d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/74001
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-09-07 17:14:21 +00:00
Zach Anderson 715ab7b30b [vm] Move the interpreter under a flag.
After this CL, the interpreter is included by default in the
JIT VM under the flag --enable-interpreter.

Change-Id: I06458f20288d67981822788ee6e867c2127ebdd3
Reviewed-on: https://dart-review.googlesource.com/71800
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-09-07 16:46:07 +00:00
William Hesse 30596c2f03 Output a results.json file containing the expected and actual results of each test
Also outputs a run.json file with information about this run of test.py,
such as the commit hash and the named configuration.

Bug: https://github.com/dart-lang/sdk/issues/34348
Change-Id: Idb4d2a6b892d13314ed81e6163933d23c1b8b609
Reviewed-on: https://dart-review.googlesource.com/72682
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-09-07 15:34:46 +00:00
William Hesse 56957ff171 Do not crash testing scripts if a test requests a bad URI
Bug: https://github.com/dart-lang/sdk/issues/34347
Change-Id: I505479fcb224332a79dc7e77eab723316d18b3f3
Reviewed-on: https://dart-review.googlesource.com/72684
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2018-09-04 08:54:59 +00:00
William Hesse 0999a7b75e Remove special handling of _htmltest.html tests.
This removes the special category of html tests which was added in 2014, in cl
https://codereview.chromium.org//695893002

Change-Id: I42d2992e79e7b508465a7fffb4864b545f3af452
Reviewed-on: https://dart-review.googlesource.com/72000
Reviewed-by: Jonas Termansen <sortie@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-08-30 14:37:57 +00:00
William Hesse 4db04c9f56 Add realResult and realExpected fields to test case and command output.
These will be the values reported to the test result database.
There was previously no value with type Expectation that reflected
the desired semantics of realExpected.  The result was processed
using flags like "hasCompileTimeError" and "isNegative" to produce
a processed result.  The new realResult field avoids that processing.

Change-Id: Ic59a9bf2c94cc0ccdaa31db3c7f5fde004918004
Reviewed-on: https://dart-review.googlesource.com/72105
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-08-30 13:53:47 +00:00
William Hesse 3603bfaebd Remove remaining traces of content_shell and DumpRenderTree
Change-Id: Iae15260fa588b101929095c865807efecfb678a2
Reviewed-on: https://dart-review.googlesource.com/71960
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-08-30 08:15:30 +00:00
Devon Carew 0e908e9520 Simplify the language_2_analyzer.status status file.
Change-Id: Iad994ad10262f8ac73d8498fada8ff33d0ee4fd3
Reviewed-on: https://dart-review.googlesource.com/71926
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-08-29 18:31:12 +00:00
Janice Collins f40ff153a9 Enable --use-fasta-parser with the analyzer by default.
Based on Devon's change at:

https://dart-review.googlesource.com/c/sdk/+/67090

Change-Id: I80b7943826e248bf37d9bbbb769330d24b0dd6ae
Reviewed-on: https://dart-review.googlesource.com/70160
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Janice Collins <jcollins@google.com>
2018-08-28 19:29:17 +00:00
asiva d1bd887d03 [VM/SDK] Switch kernel isolate to run in Dart 2 mode
- Switch the kernel isolate to run in Dart2 mode
- Refactor build rules so bootstrapping of the front end happens
  with a prebuilt dart sdk
- Refactor application snapshot build rules so the kernel application
  snapshot rule does not get into a cyclic dependency during the
  bootstrap stage

Change-Id: Iccca3233f6cb8d6b307b4cf1ca3262f293f794a6
Reviewed-on: https://dart-review.googlesource.com/70841
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-08-21 20:28:06 +00:00
asiva 1f5f197e90 [VM] Do not start the kernel isolate when doing an app JIT snapshot training run if a kernel file is specified as the application.
Change-Id: Ib2d57accfb369676d907b0811b8c689dd1d5efbe
Reviewed-on: https://dart-review.googlesource.com/70782
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-08-20 21:32:21 +00:00
Vyacheslav Egorov 032037681e Revert "[VM/SDK] Switch kernel isolate to run in Dart 2 mode"
This reverts commit 499761f0da.

Reason for revert: crashes when building SDK, red bots, broken Flutter 3xHEAD bot

Original change's description:
> [VM/SDK] Switch kernel isolate to run in Dart 2 mode
> 
> - Switch the kernel isolate to run in Dart2 mode
> - Refactor build rules so bootstrapping of the front end happens
>   with a prebuilt dart sdk
> - Refactor application snapshot build rules so the kernel application
>   snapshot rule does not get into a cyclic dependency during the
>   bootstrap stage
> 
> Change-Id: I067c5f1165fb93811dcc8e390a8bf381db721e5b
> Reviewed-on: https://dart-review.googlesource.com/70461
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Siva Annamalai <asiva@google.com>

TBR=rmacnak@google.com,asiva@google.com

Change-Id: Ibf6d526fb5132b766f063fcf873cde661ae895d7
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/70516
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-08-19 19:58:32 +00:00
asiva 499761f0da [VM/SDK] Switch kernel isolate to run in Dart 2 mode
- Switch the kernel isolate to run in Dart2 mode
- Refactor build rules so bootstrapping of the front end happens
  with a prebuilt dart sdk
- Refactor application snapshot build rules so the kernel application
  snapshot rule does not get into a cyclic dependency during the
  bootstrap stage

Change-Id: I067c5f1165fb93811dcc8e390a8bf381db721e5b
Reviewed-on: https://dart-review.googlesource.com/70461
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-08-18 22:50:09 +00:00
William Hesse e29176ea0d Add --use-cfe and --analyzer-use-fasta-parser flags to smith:configuration
Use them in test_matrix.json for the analyzer builders.

Bug: https://github.com/dart-lang/sdk/issues/34151
Change-Id: I4abe0bcc8b62ee372df32c0402fad3cd9042cb27
Reviewed-on: https://dart-review.googlesource.com/70282
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-08-17 14:42:43 +00:00
Régis Crelier 2c6ad6e76d [VM interpreter] Disable code optimization when running interpreted tests.
Change-Id: Ie8be83b5223db5c73d0d98ddc03e26d757d1ea29
Reviewed-on: https://dart-review.googlesource.com/70480
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-08-17 01:53:26 +00:00
William Hesse 81d47a84c5 Use the named configuration in test.dart, if it is present
This switches the test scripts over to using the test options
gotten from the -n [configuration_name] option instead of those
options given on the command line.  Command line options that
are part of the named configuration class will be taken from
that object.

Change-Id: I19b29c144a5b1546a75d560c1136a6f06306a01b
Reviewed-on: https://dart-review.googlesource.com/69941
Reviewed-by: Alexander Thomas <athom@google.com>
2018-08-14 11:37:05 +00:00
William Hesse be7022f6d9 Remove named configuration template expansion code from test.py.
Named configuration templates are expanded by the recipe before being
passed to test.py.

Change-Id: I164df7acf0a0aff76f050b871101590efae51954
Reviewed-on: https://dart-review.googlesource.com/69300
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-08-10 13:12:49 +00:00
Samir Jindel de408202a5 [vm/precomp] Take 4 for procedure- and class-entrypoints.
This reverts commit 08f59e5de3.

There are no changes to take 3 except fixing merge conflicts.

Change-Id: I45d5a16274c80f469827c19f4e4f4ca724e85a67
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/68363
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-07 13:54:27 +00:00
William Hesse 0986b2bfa2 Clean up test.py named configurations code
Drops the debug printing of configurations, and the checking
that the named configurations agree with the flags passed.

Change-Id: Id19ca002668a757d44017873a5d0c8bb06472564
Reviewed-on: https://dart-review.googlesource.com/68680
Reviewed-by: William Hesse <whesse@google.com>
2018-08-07 13:53:37 +00:00
William Hesse e0f6fdfff1 Refactor testing:TestConfiguration to use smith:Configuration by inclusion.
Change-Id: I5c116ad082a24c25a07b9ceb6aaf8c9cbe3f11e3
Reviewed-on: https://dart-review.googlesource.com/68361
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-08-06 16:19:08 +00:00
Devon Carew 92a70946b0 Fix three missing return warnings.
Change-Id: I69c5684a40bf46ac6a2b1ed304ea593b9d073922
Reviewed-on: https://dart-review.googlesource.com/68381
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-03 19:25:37 +00:00
William Hesse 2a23bc2e0b Update named configurations on builders, turn off checking temporarily.
The named configurations aren't used yet, and checking that they agree
with the existing flags will now just print error messages, not make
the builder fail.

Change-Id: Ia0778855d3c45da8e3314f9cff0967ec1fc7893b
Reviewed-on: https://dart-review.googlesource.com/67807
Reviewed-by: William Hesse <whesse@google.com>
2018-08-01 16:50:41 +00:00
William Hesse 0fd93a5c6e Test.dart exits with non-zero exit code if named configuration disagrees with flags.
Change-Id: I05e869c3f37aa786cd39185b51dda627133aa5e9
Reviewed-on: https://dart-review.googlesource.com/67805
Reviewed-by: Alexander Thomas <athom@google.com>
2018-08-01 16:01:16 +00:00
William Hesse f10b4005cd Code to load a named configuration and check it against the existing options.
First stab at loading named configuration, plus temporary test code

Change-Id: I5835fe34a024a6052021c8189629a1578bed2355
Reviewed-on: https://dart-review.googlesource.com/63880
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-08-01 12:55:13 +00:00
William Hesse cf77a3b00f [Test.dart] Use Compiler, Runtime, etc. classes from pkg:smith.
Change-Id: I1251c94e87fe6953f7604b5ef8f6ae5c49ab36d3
Reviewed-on: https://dart-review.googlesource.com/67522
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2018-08-01 09:45:17 +00:00
William Hesse 18047b2757 Refactor test.dart by changing class Configuration to TestConfiguration
Change-Id: I03624c2cefc6bf5c293ecf016c52de6740e5893f
Reviewed-on: https://dart-review.googlesource.com/67462
Reviewed-by: Alexander Thomas <athom@google.com>
2018-07-31 11:11:16 +00:00
Zach Anderson 3d8ca8e566 [gardening] Increase debug app-jitk timeout
The timeout was increased in:

d6519499fe

to compensate for not running the kernel isolate from an app-jit.

Tests are still timing out on the debug bot, so this CL will see if
increasing the timeout there helps.

Change-Id: I71656b9b6bf5c23af68d00e288d8cddc415dd102
Reviewed-on: https://dart-review.googlesource.com/67482
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-07-30 22:48:42 +00:00
Ben Konyi 08f59e5de3 These changes are causing a segfault in DartEntry::InvokeFunction in dart_entry.cc in Flutter,
which was blocking the Dart SDK roll.

Revert "Take 3 for "[vm/kernel/precomp] Remove procedures from entry points files.""

This reverts commit 567109df7f.

Revert "[vm/precomp] Extend @pragma entry-points to classes."

This reverts commit 232698047c.

Change-Id: Ib63d1afb8a1c978be7ddf282af0e7d5547111cc3
Reviewed-on: https://dart-review.googlesource.com/67300
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-07-28 00:01:50 +00:00
Konstantin Shcheglov 8c8a211c6e Understand 'isNegative' for Analyzer as 'hasError'.
Change-Id: Ia9489806c472cdbe44f3a234b3403c5ad5086b3b
Reviewed-on: https://dart-review.googlesource.com/67021
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-07-26 21:44:18 +00:00
Samir Jindel 567109df7f Take 3 for "[vm/kernel/precomp] Remove procedures from entry points files."
I've updated the transformer test. The Windows build error appears to have been spurious.

Take 2 is in patchset 1.

Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Change-Id: I6ef8f70aaf4664e0411e776463e88c2a1068dbcc
Reviewed-on: https://dart-review.googlesource.com/65902
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-07-26 16:24:59 +00:00
Jenny Messerly 1a122e3ac0 Deprecate module-root option in dartdevc, part of #32272
Adds an option for specifying the output JS module name if that is
needed (only applies for some module formats).

Also removes repl-compile (it's set via API, not the command line).

Refactors dartdevk options to match dartdevc so we can migrate more
easily. Moves shared code into a shared location and removes copied
code.

Change-Id: I966343ecbbc962f5d0f14ea7e65d78660159f420
Reviewed-on: https://dart-review.googlesource.com/64823
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-07-26 02:43:48 +00:00
Martin Kustermann d6519499fe Give -capp_jitk more time due to not using kernel-isolate from app-jit snapshot
Change-Id: I61e09ee058cc17890e0f6c9f35c1af902b5ffb31
Reviewed-on: https://dart-review.googlesource.com/66566
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-07-25 16:03:24 +00:00
Samir Jindel 98356d3ed8 Revert "Re-land "[vm/kernel/precomp] Remove procedures from entry points files.""
This reverts commit a437b4b469.

Reason for revert: Build on Windows appears broken.

Original change's description:
> Re-land "[vm/kernel/precomp] Remove procedures from entry points files."
> 
> The original revision is in Patchset 1.
> 
> Due to idiosyncrasies of the legacy VM parser, we need to put the @pragma definition
> on both the original and patched definition. Hopefully we can remove these extra definitions
> once Dart 1 AOT is fully obsolete.
> 
> Cq-Include-Trybots: luci.dart.try: vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
> Change-Id: I2515dee2bbf14cece5e75450b1951d45f1250959
> Reviewed-on: https://dart-review.googlesource.com/65545
> Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>
> Commit-Queue: Samir Jindel <sjindel@google.com>

TBR=lrn@google.com,alexmarkov@google.com,sjindel@google.com

Change-Id: I783dcd6f00d1f31907d90651ffbf80a6af1fb98d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Cq-Include-Trybots: luci.dart.try: vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/65960
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2018-07-20 16:57:30 +00:00
Samir Jindel a437b4b469 Re-land "[vm/kernel/precomp] Remove procedures from entry points files."
The original revision is in Patchset 1.

Due to idiosyncrasies of the legacy VM parser, we need to put the @pragma definition
on both the original and patched definition. Hopefully we can remove these extra definitions
once Dart 1 AOT is fully obsolete.

Cq-Include-Trybots: luci.dart.try: vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Change-Id: I2515dee2bbf14cece5e75450b1951d45f1250959
Reviewed-on: https://dart-review.googlesource.com/65545
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2018-07-20 14:19:33 +00:00
Samir Jindel 17cca798e5 Revert "[vm/kernel/precomp] Remove procedures from entry points files."
This reverts commit 91dcf654a4.

Reason for revert: Many failures across Dart 1 precompiler bots.

Original change's description:
> [vm/kernel/precomp] Remove procedures from entry points files.
> 
> entry_points_extra_standalone.json is completely removed.
> 
> Cq-Include-Trybots: luci.dart.try: vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
> Change-Id: Ia4fb18aebbb09752e3795cda3a9c66f9c502b23a
> Reviewed-on: https://dart-review.googlesource.com/65325
> Commit-Queue: Samir Jindel <sjindel@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>

TBR=alexmarkov@google.com,sjindel@google.com

Change-Id: I0df74807fcc8e8fa75a45a411ddf23e385cfc8d5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Cq-Include-Trybots: luci.dart.try: vm-kernel-optcounter-threshold-linux-release-x64-try, vm-kernel-precomp-linux-debug-x64-try, vm-kernel-precomp-linux-release-simarm-try, vm-kernel-precomp-linux-release-simarm64-try, vm-kernel-precomp-linux-release-x64-try, vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/65580
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2018-07-18 16:10:21 +00:00
Samir Jindel 91dcf654a4 [vm/kernel/precomp] Remove procedures from entry points files.
entry_points_extra_standalone.json is completely removed.

Cq-Include-Trybots: luci.dart.try: vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Change-Id: Ia4fb18aebbb09752e3795cda3a9c66f9c502b23a
Reviewed-on: https://dart-review.googlesource.com/65325
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-07-18 15:22:41 +00:00
Zach Anderson d0510501d2 [build] Add -a kbc for interpreter
This CL adds support to build.py and test.py for building/testing
a VM with the interpreter on x64, e.g.:

$ ./tools/gn.py -m release -a x64 --bytecode
$ ./tools/build.py -m release -a x64 --bytecode runtime
$ ./tools/test.py -m release -a x64 -r vm -c dartkb language_2

Change-Id: I956d23790636609d4a2e71129481fcbd7afef9a0
Reviewed-on: https://dart-review.googlesource.com/65206
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-07-17 21:51:41 +00:00
Jenny Messerly 2a17dc5009 Add comment to dartdevc's test compiler configuration
It explains the intent behind testing `--dart-sdk` vs just
`--dart-sdk-summary` and adds a TODO about how we can improve it.

Change-Id: Ib53027a6509e4df0df52632345c32d9bdfccd991
Reviewed-on: https://dart-review.googlesource.com/64764
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-07-12 21:19:28 +00:00
Devon Carew d6cf9b471e Deprecate and remove the implementation of an older flag.
Change-Id: I650f5c7cc14c53b1109b8555a7e68544266ad65a
Reviewed-on: https://dart-review.googlesource.com/63860
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-07-05 18:30:18 +00:00
Devon Carew a5b8ed1299 Have dart2analyzer no longer use the --no-preview-dart-2 flag in test.py.
Change-Id: I73266243f7819cda9e46bc354bc87d3ee9da9a15
Reviewed-on: https://dart-review.googlesource.com/63695
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-07-05 04:47:58 +00:00
Devon Carew 5b5e36f0be Remove use of deprecated methods and constants.
Change-Id: Ic6867233dd7d432eaa0973dbfca13d53f15cc80a
Reviewed-on: https://dart-review.googlesource.com/63663
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-07-04 17:18:06 +00:00
Sigmund Cherem aa93fa1653 Update documentation of --host-checked.
Change-Id: I7e987ebe2372c9bce9ff0857521062c37ed804cf
Reviewed-on: https://dart-review.googlesource.com/63681
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-07-03 19:35:17 +00:00
William Hesse b303f5ad86 Add flag --named-configuration (-n) to test.py options.
Currently unimplemented, will allow us to pass the correct configurations
in the test matrix and new recipe when working on the implementation.

Change-Id: I2207e6f9e3d12884ab578a2d258493f8eff861f4
Reviewed-on: https://dart-review.googlesource.com/63582
Reviewed-by: Alexander Thomas <athom@google.com>
2018-07-03 12:01:55 +00:00
Alexander Aprelev e5f3d682b4 [gardening] Add multiplier for arm64 buildbot.
Revert "[gardening] Update arm64 status files."

This reverts commit ff0a1d6b67 as
updating multiplier is better solution than updating status files.

Bug: http://dartbug.com/33659
Change-Id: I064964e1fafe9c77fb24d5e9c324927b75cbacb0
Reviewed-on: https://dart-review.googlesource.com/63340
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-07-02 18:39:33 +00:00
Alexander Thomas 1f8148f862 [infra] Restore sync-async behavior to fix legacy precompiler bots
Change-Id: I0a35afcb840bf3969e60d3b13c5dffe21a14884f
Reviewed-on: https://dart-review.googlesource.com/62805
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-06-28 13:26:14 +00:00
Alexander Thomas 583a81ade3 [infra] Make test.py's --strong option a no-op to prepare for removing it
Remove --preview-dart-2 option.


Change-Id: I4ca07e00391ee9a9f7f454d0b56e82898c38250c
Reviewed-on: https://dart-review.googlesource.com/62601
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-06-28 09:39:03 +00:00
William Hesse ce312b9632 Add --analyzer-use-fasta and --analyzer-use-fasta-parser to test.py
When these flags are used, the flags "--use-cfe" and
"--use-fasta-parser" are passed to the dartanalyzer command.
(The compiler -cdart2analyzer runs the dartanalyzer compiler).
The variables $analyzer_use_fasta and $analyzer_use_fasta_parser are
available in status files, and the $fasta variable is set in both
cases.

Change-Id: Ic42033fb8fb3a19431f380abdf949564758c8d7b
BUG: dartbug.com/33510
Reviewed-on: https://dart-review.googlesource.com/62302
Reviewed-by: Devon Carew <devoncarew@google.com>
2018-06-27 12:16:01 +00:00
William Hesse bf4f9a9163 Update testing scripts to run on a Dart 2 VM
Change-Id: Ia29d9dd02dc05403a3c98f0badf608664204d5da
Reviewed-on: https://dart-review.googlesource.com/61340
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2018-06-21 10:56:15 +00:00
Devon Carew 7d9ac9dca5 Add a --use-fasta-parse flag to test.py; add a 'analyzer-use-fasta-parser' buildbot configuration.
Change-Id: I802df6b5fbfe963a466ce49f29d2bb0c84f14d25
Reviewed-on: https://dart-review.googlesource.com/60810
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-06-20 15:10:54 +00:00
Sigmund Cherem c96f23243b Enable Dart2 in dart2js by default
Change-Id: Id197fc734bcb45f0805e49e89c0d03419384bb0b
Reviewed-on: https://dart-review.googlesource.com/60448
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-06-19 19:20:36 +00:00
William Hesse 87e045c484 Remove the helper dart script from our browser test framework
BUG=https://github.com/dart-lang/sdk/issues/32539

Change-Id: Ia1d5c04babf21e244c807f32a21b43198a7151a5
Reviewed-on: https://dart-review.googlesource.com/60845
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-06-19 08:43:55 +00:00
asiva 1a443da6ad Adjust options passed to precompile runtime.
Change-Id: I6c825a5a0b2f1f6ee9f7e16e06db727239d30b5e
Reviewed-on: https://dart-review.googlesource.com/60834
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-06-19 06:44:54 +00:00
asiva bc7220a4fd [VM] Turn dart2 on by default on the command line VM
- make Dart2 the default option for the command line VM
- add option --no-preview-dart-2 as a fallback option to run dart1
- change test scripts to use the executable dart for testing dart2 mode instead of
pkg/vm/tool/dart2
- adjust numerous build and test configurations

Change-Id: Id813fa5b71a89c7ec9335d3f6e83cfc9f35f86e7
Reviewed-on: https://dart-review.googlesource.com/58240
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-06-18 22:31:32 +00:00
Alexander Thomas c83811a86e [infra] Add --no-preview-dart-2 flag to test.py to prepare for flag flip
This flag is a no-op until this change lands:
https://dart-review.googlesource.com/c/sdk/+/58240

Change-Id: I6f0fcd053dc84738959b67a628d17165e12d3fac
Reviewed-on: https://dart-review.googlesource.com/59741
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-06-11 19:49:10 +00:00
Jenny Messerly 976aa4074b Run dartdevk against its own compiled SDK and packages
Currently we test dartdevk against SDK/packages that were compiled with
dartdevc (DDC+Analyzer). This CL migrates to having those files compiled
with DDC+Kernel. dartdevc testing is unchanged.

Most of the fixes are around things like special optimized annotations
used in our SDK code, that were not understood by DDK. Also some inline
JS type annoations were not correct.

Change-Id: Iccf4427e4b9beffd6d97a4be654253d91f6cb89e
Reviewed-on: https://dart-review.googlesource.com/57800
Reviewed-by: Vijay Menon <vsm@google.com>
2018-06-08 19:18:34 +00:00
Jenny Messerly f059df7cc5 unfork DDC package:async_helper
This code was from the old travis/karma test runner setup, it is no
longer used. Also deletes the old browser test runner files.

Change-Id: I7eab3ebdc709cfc9c48d6f230c73035bc512cea9
Reviewed-on: https://dart-review.googlesource.com/57780
Reviewed-by: Vijay Menon <vsm@google.com>
2018-06-06 21:58:01 +00:00
Alexander Markov c8860b4ca2 Remove all uses of --limit-ints-to-64-bits VM option
VM option --limit-ints-to-64-bits was enabled by default a while ago,
and now we're preparing to remove it from Dart VM.

This CL removes all uses of this option in preparation for this cleanup.

Issue: https://github.com/dart-lang/sdk/issues/33306
Change-Id: I8f33cf4ca8ce7ef9a171a982346e43dd8cb722a9
Reviewed-on: https://dart-review.googlesource.com/57960
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-06-01 19:32:24 +00:00
Alexander Thomas 14b9d7f128 [infra] Prepare test.py for the --preview-dart-2 VM flag flip
Change-Id: I61ce096d41d7e20b61c577b05eaa20cf6e39e8cd
Reviewed-on: https://dart-review.googlesource.com/57510
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2018-05-31 13:45:52 +00:00
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
Devon Carew eeec6466b6 Convert the command-line analyzer to a dart 2 snapshot.
Change-Id: Ieb5cd8971494a8a6ffc07c0fd4dde07cfb6f5373
Reviewed-on: https://dart-review.googlesource.com/56034
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-05-22 15:44:04 +00:00
Martin Kustermann aafc2a6d43 Reland "[vm/kernel] Enable kernel2kernel "constants" transformation in AOT mode (after running TFA)"
The CL was originally committed in 039e8a175 (and reverted in
46ab040e5). The fix for the issue has landed in 9d9ce8d69 .

This time the CL will land in "disabled" form and will be enabled in a separate CL.

Change-Id: I3d5eb952230aee99875e3c58a6595691c5145e25
Reviewed-on: https://dart-review.googlesource.com/55361
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-05-16 12:48:38 +00:00
Jenny Messerly 147bd68ad3 disable dart:mirrors in DDC unless emit-metadata is set
fixes #32294

Change-Id: I5fde124a9da61e512ea0aa41cc84574e27a50d48
Reviewed-on: https://dart-review.googlesource.com/53163
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-05-11 23:13:30 +00:00
Zach Anderson 46ab040e58 Revert "[vm/kernel] Enable kernel2kernel "constants" transformation in AOT mode (after running TFA)"
This reverts commit 039e8a1755.

Reason for revert:
Blocks the roll into Flutter.
See https://github.com/dart-lang/sdk/issues/33095

Original change's description:
> [vm/kernel] Enable kernel2kernel "constants" transformation in AOT mode (after running TFA)
> 
> This CL also uses the newer `onProblem` error reporting mechanism, which supports contexts.
> 
> The errors by the constant evaluator are formatted e.g. like this:
> 
>     .../language_2/compile_time_constant_o_test_01.dart:14:8: Error: Duplicate keys are not allowed in constant maps (found duplicate key "StringConstant(foo)").
>       "foo": 499
>        ^
>     .../language_2/compile_time_constant_o_test_01.dart:32:24: Context: While analyzing:
>       Expect.identical(m1, m3);
> 
> Change-Id: I463416e14686e218b0f08903bd6aa0bca7392260
> Reviewed-on: https://dart-review.googlesource.com/53021
> Commit-Queue: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Aske Simon Christensen <askesc@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>

TBR=vegorov@google.com,kustermann@google.com,alexmarkov@google.com,askesc@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I1af0200dcb0aef03c7bd9ba3b5aead1565f05708
Reviewed-on: https://dart-review.googlesource.com/54720
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Todd Volkert <tvolkert@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-05-11 17:50:46 +00:00
Martin Kustermann 039e8a1755 [vm/kernel] Enable kernel2kernel "constants" transformation in AOT mode (after running TFA)
This CL also uses the newer `onProblem` error reporting mechanism, which supports contexts.

The errors by the constant evaluator are formatted e.g. like this:

    .../language_2/compile_time_constant_o_test_01.dart:14:8: Error: Duplicate keys are not allowed in constant maps (found duplicate key "StringConstant(foo)").
      "foo": 499
       ^
    .../language_2/compile_time_constant_o_test_01.dart:32:24: Context: While analyzing:
      Expect.identical(m1, m3);

Change-Id: I463416e14686e218b0f08903bd6aa0bca7392260
Reviewed-on: https://dart-review.googlesource.com/53021
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-05-09 09:00:02 +00:00
Jenny Messerly 3002e47e36 cleanup language_2 and corelib_2 tests that import dart:mirrors
Preserves tests that didn't really need mirrors, and moves tests for
mirror functionality into lib_2/mirrors tests.

Change-Id: Ie16dee1a4b508e3f14da53499f57c5dae2d1e513
Reviewed-on: https://dart-review.googlesource.com/49624
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-05-07 23:50:56 +00:00
Vijay Menon 001af89c8e Flip DDC to default to sync-async
See #32868

Change-Id: I757321632c9f383edea398741c67fc7c3e3815e5
Reviewed-on: https://dart-review.googlesource.com/52900
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-04-30 15:04:51 +00:00
Bob Nystrom 881e35ee82 Migrate library_negative_test.
In the process, I discovered multitests can't handle imports to
non-existent libraries. So I fixed that and cleaned up the code.

Change-Id: I9a8557e84f91ba7858bdf98f8732cd0ded55aa1a
Reviewed-on: https://dart-review.googlesource.com/52869
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-04-27 22:28:27 +00:00
Janice Collins 1afe71c08a Enable preview-dart-2 as default for analyzer.
Based on https://dart-review.googlesource.com/c/sdk/+/52340, but adds
the necessary plumbing through the test system to pass through
negations to strong and preview-dart-2.  Also adds support for those
negations to the analyzer.

Change-Id: I9793ff28bb593d25bbb0a2ed8736b5b53e0a62d8
Reviewed-on: https://dart-review.googlesource.com/52461
Commit-Queue: Janice Collins <jcollins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-26 17:01:12 +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
William Hesse d9c022184c Pass enable-asserts flag from test.py to VM runtime.
Change-Id: I84223c57dcbc74d9e5ba7d2d977fe9d5f6d686dc
Reviewed-on: https://dart-review.googlesource.com/46900
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2018-03-19 10:38:05 +00:00
Martin Kustermann 52c884dc6a Add ExtraSlow status file marker
This is used (at least temporarily) for unblocking other P0 changes.

Change-Id: I002af7cfe6384f8813646d5c488a2cf2e58673a5
Reviewed-on: https://dart-review.googlesource.com/46541
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-03-14 15:49:09 +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
Peter von der Ahé b0a2e6b9c9 [test.py] Handle Windows file names correctly.
Change-Id: I1b4707826c00144da3190e75e19870b7e39acbf3
Reviewed-on: https://dart-review.googlesource.com/46065
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-03-13 09:16:18 +00:00
Alexander Markov d58887eaf6 [vm/kernel/aot, test tool] Enable global type flow analysis
Issue: https://github.com/dart-lang/sdk/issues/30480
Change-Id: I984869a8cdd9c52cab677cab64b562d002cde490
Reviewed-on: https://dart-review.googlesource.com/46122
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-03-12 22:45:39 +00:00
William Hesse 3f71dc5dd2 Add preview_dart_2 to supported set of status file variables
R: paulberry@google.com
Change-Id: I9d77800f7db42207c5e730706b02b38080e85299
Reviewed-on: https://dart-review.googlesource.com/45322
Reviewed-by: Paul Berry <paulberry@google.com>
2018-03-06 14:46:44 +00:00
Sigmund Cherem 2448814e83 Also exclude 'Ok' as a valid status to ignore when checking for runtime errors
in Runtime.none

R=rnystrom@google.com,whesse@google.com

Change-Id: I10c9c686d92ab646eebc7bc03a8abdedda66aa92
Reviewed-on: https://dart-review.googlesource.com/45122
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-03-05 22:19:40 +00:00
Siva Chandra d45d5a72d2 Pass --preview-dart-2 to dart_bootstrap and dart_precompiled in dartkp config.
Change-Id: I728d085b6433d7ad35fb389ce61b4959311a9b4a
Reviewed-on: https://dart-review.googlesource.com/44383
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2018-02-28 23:49:05 +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
Jens Johansen 32efcbfde3 [test.py] Make test.py quickly skip tests that it isn't going to run
The current behavior is to - for instance - create all multitests in a
suite (e.g. language_2) up front, despite having a test-selector that
restricts it a lot.

This CL skips tests faster (i.e. before creating multitests).

Example:

Now:

$ time tools/test.py -m release -a x64 -c dartk --strong language_2/lalala
Test configuration: dartk_vm_release_x64_strong


real    0m0.598s
user    0m0.760s
sys     0m0.116s

Before:

$ time tools/test.py -m release -a x64 -c dartk --strong language_2/lalala
Test configuration: dartk_vm_release_x64_strong


real    0m1.796s
user    0m2.156s
sys     0m0.344s

Change-Id: Ib3c254d4e18c8ed4e6c66f7e25f384ce6b652f02
Reviewed-on: https://dart-review.googlesource.com/44061
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-02-28 13:29:34 +00:00
Siva Chandra 27d28702a6 Update status files after 4f5ad1918c
Change-Id: I96c56728521a507fe9870fa3f53060d594fa8a78
Reviewed-on: https://dart-review.googlesource.com/44023
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2018-02-28 02:06:36 +00:00
Siva Chandra 4f5ad1918c Make strong mode the default under --preview-dart-2.
Change-Id: Ic1637d65a34f6b0310439293f7d83cb351f2c89c
Reviewed-on: https://dart-review.googlesource.com/43200
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-02-27 22:16:07 +00:00
Vyacheslav Egorov 0b5c52456a [testing] Make dartkp configuration work on Windows
Change-Id: I4a09994a1b79a7d857a854e3dcc1fe24068ffdec
Reviewed-on: https://dart-review.googlesource.com/43671
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-02-26 17:31:48 +00:00
Siva Chandra 6214cedaf5 Create isolate from the platform kernel when running VM tests under dartk.
This is take 2 with appropriate status files updates or fixes to the
tests.

This reverts commit 4925ed38ac.

Change-Id: I133b9ae307f0feed1b72ec5a0131facdc51ad4e9
Reviewed-on: https://dart-review.googlesource.com/41600
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-02-20 22:08:25 +00:00
Bob Nystrom fd84e9d4cc Refactor FastaCompilerConfiguration.
Change-Id: I9fa54be97024ec006c1be73b1283067fb24e92de
Reviewed-on: https://dart-review.googlesource.com/42107
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2018-02-17 01:15:53 +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
Siva Annamalai 4925ed38ac Revert "Create isolate from the platform kernel when running VM tests under dartk."
This reverts commit 3e967d3d76.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Create isolate from the platform kernel when running VM tests under dartk.
> 
> Status of tests which now start failing has been updated.
> 
> Ability to run the vm tests in strong mode has also been added. The
> status of tests which fail in strong mode will be updated when the vm
> tests are moved under the strong mode tests on the bots.
> 
> Change-Id: I95f94c09dd0ebbf1fe661ee1f6e0c3e7b07509bd
> Reviewed-on: https://dart-review.googlesource.com/40642
> Commit-Queue: Siva Chandra <sivachandra@google.com>
> Reviewed-by: Siva Annamalai <asiva@google.com>

TBR=sivachandra@google.com,asiva@google.com

Change-Id: I6144bbe882cdf56ee6be3132c6f9dec2cbafcb47
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/41026
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-02-13 23:33:12 +00:00
Siva Chandra 3e967d3d76 Create isolate from the platform kernel when running VM tests under dartk.
Status of tests which now start failing has been updated.

Ability to run the vm tests in strong mode has also been added. The
status of tests which fail in strong mode will be updated when the vm
tests are moved under the strong mode tests on the bots.

Change-Id: I95f94c09dd0ebbf1fe661ee1f6e0c3e7b07509bd
Reviewed-on: https://dart-review.googlesource.com/40642
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-02-13 20:34:24 +00:00
Peter von der Ahé f6f849e3b9 Pass --strong-mode when testing fasta in strong mode.
Change-Id: I534d283d7f604d0f0e686dc23606e81f665ec5e4
Reviewed-on: https://dart-review.googlesource.com/40527
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-02-13 11:08:46 +00:00
Peter von der Ahé 5882a0d13d Address comments from previous CL
Change-Id: If98db1948e21c43eed60c7e1ee18c9fff61be88c
Reviewed-on: https://dart-review.googlesource.com/40540
Commit-Queue: Peter von der Ahé <ahe@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-12 18:25:11 +00:00
Peter von der Ahé bc7d1137fc Implement Fasta compiler configuration
Change-Id: Id17c35592838fd5ccc203b9e4ea0a86a29fe527e
Reviewed-on: https://dart-review.googlesource.com/36643
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2018-02-12 11:39:18 +00:00
William Hesse c9ec45638b Drop unused local variable in test.dart
Fixes analyzer hint

TBR=athom@google.com

Change-Id: I5af6e9a0f11cc40a10ac710e1fcfd7e6bc3279d2
Reviewed-on: https://dart-review.googlesource.com/40382
Reviewed-by: William Hesse <whesse@google.com>
2018-02-10 13:01:51 +00:00
Siva Chandra 6ff0951bdf Remove the use of redundant flags --dfe and --kernel-binaries.
This change helps in confining flag manipulation to just the embedder.
When we are ready to turn all dart 2 flags to true by default, the
change can be confined to just the VM.

Change-Id: I4ac550c331b1f236a2bd9d0453b7c567eb0c05d3
Reviewed-on: https://dart-review.googlesource.com/38881
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-02-08 20:56:22 +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
Bob Nystrom f92d1a6a7e Optimize ExpectationSet.
With the old implementation, looking up the expectations for a single
test was O(n) in the number of status file entries in all status files
(!). That means getting the status of m tests was O(n * m). :(

This parses entry paths into a tree and only traverses the branches of
that the test patch matches. On my script that determines the
expectation of every test on every configuration, it changes the runtime
from ~30s to ~1.5.

On my laptop, this change also takes this:

  time ./tools/test.py -m release --list -c dartdevc language_2

From about ~4.5s to ~3.5.

Storing the expectations in a more structured way also opens the door
to some other changes we could do:

- Separate out the configuration from ExpectationSet so that you can
  use a single ExpectationSet for multiple configurations.

- Determining which status entries are pointless because they are
  covered by a similar expectation higher up the file system tree.

- Determining which status entries collide and hit the same test.

Change-Id: I121bca34b68e1e6bb45edb59bd3cfe95d37e6bef
Reviewed-on: https://dart-review.googlesource.com/38382
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-06 02:47:15 +00:00
Florian Loitsch 3b8e4d41a7 Reapply "Run async functions immediately."
Which was reverted in commit 032be73dbe.
Originally commited in commit 67bac0bce6.
Original review URL: https://dart-review.googlesource.com/5263

Change-Id: Ic7333c29e502a3924dc6aade8ffa46fc8aa5b04a
Reviewed-on: https://dart-review.googlesource.com/38120
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-02 15:50:16 +00:00
Florian Loitsch 032be73dbe Revert "Run async functions immediately."
This reverts commit 67bac0bce6.

Reason for revert: broke the bot.

Original change's description:
> Run async functions immediately.
> 
> Migrated from https://codereview.chromium.org/2478703003/
> 
> Change-Id: I1d678c01ba5876490b12c676c500171328361d31
> Reviewed-on: https://dart-review.googlesource.com/5263
> Commit-Queue: Florian Loitsch <floitsch@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Vijay Menon <vsm@google.com>
> Reviewed-by: William Hesse <whesse@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>

TBR=whesse@google.com,rnystrom@google.com,vegorov@google.com,kustermann@google.com,zra@google.com,floitsch@google.com,jmesserly@google.com,vsm@google.com,regis@google.com,sigmund@google.com

Change-Id: I20c948057423c3fa5aa8c72843f8f2a17e086ad5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37981
Reviewed-by: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-01 15:01:21 +00:00
William Hesse 25af9c2495 Add co19_2 suite to SDK source checkout
This is a branch of co19 tests where the tests have been
made strong mode compliant. A co19_2_analyzer.status file
has been added with the current statuses of the tests when
run on dartanalyzer --strong. We expect more Dart 2 configurations
to start running these tests and adding status files.

Change-Id: I22077272707620b92dd1092c38bbb4f3d5964493
Reviewed-on: https://dart-review.googlesource.com/37743
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2018-02-01 14:11:37 +00:00
Florian Loitsch 67bac0bce6 Run async functions immediately.
Migrated from https://codereview.chromium.org/2478703003/

Change-Id: I1d678c01ba5876490b12c676c500171328361d31
Reviewed-on: https://dart-review.googlesource.com/5263
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-02-01 14:08:57 +00:00
Bob Nystrom 85faacc23c Fix the const assertion test.
Dart 2 has no notion of "checked mode", so a failed assertion in a
const constructor should always be a compile error.

Change-Id: I02227c03613346918de1e3a7f7c70d209a940b90
Reviewed-on: https://dart-review.googlesource.com/37647
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-01-30 23:26:01 +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
Jens Johansen 51f50fa922 [test.py] Refactor and change crash-sniffing (take #2)
test.py looks at the status code to find out if a test crashed or not.
On linux everything < 0 is a crash, but on Windows a bit pattern is
in play.
It is unclear why this is the case, but some test currently 'Fail'
(instead of the expected 'Crash') on Windows because of exit code
-1073740791 (aka 3221226505 aka 0xC0000409 aka
STATUS_STACK_BUFFER_OVERRUN
(https://msdn.microsoft.com/en-us/library/cc704588.aspx)) indicating
that something isn't quite right with the crash-sniffing on Windows.

This CL changes it to indicate a crash if the exit-code is "0xC0...",
"0x80..." or "0x40..." as listed by
https://msdn.microsoft.com/en-us/library/cc704588.aspx.

Change-Id: I6c692173c3c3b5fb6c857a55a739d8f136d662bf
Reviewed-on: https://dart-review.googlesource.com/36261
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-01-23 06:58:08 +00:00
Jens Johansen 3b6bc1ce6e Revert "[test.py] Refactor and change crash-sniffing"
This reverts commit 87a009422e.

Reason for revert: Doesn't cover 0x80 and 0x40. Upcomming CL will do that.

Original change's description:
> [test.py] Refactor and change crash-sniffing
> 
> test.py looks at the status code to find out if a test crashed or not.
> On linux everything < 0 is a crash, but on Windows a bit pattern is
> in play.
> It is unclear why this is the case, but some test currently 'Fail'
> (instead of the expected 'Crash') on Windows because of exit code
> -1073740791 (aka 3221226505 aka 0xC0000409 aka
> STATUS_STACK_BUFFER_OVERRUN
> (https://msdn.microsoft.com/en-us/library/cc704588.aspx)) indicating
> that something isn't quite right with the crash-sniffing on Windows.
> 
> This CL changes it to indicate a crash if the exit-code is "0xC00..." as
> this is a "NTSTATUS code" (which must mean crash) according to
> https://blogs.msdn.microsoft.com/joshpoley/2011/06/13/common-process-termination-values/.
> 
> Change-Id: Ie7e1a00b3b870ea176dbdc4db41dc458e61e9a28
> Reviewed-on: https://dart-review.googlesource.com/36240
> Reviewed-by: Johnni Winther <johnniwinther@google.com>
> Commit-Queue: Jens Johansen <jensj@google.com>

TBR=jensj@google.com,johnniwinther@google.com

Change-Id: Iba1d3e1aa1c7525e374e2d0763926b13a67169ad
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/36260
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-01-22 14:22:30 +00:00
Jens Johansen 87a009422e [test.py] Refactor and change crash-sniffing
test.py looks at the status code to find out if a test crashed or not.
On linux everything < 0 is a crash, but on Windows a bit pattern is
in play.
It is unclear why this is the case, but some test currently 'Fail'
(instead of the expected 'Crash') on Windows because of exit code
-1073740791 (aka 3221226505 aka 0xC0000409 aka
STATUS_STACK_BUFFER_OVERRUN
(https://msdn.microsoft.com/en-us/library/cc704588.aspx)) indicating
that something isn't quite right with the crash-sniffing on Windows.

This CL changes it to indicate a crash if the exit-code is "0xC00..." as
this is a "NTSTATUS code" (which must mean crash) according to
https://blogs.msdn.microsoft.com/joshpoley/2011/06/13/common-process-termination-values/.

Change-Id: Ie7e1a00b3b870ea176dbdc4db41dc458e61e9a28
Reviewed-on: https://dart-review.googlesource.com/36240
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-01-22 13:46:29 +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
Sigmund Cherem c241078b10 Cleanup dart2js snapshot generation
- I beleive create_snapshot.dart is no longer in use: it was replaced by
  create_snapshot_entry + GN application snapshot rules.

- utils_wrapper seems to be something really historical (maybe we thought we
  were going to only have a single wrapper for all of our tools back in the
  day). The only use of it is to track build dependencies in test.py, which I
  think we can do by directly using dart2js.dart.snapshot instead.

Change-Id: I6e32403eb8c5d40f0b58e48ae5ff6fb60fd855b3
Reviewed-on: https://dart-review.googlesource.com/34923
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-01-17 00:35:34 +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
Alexander Aprelev c352b2203b Add dart2.bat to accommodate running dart2 tests on Windows
Bug: https://github.com/dart-lang/sdk/issues/31707#issuecomment-356708044
Change-Id: I7e7f7515fec393b1403cf5f8da2d740771ff10b7
Reviewed-on: https://dart-review.googlesource.com/34025
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-01-11 01:35:17 +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
Vijay Menon bedf7121e0 Wire build rules to generate ddc-kernel versions of SDK files
Change-Id: I7d39bce7a3382c7a332ecdc4886bb08dabfdf09a
Reviewed-on: https://dart-review.googlesource.com/33900
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2018-01-10 18:34:38 +00:00
Paul Berry 1cdef9834a Remove stray print statement from test suite.
This looks like it was included in
a922e51fed by mistake, and it's
cluttering up the output of test runs.

Change-Id: I38227ee014009909a7e45a0d5db696dba277c6c3
Reviewed-on: https://dart-review.googlesource.com/32920
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-01-08 14:52:02 +00:00
Jens Johansen 501cca4741 [test.py] Fix race condition when copying files
When testing multitests needed files are copied, but some files are
copied multiple times, creating race conditions that might cause tests
to fail because incomplete files are read.

For instance running
"python tools/test.py -m release -c dartk --strong language_2"
is fine (i.e. everything passes), but running
"python tools/test.py -m release -c dartk --strong language_2/generic_constructor_mixin3_test"
can get 0, 1 or 2 errors depending on the computers mood...

This fixes the problem by introducing a map from copied-to-path to Future,
so the same Future is returned when asked to copy a file subsequent times,
thus avoiding the race condition.

Fixes #31368.

Bug:
Change-Id: Id7d4a12424085c75f3543bd06a617121ad5eff35
Reviewed-on: https://dart-review.googlesource.com/32282
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-01-05 07:50:54 +00:00
Stephen Adams a922e51fed Add '// dart2jsOptions=--flag1 --flag2' facility to tests
Change-Id: I4366446e8f5bb8d9223407e24a1d863156422187
Reviewed-on: https://dart-review.googlesource.com/32220
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-01-05 00:37:56 +00:00
Sigmund Cherem 226602dc18 Reapply "Support module names in DDK"
This includes two fixes that only caused problems in windows:
  - we assumed file-uris in other parts of DDK, and this caused problems with sourcemaps
  - we generated module names containing a leading "./" (e.g. "./expect"), this didn't cause trouble in linux, but it is incorrect.

Bug:
Change-Id: Id3c363670544ed0a8373184ec5445549346fc7bf
Reviewed-on: https://dart-review.googlesource.com/31748
Reviewed-by: Jake Macdonald <jakemac@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-01-02 22:12:13 +00:00
Sigmund Cherem 80a74e6bff Revert "Support module names in DDK" and "Do not assume file-uris in other parts of DDK"
This reverts commits e122f48257 and b2b902f55a.

Reason for revert: broke ddk in windows, need to investigate proper fix

Change-Id: I5c03bae406f57570cc465aad32610c19ac385944
Reviewed-on: https://dart-review.googlesource.com/31541
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-12-27 23:35:14 +00:00
Sigmund Cherem e122f48257 Support module names in DDK
This adds the basic support for using the path to the .dill file as a module
name. The main difference between this and Jake's original CL is that we now
hide the multi-root as an implementation detail.

Change-Id: If24af1aaefa5c1445c7c84bd9ff4a7a4d738a320
Reviewed-on: https://dart-review.googlesource.com/31283
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2017-12-27 17:52:22 +00:00
Alexander Thomas a8e0c63e55 [Infra] Delete generated compilations for dartk/dartkp compilers as well
This should prevent the bots from running out of disk space.

Change-Id: I3ca7794f8006f616473cf02c62f000a4c44d5b36
Reviewed-on: https://dart-review.googlesource.com/31120
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2017-12-21 16:18:21 +00:00
Alexander Markov b6276eb3d5 [VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v3.
* Enable --limit-ints-to-64-bits for CFE when it is used to generate
  kernel for VM as CFE relies on int.parse being able to parse correct
  literals and reject incorrect.

* Pass --limit-ints-to-64-bits to gen_kernel via environment
  variable to support batch mode compilation.

Issue: https://github.com/dart-lang/sdk/issues/31339

Re-landing https://dart-review.googlesource.com/29941 with the fix:

* Use checked-in SDK to avoid timeouts on SIMARM bots.
  Checked-in SDK was updated and now includes necessary fixes.

Change-Id: I4a5a99455b60204572f3d619d7eb374035b03e40
Reviewed-on: https://dart-review.googlesource.com/30640
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-20 18:04:42 +00:00
Alexander Markov d8f27c3841 [VM] Enable optimizations based on strong mode types
Strong mode types are queried from:

* Return types of interface targets of instance calls.
* Return types of static calls.
* Types of instance and static fields.
* Types of local variables (for initial types of phis).

The strong mode types are used to specialize int and double operations
and optimize 'is' checks.

https://github.com/dart-lang/sdk/issues/30480
Change-Id: I2302509f396eacfcab8ed41e3f50e8c74dd662fd
Reviewed-on: https://dart-review.googlesource.com/30386
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-19 19:23:22 +00:00
Vyacheslav Egorov 0dc324a68d Revert "[VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v2."
This reverts commit 2a3f00a179.

Reason for revert: SIMARM bots are timing out.

Original change's description:
> [VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v2.
> 
> * Enable --limit-ints-to-64-bits for CFE when it is used to generate
>   kernel for VM as CFE relies on int.parse being able to parse correct
>   literals and reject incorrect.
> 
> * Pass --limit-ints-to-64-bits to gen_kernel via environment
>   variable to support batch mode compilation.
> 
> * Use current Dart SDK instead of checked-in Dart SDK to run CFE
>   in gen_kernel as checked-in Dart SDK is old and it doesn't have
>   int.parse fix yet.
> 
> Issue: https://github.com/dart-lang/sdk/issues/31339
> Change-Id: Iaba2a7945a3faa9427f9aab1e9f2b907fa2246a3
> Reviewed-on: https://dart-review.googlesource.com/29941
> Commit-Queue: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>

TBR=vegorov@google.com,kustermann@google.com,alexmarkov@google.com,zra@google.com,asiva@google.com

Change-Id: Iecf26953bc6ae95c3bf0d1142bb89fb51cb0aaee
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Issue: https://github.com/dart-lang/sdk/issues/31339
Reviewed-on: https://dart-review.googlesource.com/30440
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2017-12-19 08:52:25 +00:00
Alexander Markov 2a3f00a179 [VM] Enable --limit-ints-to-64-bits in Dart 2.0 precompiler, v2.
* Enable --limit-ints-to-64-bits for CFE when it is used to generate
  kernel for VM as CFE relies on int.parse being able to parse correct
  literals and reject incorrect.

* Pass --limit-ints-to-64-bits to gen_kernel via environment
  variable to support batch mode compilation.

* Use current Dart SDK instead of checked-in Dart SDK to run CFE
  in gen_kernel as checked-in Dart SDK is old and it doesn't have
  int.parse fix yet.

Issue: https://github.com/dart-lang/sdk/issues/31339
Change-Id: Iaba2a7945a3faa9427f9aab1e9f2b907fa2246a3
Reviewed-on: https://dart-review.googlesource.com/29941
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-18 21:43:06 +00:00
Martin Kustermann 0b8d270434 Do not use pkg/vm wrapper script when running fully-linked kernel files
Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I5211c7d8fb16ea60509916bf525cc36ac05dd3a9
Reviewed-on: https://dart-review.googlesource.com/29591
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2017-12-14 16:03:15 +00:00
Martin Kustermann 36c3f97440 Enable dartk batch running of simarm/simarm64/simdbc
Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I19f9507e0f2285c6b2dd29ca5991487dfb99fdb8
Reviewed-on: https://dart-review.googlesource.com/29581
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2017-12-14 10:26:24 +00:00
Jens Johansen a37c34b5fb [test.py] Pass environment to dartdev[ck] through createCommand
Some tests are run via createCommand, some via
computeCompilationArtifact. This meant that some tests got an
environment and some didn't, resulting in the batch workers
getting restarted all the time.
This CL fixes the issue by passing the environment to createCommand as
well, meaning that the batch workers doesn't restart unnecessarily.

Before:

$ cls; xvfb-run -a '--server-args=-screen 0 1024x768x24' python -u ./tools/test.py -mrelease --checked --strong --use-sdk -rchrome -cdartdevk language_2
[03:09 | 100% | + 5171 | -    0]

$ cls; xvfb-run -a '--server-args=-screen 0 1024x768x24' python -u ./tools/test.py -mrelease --checked --strong --use-sdk -rchrome -cdartdevc language_2
[02:33 | 100% | + 5170 | -    0]


Now:

$ cls; xvfb-run -a '--server-args=-screen 0 1024x768x24' python -u ./tools/test.py -mrelease --checked --strong --use-sdk -rchrome -cdartdevk language_2
[01:41 | 100% | + 5171 | -    0]

$ cls; xvfb-run -a '--server-args=-screen 0 1024x768x24' python -u ./tools/test.py -mrelease --checked --strong --use-sdk -rchrome -cdartdevc language_2
[01:59 | 100% | + 5170 | -    0]


I.e. dartdevk tests are now almost twice as fast (on my machine).

Bug:
Change-Id: I15111436d3411b6ba85209950e4a5f20ee515539
Reviewed-on: https://dart-review.googlesource.com/29100
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2017-12-13 12:22:55 +00:00
Martin Kustermann 717ed651f5 Treat compile-time errors from the batch mode runner correctly
The batch runner uses an exitCode of 1 to signal compile-time errors,
which we need to support in the VMKernelCompilationCommandOutput.

Furthermore allow running the output of a dart -> kernel compilation on
the VM even though we expect an compile-time error (sometimes the
frontend has bugs and doesn't emit the compile-time errors and we need
to run the VM to get them)

Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I8b4c34557dbf3de487247d75b02777bacbd452c1
Reviewed-on: https://dart-review.googlesource.com/28642
Reviewed-by: Martin Kustermann <kustermann@google.com>
2017-12-12 17:18:10 +00:00
Martin Kustermann ba8014df04 Ensure we pass the kernel file to dart_bootstrap when using cfe (in batch and non-batch mode)
Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: Ibca196103b868177afa0ab9e15c913bbea2474ed
Reviewed-on: https://dart-review.googlesource.com/28760
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-12 16:20:54 +00:00
Martin Kustermann a11d7a1643 Add support for running simdbc64 in batch mode
This makes isolate tests fail, since we no longer run from "source" (or
rather use the kernel-isolate to to "source -> dill" for us).

The special vm/cc suite will continue to be run via the kerne-isolate, so we
have the coverage for these (which probably include reload tests).

Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I51bd2f9345d650b4ff2a98aa1c8365c765e0d013
Reviewed-on: https://dart-review.googlesource.com/28722
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-12 15:26:41 +00:00
Martin Kustermann 891e591415 Only compile to kernel for precompilation for -cdartkp or -dartkp --strong
Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: Ife12640a61513a0312fcfc3713f1a44f69c1ac9a
Reviewed-on: https://dart-review.googlesource.com/28621
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-12 14:26:46 +00:00
Martin Kustermann d1ed915244 Use batch mode compilation for normal -cdartkp
Issue https://github.com/dart-lang/sdk/issues/31585

Change-Id: I70790a33cfbfbc7c2c48c6e77074f955d6de7e01
Reviewed-on: https://dart-review.googlesource.com/28280
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-12-12 13:47:11 +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