Commit Graph

1311 Commits

Author SHA1 Message Date
Florian Schneider 92a681266c Fix running precompiled tests on Android.
The command line options for running the snapshot were outdated.

BUG=
R=kustermann@google.com

Review URL: https://codereview.chromium.org/1963573002 .
2016-05-09 10:08:45 +02:00
Ryan Macnak 7546ef1709 Simplify command line options for creating snapshots.
Also makes codeless app snapshots work in debug and release modes.

dart --snapshot=file.snap [--snapshot-kind=script] script.dart
dart file.snap

dart_bootstrap --snapshot=dir --snapshot-kind=app-after-run script.dart
dart --run-app-snapshot=dir script.dart

dart_bootstrap --snapshot=dir --snapshot-kind=app-jit-after-run script.dart
dart --run-app-snapshot=dir script.dart

dart_bootstrap --snapshot=dir --snapshot-kind=app-aot script.dart
dart_precompiled_runtime --run-app-snapshot=dir script.dart

R=asiva@google.com

Review URL: https://codereview.chromium.org/1947783003 .
2016-05-06 12:40:04 -07:00
Ryan Macnak d7234da230 Include DBC in the "all" architecture.
R=zra@google.com

Review URL: https://codereview.chromium.org/1949423003 .
2016-05-05 15:19:58 -07:00
Florian Schneider b0f4ccabf4 Fix exit code handling for Android testing.
Shell returns 128+N when exiting because of signal.

BUG=
R=kustermann@google.com

Review URL: https://codereview.chromium.org/1950633003 .
2016-05-04 10:13:34 +02:00
Florian Schneider 174121435a Fix handling of negative exit codes in test.dart on Android.
BUG=dartbug.com/26375
R=kustermann@google.com

Review URL: https://codereview.chromium.org/1940213003 .
2016-05-03 16:47:22 +02:00
Martin Kustermann abfea75f1e Add support for timeouts when using AdbPrecompilationCommand
R=whesse@google.com

Review URL: https://codereview.chromium.org/1940853002 .
2016-05-02 14:00:18 +02:00
Martin Kustermann 620b896e2f Initial support to test.dart for running precompiler tests on android devices
Steps to make this work:

a) Make sure you have an android sdk checkout:

  => See https://github.com/dart-lang/sdk/wiki/Building-Dart-SDK-for-Android

b) Building using android-toolchain crosscompiler:

  $ ./tools/build.py -mrelease -aarm --os=android dart_precompiled_runtime

  => Notice --os=android

c) Testing using attached android phones:

  $ export PATH=$PATH:$PWD/third_party/android_tools/sdk/platform-tools
  $ ./tools/test.py -mrelease -aarm --system=android -cprecompiler -rdart_precompiled --use-blobs

  => Notice --system=android

Failing tests on android can be marked in status files via:

[ $compiler == precompiler && $runtime == dart_precompiled && $system == android ]

R=whesse@google.com

Review URL: https://codereview.chromium.org/1922163002 .
2016-05-02 12:41:22 +02:00
William Hesse 7c9219a48e Revert "Delay Firefox browser startup in test scripts, to flatten load."
This reverts commit 40b69fd615.

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

Review URL: https://codereview.chromium.org/1921553005 .
2016-04-26 21:29:45 +02:00
William Hesse 40b69fd615 Delay Firefox browser startup in test scripts, to flatten load.
BUG=https://github.com/dart-lang/sdk/issues/26060
R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/1882813002 .
2016-04-26 15:33:52 +02:00
Ryan Macnak f262fad639 Option to output precompiled instructions as a blob for use with mmap instead of assembly for use in a shared library.
BUG=http://dartbug.com/26199
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1915853004 .
2016-04-25 16:19:34 -07:00
Zachary Anderson 3d7202bad3 DBC: Adds simdbc64 target, adds arm64 arithmetic overflow logic
There were differences between linux gcc, android gcc,
MacOS clang, and 32 vs. 64-bit w.r.t the __builtin
functions for detecting arithmetic overflow. I couldn't get
them all working at the same time. Instead, I removed them,
and changed to always use the inline assembly. This works
in all the configurations above.

This change also adds a simdbc64 target for building simdbc
for 64-bit, and sets up the android targets. simdbc targets
arm, and simdbc64 targets arm64. You can build them with:

$ ./tools/build.py -m release -a simdbc{64} --os=android runtime

R=iposva@google.com

Review URL: https://codereview.chromium.org/1904153003 .
2016-04-25 12:48:34 -07:00
John McCutchan 14d8653ed8 Go back to using dart_bootstrap for precompilation bots
BUG=

Review URL: https://codereview.chromium.org/1913193002 .
2016-04-22 11:07:01 -07:00
John McCutchan 0cfd4f5cd5 GN Build fixes for Flutter + gen_snapshot fix
1. Add "dart_runtime_mode" GN argument. This is an enum with three valid values: "release", "profile", and "develop".
   *) "release" builds product precompiled-runtime.
   *) "profile" builds non-product precompiled-runtime.
   *) "develop" builds non-product non-precompiled-runtime.

2. Remove the redundant "dart_product" GN argument.

3. Kill all *precompiled_runtime static library variants and the related config.

4. Always include the precompiler in gen_snapshot.

5. Support multiple --embedder_entry_points_manifest arguments to gen_snapshot.

6. Update our test harness to use gen_snapshot and pass the same kinds of command line arguments the Flutter folks are using.

7. ASSERT that both DART_PRECOMPILED_RUNTIME and DART_PRECOMPILER are not set at the same time.

R=fschneider@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/1903583002 .
2016-04-22 07:00:03 -07:00
Florian Schneider e905d64058 VM: Remove redundant build target dart_product.
It has been replaced by out/Product<arch>/dart

Building and testing product mode works via the -mproduct flag
with build.py/test.py.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1902073003 .
2016-04-20 12:29:21 +02:00
Vyacheslav Egorov ee0f608ce4 Dart Byte Code interpreter.
This version is Clang/GCC only and does not support Windows because it uses computed goto's.

Only unoptimized mode is supported.

Architecture is described in constants_dbc.h and stack_frame_dbc.h.

R=fschneider@google.com, zra@google.com

Review URL: https://codereview.chromium.org/1858283002 .
2016-04-18 23:02:01 +02:00
William Hesse c0096e6f0c Print name of previous test when a browser test times out.
Remove timeout multiplier for dart2js browser tests.

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

Review URL: https://codereview.chromium.org/1867283002 .
2016-04-13 12:35:27 +02:00
William Hesse 333959070b Remove timeout multiplier for dart2js browser tests.
This reverts part of
https://github.com/dart-lang/sdk/commit/82e62563924c0bfde5be8dccfddb186980de637f
Review is at
https://codereview.chromium.org/1865913002

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

Review URL: https://codereview.chromium.org/1874653002 .
2016-04-08 13:06:32 +02:00
William Hesse 82e6256392 Update status for html/JsArray test, increase dart2js timeout on browser bots.
BUG=https://github.com/dart-lang/sdk/issues/26060
BUG=https://github.com/dart-lang/sdk/issues/26197
R=kustermann@google.com

Review URL: https://codereview.chromium.org/1865913002 .
2016-04-06 15:57:35 +02:00
William Hesse c63b10b611 Format the test scripts in /tools/testing/dart using dartfmt 1.16.0-dev.3.0.
R=ahe@google.com

Review URL: https://codereview.chromium.org/1859973002 .
2016-04-06 14:49:18 +02:00
William Hesse 7407ecded4 Start browsers sequentially in testing scripts, as needed.
BUG=https://github.com/dart-lang/sdk/issues/26060
R=ahe@google.com

Review URL: https://codereview.chromium.org/1859523002 .
2016-04-06 11:34:52 +02:00
Harry Terkelsen a9a0ce0c1c Stop retrying failing tests on Safari
BUG=https://github.com/dart-lang/sdk/issues/22519
R=ahe@google.com

Review URL: https://codereview.chromium.org/1844933002 .
2016-03-30 10:27:13 -07:00
Siva Annamalai 520ba45d16 Use the correct binary name for testing product mode.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1808853006 .
2016-03-18 13:59:34 -07:00
Terry Lucas 96d7fbaa1b Reverted experiment for ot test
R=whesse@google.com

Review URL: https://codereview.chromium.org/1806953002 .
2016-03-16 10:09:34 -07:00
Terry Lucas cd24f61a19 Test now passes and try test for timeouts on DRTs Mac Full BOT
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1805383002 .
2016-03-16 06:59:21 -07:00
Terry Lucas 00a0cc905d Test failure in DRT not Dartium and revert timeout multiplier
TBR=alanknight@google.com

Review URL: https://codereview.chromium.org/1805793002 .
2016-03-15 19:01:18 -07:00
Terry Lucas d46512329d Temporarily double timeout to test Mac fullbots timing out with DRT
R=jacobr@google.com, alanknight@google.com, whesse@google.com

Review URL: https://codereview.chromium.org/1802383003 .
2016-03-15 13:42:12 -07:00
Ryan Macnak a0e3bfdd68 Qualify the precompiled shared library name with the snapshot directory instead of using LD_LIBRARY_PATH.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1771423002 .
2016-03-08 12:01:53 -08:00
Ryan Macnak 3b16570e07 Also update the test harness for unification of dart_no_snapshot into dart_bootstrap.
Cf. d61ebd4ed2

R=iposva@google.com

Review URL: https://codereview.chromium.org/1760263003 .
2016-03-03 16:47:28 -08:00
Ryan Macnak 6917ae7409 Address static warning in precompiler compiler configuration.
R=fschneider@google.com

Review URL: https://codereview.chromium.org/1751253002 .
2016-03-01 15:51:35 -08:00
Ryan Macnak 3fd5ffdbd4 Make tools/build.py -cprecompiler -rdart_precompiled green:
- Create a separate compilation output directory for each VMOptions varient so they can run in parallel.
- Run both the snapshotter and assembler from the test harness instead of a wrapper script so crashes in the snapshotter are correctly identified by the test harness.
- Delete the assembly source for the precompiled shared library as we go to limit space required to run the test suite (now 61GB for X64 release).
- Remove the VMOption --optimization-counter-threshold in when running precompilation tests.
- Don't look at a library prefix's import list during load(), it was removed by tree-shaking.
- Trace types of TypeParameters.
- Trace types of a Function's owner and parent.
- Update status file for remaining 4 failures under http://dartbug.com/25892.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1732323005 .
2016-03-01 15:19:11 -08:00
Siva Annamalai 993290b599 - Include a random number in the full snapshot filename as some of the tests
which have multiple VMOption specifications in them run in parallel with the
  same snapshot filename and they clobber each other resulting in random crashes
- Delete the temporary snapshot generation directory after the test run
- Modify map_literal_oom_test.dart to run with 10mb heap limit instead of 7MB
  as the VM service isolate in the dart_no_snapshot run gets an OOM.

R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/1731023003 .
2016-02-25 10:25:58 -08:00
William Hesse 1f76ab9410 Limit number of browsers opened by test script to 15.
BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org/1726653002 .
2016-02-24 13:59:29 +01:00
William Hesse eafdd42501 Revert the debugging changes that added vm abort flag and core dumps.
Revert "Add '--abort-on-assertion-errors' to test runner's dart2js commands."
This reverts commit a8e54625da.

Revert "Add abort-on-assertion flag to dart2js unit test runner."
This reverts commit b42443bd26.

Revert "Enable coredumps for dart2js unit tests on buildbot."
This reverts commit 5c8b76734c.

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

Review URL: https://codereview.chromium.org/1699043003 .
2016-02-16 15:36:24 +01:00
William Hesse 2408221e58 Fix broken reference to Platform in test scripts.
BUG=

Review URL: https://codereview.chromium.org/1700803003 .
2016-02-15 17:53:10 +01:00
William Hesse 2573093c50 Switch to downloaded SDK executable, drop executables in testing/bin.
BUG=https://github.com/dart-lang/sdk/issues/24311
R=ricow@google.com

Review URL: https://codereview.chromium.org/1697203002 .
2016-02-15 17:10:59 +01:00
John McCutchan 7b7f2b05c6 Add dart_product binary
- Add dart_product binary that doesn't include the service isolate, Observatory, or the snapshot. It can only be used for running full snapshots.
- Use this binary when running tests.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1690303002 .
2016-02-12 11:04:56 -08:00
Siva Annamalai 5a04f81e77 Fix the test script for dart_product runtime
- Treat compilation errors as regular return code instead of as a crash
 - Account for VMOptions specified in the test cases.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1694623002 .
2016-02-12 10:28:04 -08:00
John McCutchan 516e814cd8 Add dart2snapshot compiler and dart_snapshotted runtime to test scripts
Command to run tests:

$ ./tools/test.py -c dart2snapshot -r dart_snapshotted

Each tests will be run twice. After the first run a snapshot will be written to disk and then the test will be run again from the snapshot.

R=asiva@google.com

Review URL: https://codereview.chromium.org/1687493002 .
2016-02-09 12:19:22 -08:00
William Hesse a8e54625da Add '--abort-on-assertion-errors' to test runner's dart2js commands.
BUG=https://github.com/dart-lang/sdk/issues/25645
R=kustermann@google.com

Review URL: https://codereview.chromium.org/1671013002 .
2016-02-08 17:26:57 +01:00
Ivan Posva 9c0c6cb5c2 Add product mode:
- Add PRODUCT define and build mode to gyp configurations.
- Add product mode to test harness.
- Start to unify list of flags.
- Allow flags to be constant for particular build configurations.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/1663863002 .
2016-02-03 21:10:30 -08:00
Florian Schneider 0f48690061 VM: Replace dart --noopt with new binary target dart_noopt.
This allows us to exclude precompiler related code from the standalone
JIT VM, and only have the precompiler included in dart_noopt and dart_no_snapshot
(which is used to generate precompiled snapshots)

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1661703002 .
2016-02-02 17:51:15 -08:00
Zachary Anderson 80f358dede Adds targets for simarmv6 and armv6
related #25562

R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1624593002 .
2016-01-22 13:07:48 -08:00
Florian Schneider f47839ba09 Rename DART_PRECOMPILED -> DART_PRECOMPILED_RUNTIME
To avoid future confusion with precompiler compiler-related macros/build targets

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/1581393008 .
2016-01-19 13:59:49 -08:00
Natalie Weizenbaum b33dcfdaad Remove the Dromaeo and TodoMVC samples.
No one was maintaining or using these, and they were stale to the point
that they were breaking pkgbuild tests because their dependencies
weren't compatible with the latest SDK.

This also removes tools/testing/perf_testing, which only tested these
two samples.

R=kevmoo@google.com

Review URL: https://codereview.chromium.org/1576153002 .
2016-01-11 13:09:26 -08:00
Natalie Weizenbaum 6f3168ad47 Fix some broken pkgbuild tests.
This brings in the latest version of http and shelf, and stops the
pkgbuild dependency override mechanism from making packages depend on
the pub package.

R=whesse@google.com

Review URL: https://codereview.chromium.org/1560513002 .
2016-01-05 13:24:12 -08:00
William Hesse 634e5a1d02 Refs #25328 Use a portable shebang
BSD systems don't place bash in /bin and a lot of the dart tools
hardcode a #!/bin/bash shebang that fails the 'all' target build
(not able to execute dart2js since the interpreter is not found).

Solve the issue by using #!/usr/bin/env as the shebang. For scripts
that need to pass arguments to bash modify the script to use the set
command as the first executed line of shell.

BUG=
R=whesse@google.com

Review URL: https://codereview.chromium.org/1552313002 .
2016-01-05 16:26:28 +01:00
William Hesse 79b6d81dd2 Move third_party/firefox_jsshell dependency to cloud storage
BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org/1544463002 .
2015-12-21 14:38:14 +01:00
Ryan Macnak 6b964b83ac Add ./tools/test.py -c precompiler -r dart_precompiled.
- Make --gen/run-precompiled-snapshot take a directory to use for the snapshot pieces.
 - Throw on Platform.executeable to prevent tests from becoming fork-bombs.
 - Update status files so 'dart_precompiled' is generally expected to behave the same as 'vm'.

Currently multitests will fail unless run with --jobs=1 because the test harness assigns them the same temporary directory.

Running this also requires a great deal of space. My out directory is 380G.

BUG=http://dartbug.com/24975
R=fschneider@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org/1507943002 .
2015-12-18 12:08:10 -08:00
William Hesse 6485590527 Remove old java-based analyzer from test scripts and status files
BUG=
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/1537653002 .
2015-12-17 14:44:57 +01:00
Sigmund Cherem e6f6ce9743 fix safari test
Apparently my approach to use wss didn't work to exercise the error codepath. This change makes us excersize errors. After testing this in Safari though, I coudln't reproduce the issue, so I remove the note about this being a regression test for the original issue.

Review URL: https://codereview.chromium.org/1513363003 .
2015-12-10 16:02:27 -08:00