Commit Graph

1865 Commits

Author SHA1 Message Date
Martin Kustermann a00684d6c0 Run pub get with --verbose to debug flaky timeouts on pkg tests
BUG=https://github.com/dart-lang/sdk/issues/28734
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2683353003 .
2017-02-10 13:41:51 +01:00
Martin Kustermann be2942a279 Significantly reduce the timeout app_jit is given on the buildbot
Currently tests in the app_jit-debug configuration are given 16 minutes
timeout. This caused us to run into a global timeout of test.dart (it's
"debug timer" which is set to 10 minutes of inactivity).

Even the slowest tests run in the app_jit-debug configuration within around 1:30 m on the buildbot.

This CL changes the timeout from 16 minutes to 4 minutes.

R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2685303002 .
2017-02-10 12:56:44 +01:00
Florian Schneider eccfcdf787 Remove left-over from bad merge.
BUG=
R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2687943003 .
2017-02-09 16:17:28 -08:00
Florian Schneider 20e736e6ca test.dart: Dump stack traces for child processes on timeout.
This should help flaky timeout debugging for tests that spawn child processes.

R=zra@google.com

Review-Url: https://codereview.chromium.org/2682373004 .
2017-02-09 15:34:24 -08:00
Vyacheslav Egorov d5a11f3d34 [Kernel] Enable Kernel Isolate to use Fasta instead of DartK.
We are not switching yet, but now everybody can try fasta by doing:

$ dart -DDFE_USE_FASTA=true --dfe=utils/kernel-service.dart hello.dart

Note that when using fasta we expect that patched_sdk contains platform.dill
Kernel binary containing compiled patched sdk. This file can be obtained by
doing:

$ export DART_AOT_SDK=<path-to-patched_sdk>
$ dart pkg/front_end/lib/src/fasta/bin/compile_platform.dart \
  ${DART_AOT_SDK}/platform.dill

We are also adding --use-fasta to testing script to allow end-to-end testing
of fasta (though platform.dill file needs to be generated manually prior to
running tests):

$ tools/test.py -c dartk -m release -a x64 --nobatch --use-fasta

Current test status:

$ tools/test.py -c dartk -m release -a x64 --nobatch --use-fasta
[27:34 | 100% | +12566 | - 1941]

BUG=
R=ahe@google.com, kustermann@google.com

Review-Url: https://codereview.chromium.org/2684943003 .
2017-02-08 16:48:35 +01:00
Florian Schneider 973adc3ea5 Fix failure of test_runner_test on Windows.
test_runner_test does not set up the configuration like a regular test
run with test.dart.

R=zra@google.com

Review-Url: https://codereview.chromium.org/2686453003 .
2017-02-07 11:34:49 -08:00
Florian Schneider f1d76fce1c test.dart: Find cdb.exe automatically from depot_tools when running Windows tests
cdb is used to dump a stack trace when a test times out.

Instead of relying on cdb.exe being in the PATH, find it from the installed
depot_tools.

BUG=
R=kustermann@google.com, zra@google.com

Review-Url: https://codereview.chromium.org/2672243005 .
2017-02-07 10:21:04 -08:00
Bob Nystrom e826303741 Get rid of --use-repository-packages and --use-public-packages.
The former doesn't seem to tell us anything useful, and is broken. The
latter is no longer needed as a flag without the former. The pkgbuild
suite implies it and other suites don't support it.

R=whesse@google.com

Review-Url: https://codereview.chromium.org/2673133002 .
2017-02-06 10:40:53 -08:00
William Hesse 33e89e66be Update status for analyze_libraries suite, and make it work with --use-sdk
BUG=https://github.com/dart-lang/sdk/issues/28620
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2671913002 .
2017-02-03 03:20:57 +01:00
Florian Schneider d8054eaabe Print stack traces of tests timing out on Windows
Uses cdb.exe (part of Windows SDK, comes with depot_tools) to dump stack traces of all threads when a test times out similar
to what we already do on Linux and MacOS.

Note that cdb.exe comes in two version (32- and 64-bit). For proper stacktraces the correct version must be in the PATH.

Fixes #28242.

R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2670763002 .
2017-02-02 10:25:30 -08:00
Asger Feldthaus 14c6b27533 Put tree-shaking behind a flag in dartk.
BUG=
R=jensj@google.com

Review-Url: https://codereview.chromium.org/2669783002 .
2017-02-02 15:10:10 +01:00
Ryan Macnak 6b1315a06f Revert "Delete app jit or aot snapshots as each test is completed to reduce the amount of disk space required to run the test suite."
This reverts commit 302e54a55d.

Review-Url: https://codereview.chromium.org/2671503002 .
2017-02-01 10:51:28 -08:00
Ryan Macnak 302e54a55d Delete app jit or aot snapshots as each test is completed to reduce the amount of disk space required to run the test suite.
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2666833004 .
2017-02-01 09:20:48 -08:00
Ryan Macnak 9eb216a495 Reapply "Create an app snapshot of the Dart front end."
Skip training on Windows, issue #28532.

R=hausner@google.com

Review-Url: https://codereview.chromium.org/2665753002 .
2017-01-31 09:47:51 -08:00
Vyacheslav Egorov a7ffe24177 VM: [Kernel] Switch to DFE for testing -c dartk configuration.
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2668503003 .
2017-01-31 18:25:02 +01:00
Vyacheslav Egorov e8f456edd5 Buildbot: Only archive core dumps from unexpected crashes.
Change UnexpectedCrashDumpArchiver to generate coredumps file in the current
directory. Each line of this file specifies a core and a binary to be
uploaded in the following format:

              test-name,core-file,binary-file

CoreDumpArchiver reads this file and uploads the first 10 crash dumps.

R=kustermann@google.com
BUG=

Review-Url: https://codereview.chromium.org/2645963004 .
2017-01-20 17:44:51 +01:00
Zachary Anderson 306b0ec249 Fuchsia: Build an OS image that includes Dart's test suite.
Guarded by a GN argument, this CL builds a Fuchsia OS image
that includes Dart tree, including the test suite, packages,
test harness, and sufficient build output to run through the
test suite.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2547013003 .
2017-01-19 10:11:27 -08:00
Vyacheslav Egorov 84820ba05e Fix analyzer warnings in tools/testing/dart/test_progress.dart
R=kustermann@google.com
BUG=

Review-Url: https://codereview.chromium.org/2642153002 .
2017-01-19 17:49:52 +01:00
Vyacheslav Egorov 6c9ca0cd2b Buildbot: Change --copy-crashdumps to do the actual archiving to CloudStorage.
This flag now both enables core dump collection by setting appropriate rlimits
and takes care of archiving cores and crashed binaries.

R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2640093005 .
2017-01-19 17:25:39 +01:00
Vyacheslav Egorov e9483132ed Revert "Buildbot: Change --copy-crashdumps to do the actual archiving to CloudStorage."
This reverts commit dec352c1ac.

Bots are completely broken

BUG=
TBR=kustermann@google.com

Review-Url: https://codereview.chromium.org/2640823005 .
2017-01-19 16:17:23 +01:00
Vyacheslav Egorov dec352c1ac Buildbot: Change --copy-crashdumps to do the actual archiving to CloudStorage.
This flag now both enables core dump collection by setting appropriate rlimits
and takes care of archiving cores and crashed binaries.

BUG=
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2644593002 .
2017-01-19 16:13:28 +01:00
Martin Kustermann 5f9e59f278 Fix vm-kernel-precompilation builders
Review-Url: https://codereview.chromium.org/2643863003 .
2017-01-18 22:41:27 +01:00
Martin Kustermann 5d7e89cb4e Fix android precompilation builders after testing script refactoring
Review-Url: https://codereview.chromium.org/2640063002 .
2017-01-18 19:07:22 +01:00
Martin Kustermann f95701bf61 Support tests using VMOptions also with kernel
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2641433002 .
2017-01-18 18:48:22 +01:00
Martin Kustermann ef019665e7 Remove some hacks in the testing scripts & prepare for checked mode handling with kernel
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2638033002 .
2017-01-18 12:11:11 +01:00
Asger Feldthaus 902d9ee7e8 Do some housekeeping in tools/testing/dart
- Fix dartanalyzer warnings about unused variables and missing returns
- Remove trailing whitespace
- Add a dummy pubspec.yaml so editors recognize it as a Dart project

R=whesse@google.com

Review-Url: https://codereview.chromium.org/2633213003 .
2017-01-17 16:02:45 +01:00
Ryan Macnak fcd6333e3c Update the test harness to GN's location for the host's dart_bootstrap.
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2623283004 .
2017-01-11 18:42:48 -08:00
Florian Schneider bef4967ea1 Remove dart_noopt and related parts from the VM.
dart_noopt is not needed anymore because we have testing
and builbot integration of the real precompilation pipeline in place now.

Fixes #24569
Fixes #25726
Fixes #25845

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2624393002 .
2017-01-11 16:55:55 -08:00
William Hesse 3f7a85e068 Remove 'pkg' from the default list of test suites
Allow 'exclude-suite' option of test.dart to include a suite not on
the default list, so existing '--exclude-suite=pkg' options are
ignored. This change does not need to be reversed later.

BUG=https://github.com/dart-lang/sdk/issues/28237
R=kustermann@google.com

Review-Url: https://codereview.chromium.org/2610943002 .
2017-01-10 16:51:22 +01:00
Siva Annamalai b583d74608 Add flutter_engine runtime to the test script so we can run standard dart tests from the test suite against the flutter engine on linux/x64
The test suite can be invoked as :
tools/test.py -rflutter --packages=<path_to_packages_dir>/.packages --flutter=<path_to_flutter_engine_workspace>/sky-shell --exclude-suite=pkg

Currently the sky_shell executable does not yet support the proper return
codes:
Success - 0
API error - 253
Compilation error - 254
Unhandled error - 255
Once this is fixed we can start running the tests against our
dart/flutter engine bleeding edge build bot.

R=zra@google.com

Review-Url: https://codereview.chromium.org/2602783002 .
2017-01-05 14:41:27 -08:00
Asger Feldthaus 2e718613aa Add 'self_check' runtime for running self-checking unit tests
Some of the kernel unit tests can now be run using:

  tools/test.py -cdartk -rself_check language co19

This will search the pkg/ folder for files matching *_self_check.dart
and run each program with the compiled output as argument. If there is
no compiler, the test case itself is given as argument. These testers
are always run in batch-mode.

This type of test has no expected output, but is intended to check
itself by testing that certain invariants are not violated while
processing the given data set.

The 'self_check' runtime is not specifically tied to kernel,
although only kernel is using it at the moment.

There is also a new option --skip-compilation which skips the
compiler step.  It doesn't interact nicely with the status files,
but can still be useful for a quick offline test.

Current limitations:
- All self-check tests are treated as the same test case. If one fails,
  the remaining self-check testers don't run for that input.
- There is no way to run a subset of the self-check tests, or filter
  them based on what compiler was used.
- Tests that are expected to fail in the compiler show up as
  errors when skipping compilation.

BUG=
R=kustermann@google.com, whesse@google.com

Review-Url: https://codereview.chromium.org/2549793002 .
2016-12-15 13:07:03 +01:00
Asger Feldthaus 31d5860c81 Enable strong-mode test suite for dartk.
This adds status files for skipping tests that are not yet strong, and
a status file with the tests that fail with the dartk-vm configuration.

To test:

  tools/test.py -cdartk --strong {language,lib,corelib}_strong

BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2583453002 .
2016-12-15 12:50:08 +01:00
Martin Kustermann e9f0db2ba1 Start re-trying dartk compilations if they crash
Every crash of a dartk invocation will cause 1 more re-try. This is independent
of whether the crash was caused by the entire batch runner or just that single
compilation caused an exception.

The unfortunate side-effect of this is that ./tools/test.py will now print
warnings every time it retries the command.

R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2576693002 .
2016-12-15 12:37:24 +01:00
Ryan Macnak 6051488ad9 Cleanup dead compiler and runtime aliases from the test framework.
R=fschneider@google.com

Review-Url: https://codereview.chromium.org/2570633002 .
2016-12-12 13:42:35 -08:00
Martin Kustermann 6a30db5997 Remove sub-errortype DartkMissingCompileTimeError: Since there is a very big overlap between missing CTEs from dartk and from dart_bootstrap
R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2563983002 .
2016-12-09 10:55:03 +01:00
William Hesse 191184ba3d Remove dead code with analyzer warning in test scripts
BUG=

Review URL: https://codereview.chromium.org/2548773002 .
2016-12-02 11:29:45 +01:00
Ryan Macnak 1ebeb79942 Remove runtime 'dart_app' as it became identical to 'vm'.
Merge compiler 'dart2app' and 'dart2appjit' and rename to 'app_jit' since they came to mean the same thing.

Update status files to reflect these changes.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2541533004 .
2016-12-01 16:47:33 -08:00
Martin Kustermann abd77cab64 Refactor kernel-related status files
To make it clear in the status file whether a crash (or other issues) are coming
from the dartk compiler or from the vm, this CL introduces new status file
markers which are the normal markers prefixed with Dartk (e.g. DartkCrash).

Furthermore this CL groups common failures
  * compiler: dartk & dartkp
  * runtime: vm & dart_precompiled
into shared status file blocks, thereby deduplicating failures (which removes around 500 lines).

R=vegorov@google.com

Review URL: https://codereview.chromium.org/2543973002 .
2016-12-01 13:48:35 +01:00
Asger Feldthaus 04c66f8bab Support --strong when running dartk from test.py.
BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/2536143003 .
2016-11-30 08:25:53 +01:00
William Hesse 6f7005ee71 Update status for co19 tests on browsers.
BUG=
R=kustermann@google.com

Review URL: https://codereview.chromium.org/2538443002 .
2016-11-28 16:32:41 +01:00
Martin Kustermann aaec324001 Add more flags to the blacklist of reproduction commands
Currently failures on the buildbot will look for example like this:

Short reproduction command (experimental):
    python tools/test.py -cdartk -t120 --write-debug-log --write-test-outcome-log --copy-coredumps --exclude-suite pkg language/transitive_private_library_access_test

But developers only would like to see

    python tools/test.py -cdartk -t120 language/transitive_private_library_access_test

R=whesse@google.com

Review URL: https://codereview.chromium.org/2532123002 .
2016-11-28 14:18:27 +01:00
Asger Feldthaus 8f12489839 Add --verify-ir flag to dartk and test.py.
This replaces the old --sanity-check flag from dartk. Some files have
been renamed to avoid the wording "sanity check".

Compared to --sanity-check, the following checks have been added:
- variables are not referenced out of scope
- variables are not redeclared
- class type parameters are not referenced from static context

A unit test has been added to check that the verifier rejects certain
invalid ASTs.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/2531873002 .
2016-11-28 12:21:19 +01:00
Martin Kustermann b1c04f0538 Avoid random stacktraces being printed from tools/test.py during test runs
Previously the testing script was just printing interleaved stack traces with
all the other output. Which means it's not associatable with a single test and
is highly confusing!

This CL associates the stack trace information of tests which time out to the
particular test which timed out.

R=whesse@google.com

Review URL: https://codereview.chromium.org/2524733004 .
2016-11-23 08:39:27 +01:00
Vyacheslav Egorov 2cb8640ac1 Kernel: fix -c dartkp -r dart_precompiled testing configuration.
Pass full snapshot path to the dart_precompiled_runtime executable.

BUG=
R=kustermann@google.com

Review URL: https://codereview.chromium.org/2517243004 .
2016-11-22 19:34:58 +01:00
William Hesse 3e78c9bd31 Update test script short reproduction command to not print --packages flag.
Also run dartfmt on test_options.dart

BUG=
R=eernst@google.com

Review URL: https://codereview.chromium.org/2522513002 .
2016-11-21 18:27:11 +01:00
Martin Kustermann 13f7e93c7e Add wrapper shell script to invoke dartk with checked-in binary
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2516433004 .
2016-11-18 17:35:35 +01:00
Ryan Macnak 30517b2d1e Also push process_test when testing on Android hardware.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2505483002 .
2016-11-15 09:26:36 -08:00
Vyacheslav Egorov d96c11fcdd Emit patched_sdk in the root output directory.
Previously it was emitted in the directory used for intermediate files, which
is build system specific.

test.py script needs to locate patched_sdk thus its location must be aligned
between build systems.

Use checked in SDK if available and fallback on dart_boostrap if not available to speed up Debug builds

BUG=
R=kustermann@google.com

Review URL: https://codereview.chromium.org/2469683002 .
2016-11-01 17:34:27 +01:00
Vyacheslav Egorov eb8c24e133 Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork."
R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451623006 .
2016-10-27 10:09:22 +02:00
Vyacheslav Egorov 12968edb9c Revert "Reland "Merge more Kernel infrastructure from kernel_sdk SDK fork.""
This reverts commit 4e7a31262e.

Windows bots are broken now.

R=zra@google.com
BUG=

Review URL: https://codereview.chromium.org/2451893004 .
2016-10-26 17:07:18 +02:00