Commit Graph

19 Commits

Author SHA1 Message Date
Erik Ernst 40b6741778 Adds support for syntax error in tests to test.py.
This CL modifies the Dart source used from test.py such that it takes
`syntax error` into account as an expected outcome in test files (so
that we can have `//# 01: syntax error` with a similar meaning as
`//# 01: compile-time error`).

For all tools except the spec_parser, `syntax error` is the same
outcome as `compile-time error`; that is, nobody else will see the
difference.

For the spec_parser, `syntax error` is the outcome where parsing has
failed; `compile-time error` is taken to mean some other compile-time
error, i.e., the spec_parser is expected to _succeed_ when the
expected outcome is `compile-time error`.

Test files in language and language_2 have been adjusted to use the
outcome `syntax error` where appropriate.

The status files in language and language_2 for the spec_parser have
been adjusted such that they fit all the new `syntax error` outcomes
in test files.

Other status files have been adjusted in a few cases where tests were
corrected (because a compile-time error which was clearly not intended
to be a syntax error turned out to be caused by a typo, which means
that the actual compile-time error has never been tested).

The spec grammar Dart.g was adjusted in a few cases, when some bugs
were discovered. In particular, the treatment of Function has been
changed: It is now known by the parser that Function does not take
any type arguments. This makes no difference for developers, because
they cannot declare a type named Function anyway, but it means that
a number of tricky parsing issues were resolved.

Dart.g was also adjusted to allow `qualified` to contain three
identifiers, which is an old bug (preventing things like metadata on
the form `@p.C.myConst`).

Change-Id: Ie420887d45c882ef97c84143365219f8aa0d2933
Reviewed-on: https://dart-review.googlesource.com/18262
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2017-11-06 08:56:09 +00:00
Erik Ernst 9336e199fd Re-land of CL 2990703002, adding fixes to analyzer_test and error_test.
This CL is identical to the reverted CL 2990703002 which implements
syntactic support for generalized void in the analyzer, plus two bug
fixes in pkg/analyzer/test/generated/parser_test.dart and
pkg/analyzer_cli/test/error_test.dart. In the former, a test on parsing
`void,` was changed to expect an error: _isTypeIdentifier on a lone
`void` will no longer return true, which is necessary because `void`
can now be used as a type annotation alone. Another test on `void x`
was added, which produces the behavior previously seen for `void,`.
In error_test, the error which is used throughout was changed from
`void foo;` to `var int foo;` (because the former is no longer an
error).

Review-Url: https://codereview.chromium.org/2992623002 .
2017-07-27 12:39:19 +02:00
Erik Ernst 2e73ce1187 Revert "Implemented support for generalized void in analyzer."
This reverts commit 1d44f5296a,
because it causes failures for the analyzer in parser_test, error_test.

Review-Url: https://codereview.chromium.org/2990723002 .
2017-07-26 18:18:04 +02:00
Erik Ernst 1d44f5296a Implemented support for generalized void in analyzer.
Changed the analyzer parser to accept usages of `void` which were
previously rejected as syntax errors: `void` can now be the type
annotation for a variable or parameter, and it can be an actual type
argument.

Removed affected error codes like VOID_PARAMETER, VOID_VARIABLE,
VOID_RETURN_FOR_GETTER and associated declarations (like checking
functions), and adjusted test cases to expect success rather than
compile time errors.

Adjusted generalized_void_syntax_test.dart (it had real errors like
`final` variables with no initializer etc. that were not detected
when tools would just reject the file as syntactically wrong).

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2990703002 .
2017-07-26 17:45:13 +02:00
Jacob Richman 14531fa62d Re-land "Format all multitests"
Only delta from the original is a bad merge of tests/corelib/list_test.dart

This reverts commit 44d8be0ed3.

BUG=

Review-Url: https://codereview.chromium.org/2774783002 .
2017-03-23 12:40:21 -07:00
Jacob Richman 44d8be0ed3 Revert "Format all multitests"
This reverts commit 312b66dd5f.

BUG=

Review-Url: https://codereview.chromium.org/2770063002 .
2017-03-23 10:49:40 -07:00
Jacob Richman 312b66dd5f Format all multitests
BUG=
R=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2768073002 .
2017-03-23 10:26:44 -07:00
Jacob Richman 88eb557b65 Fix warnings_checker.dart handling of multitests
Update all tests

Support //# multitests for better dartfmt compatibility and fewer multitest false positives

All files under tests were manually updated with

find . -iregex '.*\.dart$' -print0 | xargs -0 perl -pi -e 's/(\S\s+)\/\/\/ /$1\/\/# /'

For now both old and new styles are allowed to accommodate CO19 tests.

R=efortuna@google.com
BUG=

Review-Url: https://codereview.chromium.org/2765693002 .
Review-Url: https://codereview.chromium.org/2765893003 .
2017-03-21 17:29:56 -07:00
Jacob Richman bf2b545150 Revert "Update all tests"
This reverts commit ce76e9c30beaf9a193d3677b88c20a1ebb3fae8c.
2017-03-21 16:33:18 -07:00
Jacob Richman 3c7353d987 Update all tests
Support //# multitests for better dartfmt compatibility and fewer multitest false positives

All files under tests were manually updated with

find . -iregex '.*\.dart$' -print0 | xargs -0 perl -pi -e 's/(\S\s+)\/\/\/ /$1\/\/# /'

For now both old and new styles are allowed to accommodate CO19 tests.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2765693002 .
2017-03-21 12:39:28 -07:00
Jacob Richman 6a7d6c385e Add comments
Add spaces to make sure dartfmt doesn't destroy bespoke indentation

BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2763823002 .
2017-03-20 21:03:12 -07:00
Matthias Hausner 3f93791991 Class fields cannot be declared to be of type void
Add a test case and detect void fields.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2248943002 .
2016-08-15 17:14:58 -07:00
iposva@google.com 0c1248f731 - Tests should not rely on --compile_all.
Review URL: https://codereview.chromium.org//23578003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@26723 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-27 17:09:22 +00:00
asiva@google.com a1da7e93a4 Fix some of the negative language tests in preparation for implementing
delayed class parsing in Dart VM.
- Some of the tests under tests/language expect compile-time errors but
  these tests do not use the class which has errors. When the VM will
  implement delayed parsing of classes (classes are parsed only if they
  are used) these tests will fail as the Dart VM will not report these as
  compile-time errors. The option VMOptions=--compile_all has been added
  to these tests to ensure that all classes are compiled and the error
  is reported.
- One co19 test has a similar issue and a bug has been filed against it
  (co19 issue 415). the co19-runtime.status file has been updated to
  skip this test until issue 415 is resolved.

R=iposva@google.com

Review URL: https://codereview.chromium.org//15496005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23113 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-23 23:38:56 +00:00
ahe@google.com 05f2056932 Diagnose illegal lvalues better.
Also, make sure that internal parser errors are reported as crashes.

BUG=http://dartbug.com/6460

Review URL: https://codereview.chromium.org//11464026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15901 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-10 12:53:19 +00:00
regis@google.com 6bfd82c6da Update or delete language tests using obsolete interfaces or default factory
classes (issue 6324).
Review URL: https://codereview.chromium.org//11434089

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15653 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-03 20:51:15 +00:00
kasperl@google.com 8bd4bf096b Update almost all tests (except co19) to use the new try-catch syntax.
R=ngeoffray@google.com
BUG=

Review URL: https://chromiumcodereview.appspot.com//10891020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11492 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-29 08:11:41 +00:00
ahe@google.com b3118b0d36 Update test to work with on-demand compilation.
Review URL: https://chromiumcodereview.appspot.com//10824370

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10939 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 09:04:22 +00:00
sigmund@google.com 64d7bc5acf test rename overhaul: step 8 - language tests
Review URL: https://chromiumcodereview.appspot.com//10248007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7101 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-27 18:45:10 +00:00