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>
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>
This reverts commit c5306595f4, which updated
the status for linux only, and updates it for all operating systems instead.
It also fixes a minor error in the status update tools.
Change-Id: I556dff775f221b872c5cea27b7ed5a0088d378a5
Reviewed-on: https://dart-review.googlesource.com/37261
Reviewed-by: Alexander Thomas <athom@google.com>
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>
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>
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>
- 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>
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>
After Clang 6.0, changing the value of a single string can change the
order of symbols in the .rodata section. This confuses Golem's
checks for the equivalence of two binaries.
This change adds a GN flag to omit the git hash and commit time from
the Dart VM's version string to avoid re-running Golem benchmarks on
commits where the only VM change is in the version string.
To use it, pass --gn-args="dart_version_git_info=false" to gn.py
Change-Id: I8134714d50e3c9b6dae750a515dc3c2228d76b53
Reviewed-on: https://dart-review.googlesource.com/33000
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
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>
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>
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>