dart-sdk/tests
Asger Feldthaus 6cc9b43535 dart2js cps: Maintain parent pointers instead of recomputing them.
All passes must now preserve valid parent pointers. Several passes
already did this (or tried to do it).

The IR integrity checker can now check that parent pointers are valid.
This has caught a number of missing parent pointers assignments in
passes that otherwise tried to preserve them.

All node constructors now set parent pointers. This is very convenient
for simple transformations, but also a bit of a trap since updating a
field on an existing node does not update the parent pointer.

This is a pretty heavy-handed change. The main rationale for it are:

- The helpers methods require parent pointers, so they are more useful
  when parent pointers are always set.

- The integrity checker can catch bogus parent pointers after passes
  that have to maintain them anyway.

- The integrity checker is super slow, but this can finally be fixed
  if it can assume parent pointers are valid (not part of this CL).

The IR visitors have been changed a bit to support a generic parent
visitor that does not have to implement every visit method.

The 'parent index' fields have been removed.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org//1375213003 .
2015-10-12 16:26:32 +02:00
..
_chrome Improve handling of intentionally broken links in test scripts. 2014-11-04 15:00:00 +00:00
benchmark_smoke dart2js cps: Support JS_CURRENT_ISOLATE. 2015-07-07 15:55:13 +02:00
co19 Disable bad test and don't allow registerElement of direct class in dart:html or dart:svg 2015-10-12 03:17:21 -07:00
compiler dart2js cps: Maintain parent pointers instead of recomputing them. 2015-10-12 16:26:32 +02:00
corelib dart2js cps: Status updates and minor fixes for host checked mode. 2015-10-02 15:36:21 +02:00
html Fixed to allow only HtmlElement in registerElement 2015-10-11 20:53:50 -07:00
isolate Fixes RawReceivePort.hashCode 2015-10-08 13:06:49 -07:00
language Mark newly added sqrt test as pass/fail on ia32. 2015-10-08 20:06:50 +02:00
lib dart2js cps: Status updates and minor fixes for host checked mode. 2015-10-02 15:36:21 +02:00
standalone Ensure ZILB encoder handles all typed data lists correctly 2015-10-08 18:19:02 +02:00
try Fix try 2015-10-01 12:24:38 +02:00
utils dart2js: Mark source_mirrors_test as slow 2015-09-25 18:30:21 +02:00
light_unittest.dart Upgrading tests with unittest deprecations 2014-03-31 18:33:18 +00:00
README Add language tests for Issue 18628. 2014-09-03 18:51:25 +00:00

Run Existing Tests
==================

See the output of

  ../tools/test.py --help

for how to run tests.

See also

  https://code.google.com/p/dart/wiki/Building#Testing

for detailed examples.

Create New Tests
================

See comments above

  factory StandardTestSuite.forDirectory

in

  ../tools/testing/dart/test_suite.dart

for the default test directory layout. By default test-file names must
end in "_test.dart", but some test suites, such as ./co19, subclass
StandardTestSuite and override this default.

See comments at the beginning of

  ../tools/testing/dart/multitest.dart

for how to create tests that pass by failing with a known error. For
example,

  ...
  int x = "not an int"; /// 01: static type warning
  ...

as part of a test will only pass the "--compiler dartanalyzer" test if
the assignment generates a static type warning.