This involves a few pieces:
- Add support to DDC for specifying the module name associated with a
given summary. This lets test.dart invoke DDC using summaries in the
build directory outside of the directory containing the test itself.
- Add support to the build scripts for building the packages. This adds
a new GN target that builds everything needed to run test.dart with
dartdevc. In particular, it invokes build_pkgs.dart to compile the
relevant packages to JS+summary so that the tests can use them.
This requires some changes to build_pkgs.dart so it can output to a
given directory.
- In test.dart, when tests are compiled with dartdevc, pass in the
summaries for the packages so they don't get compiled in. Then, when
the test is run, configure require.js with the right paths to their
JS files so they can be loaded.
I also removed a bunch of unneeded buildDir parameters being passed
around the various CompilerConfiguration class methods now that they
have direct access to the configuration.
Fix#29923.
R=vsm@google.com, whesse@google.com, zra@google.com
Review-Url: https://codereview.chromium.org/2955513002 .
Seeing a break on runhooks after the switch to GN (I think). We don't
actually need to runhooks if we're not doing a full SDK build - except
for pulling unittest. For the full build config, falling back to GYP
for now.
TBR=rnystrom@google.com,whesse@google.com
Review-Url: https://codereview.chromium.org/2618143003 .
The bots need to run these before running the tests, so I'm porting them
to Dart so they'll run on Windows.
As a nice bonus, they're much faster now, I'm assuming because we use
one warmed up VM for all of the packages.
build_test_pkgs.sh on my machine went from ~12 seconds to ~4.
R=jmesserly@google.com, vsm@google.com
Review URL: https://codereview.chromium.org/2498673003 .
Here's a setup to test build of various SDK packages with DDC and strong mode per commit on travis.
It's not an ideal setup:
- If deps / files change, this will need updating.
- It only breaks on error, not warning.
- It doesn't actually run any package tests.
I haven't gone through all packages either. Might be worth automating something like this.
See try-run here:
https://travis-ci.org/dart-lang/sdk/builds/172066040R=jmesserly@google.com
Review URL: https://codereview.chromium.org/2465923003 .
Also travis support for testing FF. See:
https://travis-ci.org/dart-lang/sdk/builds/159331789
On FF 48, 1965 out of 1979 tests are passing. Run locally:
DDC_BROWSERS=Firefox npm test
On Safari 10 (tech preview), it fails immediately due to a static method named "caller". We disallow it as a field, but not a method right now. If I hack that out, 1972 out of 1979 tests appear to pass.
Run locally by installing tech preview and running:
DDC_BROWSERS=Safari SAFARI_BIN=/Applications/Safari\ Technology\ Preview.app/Contents/MacOS/Safari\ Technology\ Preview npm test
R=jmesserly@google.com, rnystrom@google.com
Review URL: https://codereview.chromium.org/2334763002 .