Commit Graph

511 Commits

Author SHA1 Message Date
Alexander Thomas aed137824e [infra] Add dart2js NNBD builder to the test matrix
Initially, this will just do the build. The dart2js team will add
testing in a separate CL.

Change-Id: If06fb6e639194a4c80d1f2a6f437c76d5bfc029f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131827
Commit-Queue: Alexander Thomas <athom@google.com>
Commit-Queue: William Hesse <whesse@google.com>
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2020-01-16 10:09:10 +00:00
Nicholas Shahan dbc23399d4 [tests] Copy test for dart:* nnbd static errors to analyzer bot
The DDC bot is no longer triggered on changes to the analyzer package.
The analyzer team would naturally like to know if they are breaking this test so
it makes more sense to move it to their bot.

In a discussion with our team we opted to leave the test on our bot as well since
runs so quickly and makes it easier to notice errors earlier for some of our
workflows.

Change-Id: I0157fdc5a957239f432a448b546531487895da7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131717
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2020-01-16 06:45:34 +00:00
William Hesse 1a00ccfa96 [infra] Use analyzer-unittest-asserts and cfe-unittest-asserts configurations
There were multiple builders using the same unittest-asserts-linux
configuration, which caused confusion on the results feed. Analyzer unit
tests will now use the analyzer-unittest-asserts configuration and
front-end builders will use the cfe-unittest-asserts configuration.

Other front-end builder configurations starting with fasta- are renamed
to start with cfe-.

Before landing this change, the results.json files on the builders will have
duplicate results, showing the current test results under the new configuration
names, added to them.  This will avoid "new test" and "new failing test"
messages for the new configurations.  These must be added to the results.json
on GCS that is picked up by the first new run, but can safely be added to
earlier ones on GCS as well.

Change-Id: I947814e8c82eef84f79334e6871f1cd3b1d8af0f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131821
Reviewed-by: Alexander Thomas <athom@google.com>
2020-01-15 15:40:45 +00:00
Vijay Menon 4ca345e80f [dartdevc] regression test for dart:* nnbd static errors on bots
Change-Id: I6e9f2fe7075efef496f203ffe42cf10cdc1e660a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130881
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-01-10 00:33:57 +00:00
Alexander Thomas d6d921ba12 [infra] Fix cfe NNBD builder
* Correct mistake in the named configuration.
* Add missing test directories to the fileset.
* Add configurations for all operating systems (for local testing).
* Avoid duplicate experiments specified by both configuration and test.
* Pass experiment flags also to VM running the batch runner.

Change-Id: I47f2c1b07e91e2f8120a2712ce362689b68e9ce4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130900
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2020-01-09 20:16:27 +00:00
Alexander Thomas 75e2eccb2b [infra] Add cfe NNBD builder to the test matrix
See also https://dart-review.googlesource.com/c/sdk/+/130860/

Change-Id: Ic46a8bb13c2a2f73f1fc03c1520693df8ece39bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130861
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2020-01-09 13:07:39 +00:00
Sigmund Cherem d735f1f12d (dart2js): enable new-rti by default
This change:
* adds the `--use-old-rti` flag to revert to the old behavior
* enables the new behavior by default
* changes the -rti- builders to run the old rti instead of the new rti
* documents the change in CHANGELOG.md

I've kept around the logic as `useNewRti` to avoid swapping all the conditions
in the compiler.

Change-Id: I773ac33b658cb60f72e0b6beef83375abec31bad
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127492
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Mayank Patke <fishythefish@google.com>
2020-01-04 00:44:25 +00:00
Nicholas Shahan 87c3b24e7b Add more test suites to DDC NNBD strong/weak configs
Change-Id: I6d95286de986d28dcf54858724fb8394bff5583c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129002
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-12-19 23:45:43 +00:00
Sigmund Cherem 221e1d953a Add ddc nnbd legacy tests
Change-Id: Iab7f427fdc9090285995d67fcad8e8f11aff6559
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128961
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2019-12-18 23:38:01 +00:00
Alexander Thomas 1e9ee57d14 [infra] Add initial VM NNBD builders to the test matrix.json
Change-Id: Idc5d0f38d69b91cb024d5346f5b1a70460459488
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128724
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-12-18 09:34:25 +00:00
Nicholas Shahan 2aa6e73ae7 [dartdevc] Cleanup all temporary nnbd modular tests
All of these tests are now running under the regular test infrastructure.
The only reason they were created as modular tests was because we wanted more
control over the SDK sources used.

Change-Id: I2ad5aa616ff8bccd10cfac2d49bfaa39ab50c192
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128801
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-12-18 00:43:44 +00:00
Alexander Thomas a1b895a900 [infra] Disable builds of macOS 32bit SDKs
These are currently broken because our xcode version no longer supports
i386 builds.

See https://github.com/dart-lang/sdk/issues/39810 for the corresponding
breaking change request.

Change-Id: Iaf9c20d090e7d9914a4c395e4aa17c13a1d336fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128583
Reviewed-by: William Hesse <whesse@google.com>
2019-12-17 13:32:48 +00:00
Alexander Thomas 51859cb205 [infra] Move simarm_x64 from macOS to Linux
Newer versions of xcode no longer support the i386 architecture which
caused this builder to fail on macOS.

Change-Id: I02c457b7fe198c0438a5058288dc9116ff598ff8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128580
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-12-17 11:20:30 +00:00
Alexander Thomas 9e0a5026d5 [infra] Remove AST builders from the test matrix
These builders were already removed from the Luci config:
https://dart-review.googlesource.com/c/sdk/+/127645

Change-Id: I59a96d7ea0a042d41e265648753bc594833550fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128064
Auto-Submit: Alexander Thomas <athom@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-12-16 09:23:59 +00:00
Ryan Macnak 3678a3bd42 [build] Use separate out directories for each sanitizer.
Bug: https://github.com/dart-lang/sdk/issues/39611
Change-Id: Ie0aeaff758234220c2f0267b462d14f4c076bdf6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127821
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-12-11 18:12:47 +00:00
Alexander Thomas 057e4dc697 [co19] Run co19 nnbd tests on analyzer-nnbd
Change-Id: Id61e001f3a288f82a1123ac3817352d1af46a845
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126560
Reviewed-by: Paul Berry <paulberry@google.com>
2019-12-11 10:20:17 +00:00
Nicholas Shahan 2015c55277 [dartdevc] Remove ability to run analyzer based DDC
This is the first step in deleting legacy DDC!
* Default all invocations of DDC to run the kernel version.
* Disable all tests that run analyzer DDC.
* Detect the most likely case when invoked with an analyzer
  summary and print instruction to update build_web_compilers
  dependency.

I will follow up with deletions, and a rename of the test configurations/
builders to reclaim the names (ddc vs ddk, dartdevc vs dartdevk).

Issue #38777

Change-Id: I1477f0274b6b7f345a5e19d2b3f93797c454a09e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127067
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Mark Zhou <markzipan@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-12-09 22:11:22 +00:00
Erik Ernst 521b168441 [co19] Add tests/co19_2/co19_2-co19.status to test_matrix.json
Change-Id: Ib6f63726dea188114131aae0b406c77c59c8f767
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125966
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-11-21 14:50:55 +00:00
Paul Berry b431b2fb0d Point analyzer NNBD bot to language rather than language_2
Change-Id: I0672163cb355b06dbd970d744955816b6d43ee0f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125766
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2019-11-20 21:50:15 +00:00
Martin Kustermann 635aaa8adf [vm/dart2native] Bundle product-mode vm_platform.dill with the dart-sdk and let dart2native use it
Currently we bundle only one platform file, which dart2native uses as
well as other tools. Since the platform file has annotations already
evaluated, our AOT compiler ends up including service related
functionality in the AOT snapshot.

This CL bundles the product-mode vm_platform.dill as well, which will
reduce dart2native-created apps slightly.

Change-Id: I223811b30704cde1739739d97a8ea2d34a681292
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125665
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Clement Skau <cskau@google.com>
2019-11-20 16:50:09 +00:00
Paul Berry 5eb0d5979a Add new bot configuration for analyzer NNBD
Change-Id: Iadc5d79cf5fb1bbf0d5c8f459770995751616cc0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125540
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2019-11-19 00:33:23 +00:00
Sigmund Cherem d2c63991ae Improve NNBD testing support
The goal of this change is to make it possible to start iterating on nnbd tests
for DDC. This keeps the current philosophy of keeping NNBD and non-NNBD build
configurations separate, except that NNBD builds are allowed to consume library
sources from the non-nnbd sdk.

This change addresses the first set of errors that are encountered when trying
to build a fully NNBD configuration:
  * CFE has issues with type promotion, for that reason we remove
    `--enable-experiment=non-nullable` in vm build rules, and we use a smaller
    training data when creating the dartdevc app-jit snapshot.
  * We'd hit compile-time errors with nnbd libraries with inconsistent
  patchfiles. To avoid that, the libarries.json points to the non-nnbd SDK
  sources for most dart:* libraries.

Change-Id: Ie6226b3bd8a92b4a1632dd84a5db2f04238fd4f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125080
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2019-11-14 18:28:20 +00:00
Paul Berry 499815842c Create a package to hold code shared between front_end and analyzer.
Previously such shared code was in the front_end package, but that
created problems because there is a lot of code in front_end that
isn't intended to be shared with the analyzer (including, notably, the
dependency on kernel).

This CL just moves over the flow_analysis logic to the new shared
package.  Follow-up CLs will move over other shared logic and tests.
The end goal is that the analyzer package will no longer have a
dependency on front_end.

Change-Id: I5642d6565204422d79808ca47648462db85e442a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123624
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-31 13:05:53 +00:00
Nicholas Shahan f99a28407f [dartdevc] Temporarily run NNBD tests with a "hybrid" SDK
- Adds a temporary modular test suite to prevent regressions on NNBD tests.
- New modular tests build the standard SDK with the dart:_runtime library from
  the NNBD fork.
- Unblocks DDC development while the forked SDK is in a state that does not
  build.

Change-Id: If422f5d19237f9d11e26aad503f1be960b331c57
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123541
Reviewed-by: Mark Zhou <markzipan@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-10-30 20:10:13 +00:00
Samir Jindel c885bdde1d [vm] DBC is obsolete. Remove dead code.
Change-Id: Ica33af158cca53c8e951e4b2582de83660e8a60d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121851
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-27 18:18:29 +00:00
Alexander Markov 5e44c0b016 [test tool] Enable dart:mirrors support on vm-dartkb-*-simarm64 bots
In order to support Dart annotations (available through dart:mirrors),
bytecode options should include 'annotations' flag.

Several lib_2/mirrors tests start to pass on vm-dartkb-*-simarm64
bots after this change.

There are two new failures on vm-dartkb-*-simarm64 bots which matches
the behavior of other bots (due to https://github.com/dart-lang/sdk/issues/39077).

Change-Id: Ie2dcdc66f7ee95b33537294663eaa96014bf881f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122703
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-10-25 18:02:57 +00:00
Alexander Thomas e62c7ae3bb [infra] Add legacy AST mode builder to the test-matrix.json
This also removes the now redundant bytecode testing from the dartkb
builders.

Replace the useKernelBytecode boolean option with a more flexible
genKernelOptions string list option.

See also See also https://dart-review.googlesource.com/c/sdk/+/122321/ for the
corresponding Luci config updates.

Change-Id: Iabb207bc02637b758c42c00ae9175bd52f46559f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122320
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-25 15:11:00 +00:00
Nicholas Shahan eaac08be3a [dartdevc] Setup NNBD weak mode test configuration
- Copy the strong mode subtype test and change the requirement to weak mode.
  Later commits will update the test to add extra weak mode expectations.
- Update the normalization tests to run in both modes.

Change-Id: I5ccff181f12756aab003c2e6db43b52ead257b19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122589
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-10-23 20:58:47 +00:00
Nicholas Shahan 199a42f3c1 [dartdevc] Cache the results of subtype checks
- Save the canonical instance of a nullable or legacy types on the canonical
  instance of the non-nullable type.
- Add additional normalization when creating nullable and legacy types.

Issue: #38109
Change-Id: I1132917965db3b00f87b891a0800da46e2cc6b3d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122061
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2019-10-21 19:59:18 +00:00
Karl Klose 74d0282179 [infra] Run test suites in pkg/front_end/test with custom test runner
Some tests in pkg/frontend/test are actually test suites written using the
pkg/testing framework.

This change runs these suites using a custom test runner instead of simply
running the test file, which makes the individual test results, timings and
logs available to the test system.

Change-Id: Iae5f37d9bd1b3e9b26c66443fe10e5cca6a6b6bf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118540
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-10-21 09:03:19 +00:00
Karl Klose 6b19f37b5a [infra] Change option name in modular test runner to be consistent with test.py
Change-Id: I16baa346daceb8f8c9c807f17ea587f68b227909
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121301
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Karl Klose <karlklose@google.com>
2019-10-21 08:13:44 +00:00
Karl Klose 15ec4a3803 [infra] Make front_end tests unapprovable using a blacklist
Before, the front_end tests were run in a step disguised as not using test.py so that the test results would not be analzyed and could not be approved.

This CL uses a blacklist instead to prevent approve_results.dart from appoving failures in these tests.

Change-Id: I9c4d1f236e3cde3143e3092100a5553caf4b1487
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116781
Commit-Queue: Karl Klose <karlklose@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-10-21 07:22:04 +00:00
Nicholas Shahan ba728b1368 [dartdevc] Copy nnbd subtype test to run on nnbd strong configurations
Remove shards from builder configuration for now because there is currently only
one test.

Change-Id: I5dcce5601ed46e36b28f9cab9bede1d81c1a42ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121865
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Nicholas Shahan <nshahan@google.com>
2019-10-17 17:10:22 +00:00
Ben Konyi 0b045aea2b [ VM ] Removed tests/standalone along with any references in build bot / test runner configurations
Deleted irrelevant tests and migrated valid tests to Dart 2

Change-Id: If37611e051b7e2f128c53267f606d480d7fe23a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121902
Commit-Queue: Ben Konyi <bkonyi@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-10-17 00:41:16 +00:00
Nicholas Shahan 2e23776552 [dartdevc] Add new bot configuration for nnbd strong
At this time I have a single test in another cl designed to run with the nnbd
fork of the SDK in strong checking mode so I'm creating this single
configuration for that purpose. As I understand, all other tests that do not
require nnbd-strong will be skipped on this configuration.

I can expand this into more configurations when we have more tests coming online.

I don't think it is important to run these on all OS/browsers at the moment.

Issue: #38665
Change-Id: I284691022c1505d8a6e388fbc1b75f0074cc7164
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121652
Commit-Queue: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-10-15 22:50:53 +00:00
Clement Skau 0cada76a06 [SDK] Removes dart2aot.
Bug: https://github.com/dart-lang/sdk/issues/38834
Change-Id: Iff1247186271643ea557a0aaec1e6b8438676c59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121706
Auto-Submit: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-15 17:53:38 +00:00
Martin Kustermann 109e7b0786 [vm] Ensure the new arm_x64 architecture will get $builder_tag == crossword set
This will cause status file entries such as

    [ $arch == arm || $arch == arm64 || $builder_tag == crossword || $compiler != dartkp ]
    dart/v8_snapshot_profile_writer_test: SkipByDesign

to correctly skip tests which shouldn't run in crossword configurations.

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

Change-Id: I30082549e98107a7b3aac79837aeba5b5853df46
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121062
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2019-10-10 11:00:58 +00:00
Ryan Macnak 71ecb73a2b [vm] Fix one MSAN failure; add UBSAN configuration.
Change-Id: I5b1d43836f3eb09983195fc3792f369aa3f8079f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120750
Reviewed-by: Chinmay Garde <chinmaygarde@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-10-09 23:38:30 +00:00
Ryan Macnak d5feab0c53 [vm] Create builds for LeakSanitizer, MemorySanitizer and ThreadSanitizer.
Change-Id: I65905ec76fcde8b7f4063cb5b80a3d034b453153
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120323
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Chinmay Garde <chinmaygarde@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-10-07 16:24:22 +00:00
Samir Jindel db352304ec [vm] Test AOT on Android with the 64->32 bit cross-compiler.
We introduce a new architecture ARM_X64, which is the same as ARM except that
the host-targeting-host binaries are compiled for X64 instead of X86.

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

Change-Id: I00a2b1cc71948adec9f66c7b2ee61e9e5ac53d2a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120121
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-10-07 10:35:45 +00:00
Clement Skau 0f7a3cd611 [SDK] Adds dart2native to the test_matrix vm-kernel fileset.
Change-Id: Ic60bc7f908937226a56d7c4fa13c6733abecc1c4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119641
Auto-Submit: Clement Skau <cskau@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Clement Skau <cskau@google.com>
2019-10-02 15:54:50 +00:00
Samir Jindel 85948bd799 [vm/elf] Run strip --strip-unneeded on ELF snapshots during testing.
Android's strip can make incorrect assumptions about the ELF it's processing,
which has caused bugs leaking into Flutter:

- https://github.com/dart-lang/sdk/issues/37146
- https://github.com/flutter/flutter/issues/41010

These kinds of bugs may be difficult to reproduce and have subtle effects.
We should run strip ourselves on the CQ to catch them earlier.

Change-Id: I1ba39aa7996749f90d3f7373f668c797d2e300d7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118388
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2019-09-27 13:24:46 +00:00
Ryan Macnak 7901c508c8 [build] Enable ASAN leak detection during the build, not just tests.
Fix two leaks in gen_snapshot.cc.

Change-Id: Ie05771bf0386371842d327c9927319f207603cc1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119065
Reviewed-by: Liam Appelbe <liama@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-09-26 23:19:42 +00:00
Samir Jindel 9a683de40d [vm] Support testing assembly snapshots for ARM.
We have had several bugs propagate to Flutter end-users due to our lack of testing of
AOT Assembly snapshots on ARM (SIMARM_X64 in particular), causing reverts of SDK commits
and disrupting the Dart -> Flutter roll.

This leverages our custom ELF loader to load the generated ELF objects, which cannot be
loaded by dlopen() because they are marked with the ARM ABI.

For example, see:
  - https://github.com/flutter/flutter/issues/40114
  - https://github.com/flutter/flutter/issues/41228

Also do some tree-shaking of the snapshot writers for dart_precompiled_runtime.

Fixes https://github.com/dart-lang/sdk/issues/38433.

Change-Id: I5990769c623b8a13131b1848349af2c0a026272b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118569
Reviewed-by: Clement Skau <cskau@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Samir Jindel <sjindel@google.com>
2019-09-25 17:09:16 +00:00
Samir Jindel 362ef8e67c [vm/aot] Add a custom ELF loader in dart_precompiled_runtime.
Also switch some CQ bots using blobs to ELF. Once all embedders have migrated, we will remove blobs
support entirely.

Change-Id: Ie5e8c1187ad6c1af362b5715daafd3641bc8cc0e
Cq-Include-Trybots:luci.dart.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-bare-linux-release-simarm-try,vm-kernel-precomp-mac-debug-simarm_x64-try,vm-kernel-precomp-mac-release-simarm64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-precomp-android-release-arm-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116620
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-24 15:03:19 +00:00
Clement Skau f546362691 [SDK] Adds dart2exe to create standalone executables.
Tested:
  ./tools/build.py --arch x64 --mode release --verbose create_sdk copy_gen_kernel_snapshot copy_dart2aot
  ./tools/build.py --arch x64 --mode product --verbose copy_gen_snapshot copy_dartaotruntime
  cp -r out/ProductX64/dart-sdk/bin/{dartaotruntime,utils/} out/ReleaseX64/dart-sdk/bin/
  out/ReleaseX64/dart-sdk/bin/dart2native ~/src/hello_world.dart
  ~/tmp/hello_world.exe

  dart tools/bots/aot_smoke_tests.dart

  python tools/test.py -n dartkp-linux-release-x64 vm/dart/run_appended_aot_snapshot_test

Change-Id: I149fcd18405cdf0a87b8f4b4072c0f0e8f98c067
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117140
Commit-Queue: Clement Skau <cskau@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-09-23 12:00:08 +00:00
Vijay Menon bd28bad820 [dartdevc] add modular tests for old ddc
Change-Id: Iff068cc4e737e9a6993c6f724fc0b6853ed1d5fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113621
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2019-09-18 17:21:53 +00:00
Alexander Thomas b158490fb2 [infra] Add precomp-android-arm64 builder to the test matrix
TBR=whesse@google.com

Change-Id: Ib6579c5c3b2f8695f4998577782e33875da02358
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115200
Reviewed-by: Alexander Thomas <athom@google.com>
2019-09-01 19:01:47 +00:00
Vijay Menon 9cdafb9ef8 [dartdevc] prune unneeded bot configs
The modular tests run on d8 - no need to run on both chrome and ff bots.

Old DDC is only used internally on Linux today, so removing Mac tests.
(Could also split out Win testing.)

Change-Id: If2ab50fae89d25d95f2e45d80de4834033e43b9f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114621
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2019-08-28 17:16:32 +00:00
Ben Konyi 69c6bea18f [ fuzzer ] Fixed analysis warnings in dartfuzz, enabled analysis as part of bot checks
Also ran dartfmt -w --fix on runtime/tools/dartfuzz.

Change-Id: I2b5154590300889a7da35eb0ed3ee20a8e14c606
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114551
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Felicitas Hetzelt <felih@google.com>
2019-08-26 21:22:12 +00:00