06f75fe5cd99aa5f85d2afaacd6dddc95e1570d9
This is a pretty massive change but my hope is it will make test.dart easier to maintain going forward. Instead of passing around a stringly-typed Map<String, dynamic> all throughout the program, we parse the options and then create a Configuration object that has typed getters for all of the various bits of configuration data. This is a little tedious because it means declaring a new option requires also declaring a corresponding field in the Configuration class and passing it through the constructor. I think it's worth it. Also, enum-like configuration properties like architecture and runtime now have their own classes as well. Moved a bunch of stuff from TestUtil into those classes now that there is an object to hang those methods off of. In the process, I found a few typos in string literals where the code wasn't correctly looking up a configuration property. Added more sanity checking and validation to status file parsing. You will get an error at parse time if you try to refer to a variable that isn't in the whitelist of known variables. Also, you'll get an error if you try to compare a variable to a value that it isn't expected to have. Many other small-scale cleanups. Aside from the status file validation, this should behave mostly the same as current test.dart except that tests may be enqueued in a slightly different order. The rewritten code for expanding configurations iterates through the architecture, runtime, etc. options in a slightly different order. R=whesse@google.com Review-Url: https://codereview.chromium.org/2901923003 .
…
…
…
Dart
Dart is an open-source, scalable programming language, with robust libraries and runtimes, for building web, server, and mobile apps.
Using Dart
Visit the dartlang.org to learn more about the language, tools, getting started, and more.
Browse pub.dartlang.org for more packages and libraries contributed by the community and the Dart team.
Building Dart
If you want to build Dart yourself, here is a guide to getting the source, preparing your machine to build the SDK, and building.
There are more documents on our wiki.
Contributing to Dart
The easiest way to contribute to Dart is to file issues.
You can also contribute patches, as described in Contributing.
License & patents
Description
Languages
Dart
84.6%
C++
13%
Python
0.7%
JavaScript
0.5%
HTML
0.4%
Other
0.5%