Commit Graph

5874 Commits

Author SHA1 Message Date
Martin Kustermann 1207af99b8 [infra] Avoid printing options in reproduction commands which are implied by the named configuration
Currently reproduction commands often look like this:
    tools/test.py -m release -n dartk-linux-release-x64 language_2/...
This has duplicate information in it, namely "--mode=release".

This CL
  a) validates that the implied options are not passed in addition to -n
  b) the reproduction commands will no longer print the redundant information.

Change-Id: I1a70ad021d5dcfb7a514cd9bbefbb8d0f77edb0a
Reviewed-on: https://dart-review.googlesource.com/c/85944
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-12-06 11:35:30 +00:00
Samir Jindel 84420e1ae5 [vm] Roll version of pkg/linter forward in 3xH engine patch.
Change-Id: I7f517b467de203bb22ae29a50fe8758f40869f7c
Reviewed-on: https://dart-review.googlesource.com/c/86210
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-12-05 17:43:03 +00:00
Jonas Termansen afb8906699 [infra] Fix compare_results non-human output being null.
TBR=whesse@google.com

Change-Id: I8a028bac9fac4200c8fe49249f8ba43d4dd8964e
Reviewed-on: https://dart-review.googlesource.com/c/86207
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-12-05 16:19:01 +00:00
Jonas Termansen 1ca3f3d2cb [infra] Fix compare_results test name in human readable mode.
TBR=whesse@google.com

Change-Id: Iab9b756a946283abd800f9a0303440880092e729
Reviewed-on: https://dart-review.googlesource.com/c/86202
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2018-12-05 14:14:10 +00:00
Jonas Termansen e1e3b78e3a [infra] Fix update_flakiness missing current_counter null check.
Change-Id: I6ee8b1266f242ec2251dd869b3c775f9509d5fb2
Reviewed-on: https://dart-review.googlesource.com/c/86180
Reviewed-by: William Hesse <whesse@google.com>
2018-12-05 12:14:47 +00:00
Jonas Termansen 90c7cf254e [infra] Implement update_flakiness forgiveness and statistics.
This change makes update_flakiness count how many times each outcome has
happened. If the same outcome happens more than a 100 times in a row, the
test is forgiven. If that was a mistake, and it happens again, the flakiness
frequency is less than 3.65% with 95% certainty, and the probability of
deflaking not catching it is astronomical.

The number of occurences of each kind of outcome mode is tracked. This lets
us track how probable each flakiness mode is. It also lets us answer
important questions such as how many flakes only happen a single time (not
fault of test) versus multiple times (something to do with the test).

Bug: https://github.com/dart-lang/sdk/issues/35318
Change-Id: Ieccd4afb96ada8053f59fbdc005fd853f0d1f996
Reviewed-on: https://dart-review.googlesource.com/c/85952
Reviewed-by: William Hesse <whesse@google.com>
2018-12-05 11:42:23 +00:00
Jonas Termansen 4cd567b3a2 [infra] Add auditing to approve_results.
This change ads two new fields to approved_results.json:

* approver: The username of the person who approved the new results.
* approved_at: The ISO 8601 UTC time of when the approval occured.

This data provides a history for approvals as a replacement for the git
commit history for status files. Each build makes a copy of the
approved_results.json file at the time, effectively acting as a commit.

Bug: https://github.com/dart-lang/sdk/issues/35315
Change-Id: I64430a53820a0cffeb277012d5318b50999a9df5
Reviewed-on: https://dart-review.googlesource.com/c/85940
Reviewed-by: William Hesse <whesse@google.com>
2018-12-05 10:58:29 +00:00
Paul Berry 670f9ab49b Merge commit '65401da92251a7318e3264b816ce0c4e14701751' into analyzer 2018-12-04 15:38:21 -08:00
Aart Bik 65401da922 [dart/fuzzer] fix bot setup
Rationale:
Nightly showed many failures due to missing dependence.

Bug:
https://github.com/dart-lang/sdk/issues/35319


Change-Id: I775df9870a8fbac65e29a4c0b3aab2867b2a0c8a
Reviewed-on: https://dart-review.googlesource.com/c/86104
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-12-04 22:51:10 +00:00
Paul Berry 0a4873bb35 Merge commit '191a09f540ac0516c4088fb8454c693743be8b3f' into analyzer 2018-12-04 09:41:55 -08:00
Jonas Termansen 191a09f540 [infra] Add support for logs to tools/test.dart.
Bug: https://github.com/dart-lang/sdk/issues/35307
Change-Id: I770199da3bed89d41017d806d289195b22377b4f
Reviewed-on: https://dart-review.googlesource.com/c/85741
Reviewed-by: William Hesse <whesse@google.com>
2018-12-04 16:07:56 +00:00
William Hesse b35aebde1c Add --logs parameter to compare_results.dart, and output logs
The logs of tests that start failing will be output at the end of stdout.

Change-Id: I93a85c983be278e93aaf7d7447438667c54b5185
Reviewed-on: https://dart-review.googlesource.com/c/85500
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-12-04 16:07:42 +00:00
Jonas Termansen 52183f2afa [infra] Implement 3-way comparison with approved_results in compare_results.
Bug: https://github.com/dart-lang/sdk/issues/35298
Change-Id: Ie5bd1101cae8eddd65ad5aa53c8f2d97c6548b2b
Reviewed-on: https://dart-review.googlesource.com/c/85702
Reviewed-by: William Hesse <whesse@google.com>
2018-12-04 13:46:59 +00:00
Alexander Markov 170d5578c7 [vm/kernel] Move functionality of Fuchsia's compiler.dart into pkg/vm
This includes:
* Selecting front-end target.
* Support for multi-root virtual file system.
* Not linking platform into resulting kernel file.
* Specifying input as URI (instead of file path) on command line.
* Automatically converting input script URI to package URI.
* Writing ninja dependencies file.
* Writing package-split kernel binaries.

After this change Fuchsia's compiler.dart will become a small wrapper
over pkg/vm, sharing most logic and even most command line options
with pkg/vm gen_kernel tool.

Also, this CL attempts to share some pieces of code between frontend
server and gen_kernel.

In addition, seperate bytecode generation for package-split binaries
is implemented (needed for https://dart-review.googlesource.com/c/sdk/+/85469).

Corresponding Fuchsia CL: https://fuchsia-review.googlesource.com/c/topaz/+/229964

Change-Id: I12d7b2f6401357b3c9df2e31bc736af5a9dc5fd2
Reviewed-on: https://dart-review.googlesource.com/c/85721
Reviewed-by: Alexander Aprelev <aam@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-12-04 01:08:03 +00:00
Paul Berry 43cd8ba822 Merge commit '4eeebc46cff4e47e6265e86f4774da103d060aa1' into analyzer
Conflicts:
	pkg/analyzer/CHANGELOG.md
	pkg/analyzer/pubspec.yaml
2018-12-03 12:20:40 -08:00
Alexander Aprelev 4eeebc46cf [hhh] Patch flutter so it is compatible with latest analyzer
Change-Id: I70b9cdb0609e063fa9b0ce1e4a89dac24f87fad9
Reviewed-on: https://dart-review.googlesource.com/c/85730
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-12-03 17:10:46 +00:00
Martin Kustermann 2260758ffe [infra] Make --keep-generated-files work with -n option
Makes the --keep-generated-files flag an option for the test.py command
only, not part of a named configuration passed in with the -n flag
and defined in tools/bots/test_matrix.json.

Change-Id: If67c2848cf6fc15e4cb7167ce23eeb3eb9bd1684
Reviewed-on: https://dart-review.googlesource.com/c/85705
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-12-03 15:35:40 +00:00
Paul Berry 7af0ba8dbf Merge commit '4088bb1302cebbb6922e1292037bc60127f1f852' into analyzer 2018-12-03 07:19:08 -08:00
Paul Berry 9a7f42d05a Merge commit 'dc346e6fdd89663388f8ae4e6767d6ece597c278' into analyzer 2018-12-03 06:35:54 -08:00
William Hesse 7abe999437 Enable uploads from Dart SDK swarming builders
Switch the Dart SDK builders to use the dart_sdk.py script to build
and upload the SDK.

Change-Id: I8d8fc41e8d90d14507d5337bd6dcc573ee09bb6a
Reviewed-on: https://dart-review.googlesource.com/c/85701
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-12-03 11:26:30 +00:00
Jonas Termansen 2ca08ef2e1 [infra] Implement preapproval of failing tests in approve_results.
This change lets committers preapprove new failing tests based on commit
queue / dry run results for CQ builders, such that the CQ builder stays
green when the change is submitted.

The current implementation does not support changing one test from a failing
mode to another failing mode. It will work, but if the corresponding CI
builder cycles before the changelist is submitted, it will become red until
the changelist is submitted. This will be addressed in the future.

Likewise approving a builder after a preapproval will undo the preapproval
unless the changelist has been submitted and the corresponding CI builder
has cycled.

Bug: https://github.com/dart-lang/sdk/issues/35289
Change-Id: Ie43df4439a27a3472c5178cb7c6af69292cf70e4
Reviewed-on: https://dart-review.googlesource.com/c/85601
Reviewed-by: William Hesse <whesse@google.com>
2018-11-30 17:08:04 +00:00
Paul Berry 63770042aa Merge commit '80c23f87a3e3123d7e337c1fc8bc3b5ec49b34a0' into analyzer 2018-11-30 08:12:45 -08:00
Vyacheslav Egorov 040ef6aabb [gardening] Lower core rlimit to 0 if test is expected to crash.
We do not archive core dumps generated by tests that are expected
to crash - so there is no need to generate those dumps.

It seems that generating core dumps is very slow on Mac and causes
timeouts.

Fixes #35275

Remove Timeout expectations from Crashing tests

Change-Id: I36c89fd583a6a94521560544163f02414cbbf41a
Reviewed-on: https://dart-review.googlesource.com/c/85680
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-11-30 11:15:06 +00:00
Paul Berry 0a05682d5b Cherry-pick 031e77eea1 to the analyzer branch.
This should fix some trybot flakiness we've seen today.

Original commit message:

    [infra] Update Clang toolchain and GN

    We no longer rely on Fuchsia's buildtools, instead we directly fetch
    Clang and GN packages from CIPD using gclient support.

Change-Id: Ib0412072a80590afe407e9b4c2906d0f3a4a7d85
Reviewed-on: https://dart-review.googlesource.com/c/85642
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-11-29 22:14:23 +00:00
Paul Berry 706776a14d Merge commit '80c4d3e3c70ba8d0dfcc3fd038f29a388652cf3b' into analyzer 2018-11-29 09:29:09 -08:00
Zach Anderson 031e77eea1 [infra] Update Clang toolchain and GN
We no longer rely on Fuchsia's buildtools, instead we directly fetch
Clang and GN packages from CIPD using gclient support.

Change-Id: I8995d89babf9c3c6b30214a1133e7b0a1cb9a796
Reviewed-on: https://dart-review.googlesource.com/c/85416
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-11-29 15:37:40 +00:00
Martin Kustermann 5d7786948c [infra] Add --keep-files flag to tools/test.py
This allows one to actually run the commands which are printed in a
failure.

Change-Id: I62c8a387c37d3563ea3c0f803c107e2e9d8262bb
Reviewed-on: https://dart-review.googlesource.com/c/85483
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2018-11-28 16:44:15 +00:00
Paul Berry 854a7cfe15 Merge commit '43113760f2ea114c183f8965b0d48fbb7469dc7f' into analyzer
Conflicts:
	DEPS
2018-11-28 08:38:52 -08:00
Jonas Termansen 25f0c21c81 [infra] Fix approve_results reporting wrong number of changed tests
Change-Id: I70afb4319dfd83a38897582b4d3e93113953fdba
Reviewed-on: https://dart-review.googlesource.com/c/85447
Reviewed-by: Alexander Thomas <athom@google.com>
2018-11-28 11:28:37 +00:00
William Hesse f780b6ea84 Remove obsolete log types from test.py
Removes the flaky log, result.log result format, test outcome log,
and --append-logs option from test.py. They are replaced by the
new --write-results and --write-logs options.

The debug log is now always appended to, if it is written to a file.

Change-Id: I20dbbc1db86ef23a19ac4ea02067f18ae4906b3d
Reviewed-on: https://dart-review.googlesource.com/c/85440
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-11-28 11:15:04 +00:00
Zach Anderson 44a9d0a0d6 Revert "Reland: [infra] Roll buildtools to c72a1c5aadde06505b7bb4641720880f3db28ff9"
This reverts commit ad69aaef62.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Reland: [infra] Roll buildtools to c72a1c5aadde06505b7bb4641720880f3db28ff9
> 
> Tries to work around update.py race by setting up symlinks for 'git cl format'
> instead of copying.
> 
> Change-Id: I4ed9b99254803feea5ea0e8d30db23fc982e9562
> Reviewed-on: https://dart-review.googlesource.com/c/85427
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Commit-Queue: Zach Anderson <zra@google.com>

TBR=rmacnak@google.com,zra@google.com

Change-Id: Ida584adda37cd3e2dac16654eb1e81e92f123f88
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/85467
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-11-27 23:35:08 +00:00
Paul Berry 82add824fd Merge commit 'db89c2d1ac3e8b6c6130cbb714c4e242e6fefc27' into analyzer 2018-11-27 15:11:22 -08:00
Zach Anderson ad69aaef62 Reland: [infra] Roll buildtools to c72a1c5aadde06505b7bb4641720880f3db28ff9
Tries to work around update.py race by setting up symlinks for 'git cl format'
instead of copying.

Change-Id: I4ed9b99254803feea5ea0e8d30db23fc982e9562
Reviewed-on: https://dart-review.googlesource.com/c/85427
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-11-27 23:02:59 +00:00
Paul Berry 5949a3f984 Merge commit '5a54f0eb577f0f4a1708ddbd4f69bf70458ff647' into analyzer 2018-11-27 08:34:40 -08:00
Zach Anderson 8c69ec8c07 Revert "Reland: [infra] Roll buildtools to c72a1c5aadde06505b7bb4641720880f3db28ff9"
This reverts commit 03ff950922.

Reason for revert: Race in update script.

Original change's description:
> Reland: [infra] Roll buildtools to c72a1c5aadde06505b7bb4641720880f3db28ff9
> 
> Fixes Android build
> 
> Change-Id: Ifcdf492a636bd2c683be8f37bcad4a2af09fb822
> Reviewed-on: https://dart-review.googlesource.com/c/85404
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Commit-Queue: Zach Anderson <zra@google.com>

TBR=rmacnak@google.com,zra@google.com

Change-Id: I030425cba496d17383cdda37b0e67dff55f1f7fd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/85409
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-11-27 15:56:13 +00:00
Zach Anderson 03ff950922 Reland: [infra] Roll buildtools to c72a1c5aadde06505b7bb4641720880f3db28ff9
Fixes Android build

Change-Id: Ifcdf492a636bd2c683be8f37bcad4a2af09fb822
Reviewed-on: https://dart-review.googlesource.com/c/85404
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-11-27 15:48:27 +00:00
Zach Anderson 08c42ad75d Revert "[infra] Roll buildtools to c72a1c5aadde06505b7bb4641720880f3db28ff9"
This reverts commit c2f1cd49a3.

Reason for revert: Broke android build

Original change's description:
> [infra] Roll buildtools to c72a1c5aadde06505b7bb4641720880f3db28ff9
> 
> Change-Id: I277e48e077aa8025e5d6e99fc46895bb57073c1c
> Reviewed-on: https://dart-review.googlesource.com/c/84448
> Reviewed-by: Ryan Macnak <rmacnak@google.com>
> Commit-Queue: Zach Anderson <zra@google.com>

TBR=rmacnak@google.com,zra@google.com

Change-Id: I460f9bceb3c2e9e53cbed848ed99cb1ac00491cc
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/85422
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-11-26 20:25:55 +00:00
Zach Anderson c2f1cd49a3 [infra] Roll buildtools to c72a1c5aadde06505b7bb4641720880f3db28ff9
Change-Id: I277e48e077aa8025e5d6e99fc46895bb57073c1c
Reviewed-on: https://dart-review.googlesource.com/c/84448
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-11-26 19:25:55 +00:00
Alexander Thomas 9903d86d50 [infra] Apply flutter patches in flutter-analyze builds as well
Change-Id: Ibc4b4f1267ee533040cf81d940395af1985a3b76
Reviewed-on: https://dart-review.googlesource.com/c/85386
Reviewed-by: Paul Berry <paulberry@google.com>
2018-11-26 18:42:39 +00:00
Paul Berry d7ee7b9516 Merge commit '880dfa0bca19b024bea57a20434da6f3f0fe9c87' into analyzer 2018-11-26 08:35:57 -08:00
William Hesse 81cbb51292 Add --no-status flag to test.py, so the exit code does not depend on test status.
Change-Id: I7b65077ef254655e385deb142c127731452cd508
Reviewed-on: https://dart-review.googlesource.com/c/85103
Reviewed-by: Jonas Termansen <sortie@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2018-11-23 16:09:10 +00:00
Vyacheslav Egorov 1891636db0 [gardening] Final attempt to fix apply.sh.
Use git cache fetch correctly

TBR=kustermann@google.com

Change-Id: I9245ebc2bb36e4f80e815b0f4557a34f77cbbe84
Reviewed-on: https://dart-review.googlesource.com/c/85289
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-11-23 15:32:40 +00:00
Vyacheslav Egorov 6300b7e0a0 [gardening] Fix apply.sh syntax (no spaces between variable name and =)
TBR=kustermann@google.com

Change-Id: Ia268f69045d91447f5b84ee9a21926b03ecc2f58
Reviewed-on: https://dart-review.googlesource.com/c/85288
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-11-23 15:19:21 +00:00
Vyacheslav Egorov 2fbc6b9a2e [gardening] Make apply.sh script force update git cache used by bots
R=kustermann@google.com

Change-Id: Id03377dbe4a294032d41a612076b933b447fd2f6
Reviewed-on: https://dart-review.googlesource.com/c/85287
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-11-23 15:03:57 +00:00
Vyacheslav Egorov 1ed5f78e9c [gardening] Make apply.sh script fetch before trying to checkout.
TBR=kustermann@google.com

Change-Id: I195100218b7d83eee4647d5baf254c075e7492df
Reviewed-on: https://dart-review.googlesource.com/c/85286
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-11-23 13:48:08 +00:00
Vyacheslav Egorov c62af758ee [gardening] Switch apply.sh script to use bash instead of sh
R=sortie@google.com

Change-Id: I30d39d4edf864d0307d18c8fd095649cfe3ed17c
Reviewed-on: https://dart-review.googlesource.com/c/85284
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-11-23 13:31:15 +00:00
Vyacheslav Egorov 01380ede49 [gardening] Expand 3xHEAD Flutter patch mechanism to support DEPS file changes.
We don't rerun gclient sync after applying patches so changes to Dart
dependencies were not picked up.

Change-Id: I4360ddf7f906ab0552bd3ae8abbe9210a785845a
Reviewed-on: https://dart-review.googlesource.com/c/85282
Auto-Submit: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-11-23 13:10:25 +00:00
Vyacheslav Egorov ba0222df78 [flutter] Update flutter-engine-linux 3xHEAD patch.
dart2js_info dependency is upgraded to 0.5.15 from 0.5.13

Change-Id: I3077c7953af17c610864d309e9f17e350a560fba
Reviewed-on: https://dart-review.googlesource.com/c/85262
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-11-23 11:37:36 +00:00
Paul Berry e649ed1aa3 Merge commit 'c1daa3276566e48dac6f52742264578092c56a35' into analyzer 2018-11-21 08:47:55 -08:00
Martin Kustermann 8044e32fc5 [infra] Blacklist android device id in attempt to make buildbot builder more stable
This particular device sometimes fails with errors such as:

  * "protocol error"
  * "protocol error (no status)"
  * "device not found"

Change-Id: Iced97ae8f5e891c43436a3d745004517dc59b42c
Reviewed-on: https://dart-review.googlesource.com/c/84905
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-11-20 21:25:04 +00:00