Commit Graph

21 Commits

Author SHA1 Message Date
teresy 59949a9201 Use whereType in status_file_linter.dart
Looks like since #32463 is resolved `whereType` can be supported here (I noted the `// TODO(whereType): When whereType is supported, use that.`)

Closes #35040
https://github.com/dart-lang/sdk/pull/35040

GitOrigin-RevId: 4c2ace7eed1c405dece7e8dd76151efbc2ab8088
Change-Id: Iec268d8c639e45dc0c42baf3a9aeb89652a5a30e
Reviewed-on: https://dart-review.googlesource.com/c/82707
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2018-11-15 07:58:39 +00:00
G?nter Z?chbauer 2da0b9f4f1 fix some typos
Closes #34738
https://github.com/dart-lang/sdk/pull/34738

GitOrigin-RevId: d211bbacfe65355cf7304c990ffb6c79d7a229cf
Change-Id: If690e6d378e543b300e1f6a353ceae73e39c29db
Reviewed-on: https://dart-review.googlesource.com/c/78900
Reviewed-by: Alexander Thomas <athom@google.com>
2018-10-10 19:15:30 +00:00
Alexander Thomas ba10df6611 [infra] Switch pkg bots to Dart 2
* Update named configs for unit tests to Dart 2.
* Bump json_rpc_2 in front_end package.
* Use named configurations in unit tests.
* Fix typing issues.

Change-Id: Id3b393a0d2abe92c8eaec10fa8057fb35d18a4c6
Reviewed-on: https://dart-review.googlesource.com/67341
Reviewed-by: Jens Johansen <jensj@google.com>
2018-08-13 07:04:06 +00:00
William Hesse d08317b79f Make status file linter valid Dart 2 code
Change-Id: I14e1ca4a32022cbd9b112a02d15ad35e92824854
Reviewed-on: https://dart-review.googlesource.com/61882
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2018-06-22 13:24:09 +00:00
Alexander Thomas 2c780c4b1d [gardening] Make gardening tools accept more swarming URLs & Dart 2 fixes
Change-Id: I9101020f3a32da130e26c53391477dc5501ef6ff
Reviewed-on: https://dart-review.googlesource.com/59080
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-06-07 14:57:26 +00:00
Alexander Thomas 3851591642 [infra] Keep comments intact when updating status files.
* Preserve empty lines in the file header.
* Add empty entry to the tool's newly created sections.
* Remove extra empty line at the end of the file.

Change-Id: I271583774d5f5497025a9d85bcadf8b0b9e39e81
Reviewed-on: https://dart-review.googlesource.com/37600
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-04-10 19:03:21 +00:00
Martin Kustermann 52c884dc6a Add ExtraSlow status file marker
This is used (at least temporarily) for unblocking other P0 changes.

Change-Id: I002af7cfe6384f8813646d5c488a2cf2e58673a5
Reviewed-on: https://dart-review.googlesource.com/46541
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-03-14 15:49:09 +00:00
Morten Krogh-Jespersen d7ad4b99cd Compute disjunctive normal form of a status header expression.
This will be helpful when computing overlapping sections and
other manipulations of status files.

Bug:
Change-Id: I8896e9684cc65bdd971451ab9b6cb39732984f68
Reviewed-on: https://dart-review.googlesource.com/23260
Commit-Queue: Morten Krogh-jespersen <mkroghj@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-12-08 12:42:16 +00:00
Morten Krogh-Jespersen 404bb2b15e Re-enabling linter and normalizer tests.
All status files from the tests/ and runtime/tests directories has been copied
to a local directory, to make sure, that the unit test does not break when junk
is added to status files.

The linter has been updated with a check for duplicate entries in status files,
which is why the normalizer unit tests failed in the first place.

Bug:
Change-Id: Ifebd2bfd9011373bfe9a613de5c365ff99535ca4
Reviewed-on: https://dart-review.googlesource.com/25380
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Morten Krogh-jespersen <mkroghj@google.com>
2017-12-04 09:03:44 +00:00
Morten Krogh-Jespersen 39c399ca98 Add normalizer to normalize status files.
The test in this CL will test if the transformation of a status file produce an
equivalent status file. It does this by checking the number of entries and
making sure to find ONE entry in the produced status file.

As an invariant it needs that no duplicate entries exists in sections.

Bug:
Change-Id: I6aec3b20ef1bca89d6a7cf72d85487a95c3d1f0a
Reviewed-on: https://dart-review.googlesource.com/21341
Reviewed-by: Alexander Thomas <athom@google.com>
2017-12-01 09:10:51 +00:00
Morten Krogh-Jespersen ad8152a276 Add check for duplicate section headers to linter.
Bug:
Change-Id: Iec49d6dd34ca592189a577f21d78bfd3946963e0
Reviewed-on: https://dart-review.googlesource.com/19920
Reviewed-by: William Hesse <whesse@google.com>
2017-11-10 15:23:19 +00:00
Morten Krogh-Jespersen 14ae756623 Linting for status files.
This both works as a tester for correct canonicalization of status files and can
be used later to check if changes to status files follow the guide lines.

It checks that:
- Comments only exists before a section or after a test path entry.
- That there are no disjunctions in headers.
- That variables and clauses are correctly ordered in section headers.
- That paths are alphabetically ordered in sections.
- That sections are lexicographically ordered with respect to negation.

Bug:
Change-Id: I0f5e2cc16f20bb48ee53a9a55a22aaab710e32ff
Reviewed-on: https://dart-review.googlesource.com/17786
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Morten Krogh-jespersen <mkroghj@google.com>
2017-11-09 01:48:03 +00:00
Bob Nystrom bc672abb66 Add normalize() and compareTo() to status file Expression.
They aren't used by anything yet (except the unit test), but this
should help write tools to normalize and lint status files.

Change-Id: Iabd1342b7eda6137a059514834b6c72b089042d6
Reviewed-on: https://dart-review.googlesource.com/18428
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2017-11-08 01:10:09 +00:00
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
Morten Krogh-Jespersen c313d08f44 Revert "Revert "Canonical status file parser and writer.""
Test is changed to work on windows.

This reverts commit b6c33355e4.

Original approved CL:
https://dart-review.googlesource.com/c/sdk/+/17784

Bug:
Change-Id: I855b2fa7c10148be7a54978a3738a54eef418f8b
Reviewed-on: https://dart-review.googlesource.com/18482
Reviewed-by: Jonas Termansen <sortie@google.com>
2017-11-03 09:54:26 +00:00
Morten Krogh-Jespersen b6c33355e4 Revert "Canonical status file parser and writer."
This reverts commit e8df69a6db.

TBR=sortie@google.com

Bug:
Change-Id: If21b0fc0bf3a9615427973ea2cc09534ce6a3519
Reviewed-on: https://dart-review.googlesource.com/18481
Reviewed-by: Morten Krogh-jespersen <mkroghj@google.com>
2017-11-03 08:47:35 +00:00
Morten Krogh-Jespersen e8df69a6db Canonical status file parser and writer.
It will normalize white space and comments. It will further identify comments as
belonging to sections or being commen entries.

Bug:
Change-Id: I140780aa0ad9c675197907198b3ec6ab4d5dc742
Reviewed-on: https://dart-review.googlesource.com/17784
Reviewed-by: William Hesse <whesse@google.com>
2017-11-03 07:46:53 +00:00
Bob Nystrom b9795ffabb A minimal status file formatter and canonicalizer.
For the migration script, I need a (less hacky) way of programmatically
modifying a status file. As a step along that path, I need the ability
to write a status file to disc given a StatusFile object.

With that, it was a small step to write a little "formatter" that turns
a status file into its canonical representation.

It removes unneeded parentheses in expressions, normalizes expectation
case, and normalizes whitespace. Seems useful.

R=whesse@google.com

Review-Url: https://codereview.chromium.org/2988383002 .
2017-08-03 13:37:30 -07:00
Bob Nystrom 385b88f289 Migrate status file entries when migrating files. Yay!
This looks at all the files in the batch being migrated. It goes through
the status files in the 1.0 and strong directories. If it sees an entry
that matches that file, it adds it to the resulting "_2" status file.

It handles adding entries to an existing section if already present in
the new status file. Otherwise, it adds a new section at the end with
the entries.

R=bkonyi@google.com

Review-Url: https://codereview.chromium.org/2989033002 .
2017-07-28 11:10:30 -07:00
Ben Konyi caf87da9ed Added functionality to dump relevant status file entries to a single file to make it easier to see which tests have which status file entries. Future work: remove entries from original status files.
BUG=
R=jcollins@google.com, rnystrom@google.com

Review-Url: https://codereview.chromium.org/2987633002 .
2017-07-25 17:48:09 -07:00
Bob Nystrom 796eb21071 Move the status file parser into its own package.
This required munging a bit of test.dart code too to tease out some
dependencies, but the changes are minor. I considered moving all of
test.dart out into a package and making the status file library a
public one that other packages in the repo could import but this seemed
like the less intrusive change.

R=bkonyi@google.com

Review-Url: https://codereview.chromium.org/2984203002 .
2017-07-25 15:29:59 -07:00