Commit Graph

10 Commits

Author SHA1 Message Date
Jonas Termansen ce1fb830d0 [infra] Suggest running gsutil.py config in approve_results if needed.
Fixes https://github.com/dart-lang/sdk/issues/35377.

Change-Id: I2a1a596cda1c5e5565de69ad89f48ab9f1485c41
Reviewed-on: https://dart-review.googlesource.com/c/95020
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
2019-03-01 16:31:39 +00:00
Jonas Termansen fb7d075cfa [infra] Use third_party/gsutil in the status file free workflow.
Change-Id: I13d68092874121acedec305a186867ee88863806
Reviewed-on: https://dart-review.googlesource.com/c/90463
Reviewed-by: Alexander Thomas <athom@google.com>
2019-01-23 12:52:41 +00:00
Jonas Termansen 0e08c267c8 [infra] Add Windows support for gsutil.py.
The Windows PATH search finds gsutil.py and attempts to invoke that, which
is not a valid Windows application. Instead invoke it's accompanying batch
file.

Bug: https://github.com/dart-lang/sdk/issues/35367
Change-Id: I396809e18dabdc59664bbda34e0832cc7dd4082f
Reviewed-on: https://dart-review.googlesource.com/c/86767
Reviewed-by: William Hesse <whesse@google.com>
2018-12-11 12:08:51 +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 927f0937bd [infra] Add test.dart script for local testing.
test.dart locates where the current branch branched off master and compares
the local testing results with the appropriate mainline builder results,
letting you know how the current change compares without the need for status
files.

Bug: https://github.com/dart-lang/sdk/issues/35086
Change-Id: Ib79479b867c5ac131302fea1bdf7effd0422a83a
Reviewed-on: https://dart-review.googlesource.com/c/83281
Reviewed-by: Alexander Thomas <athom@google.com>
2018-11-12 21:51:48 +00:00
Jonas Termansen 51f815f7f3 [infra] Support configurations in compare_results and update_flakiness.
Change-Id: I640486957a40ebd178a0d7d06a7a81af758536c8
Reviewed-on: https://dart-review.googlesource.com/c/82980
Commit-Queue: Jonas Termansen <sortie@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-11-06 19:57:08 +00:00
Jonas Termansen af63ea79a1 [infra] Add approve_results.dart script for approving test result changes.
The approve_results program downloads the current results, the approved
results, and flakiness information for the specified bots. It presents
tables of the tests that have been fixed and the ones that have broken since
the last approval. Finally, it provides the option to approve the new
changes.

The approve_results program is part of the new workflow and only affects the
greenness of bots enrolled in it.

You can list the available bots by running:

    dart tools/approve_results.dart -l

You can approve the results on a bot by running:

    dart tools/approve_results.dart -b vm-kernel-linux-release-x64

Globs are supported, e.g. to approve all vm linux bots on ia32 and x64:

    dart tools/approve_results.dart -b 'vm-*linux*{ia32,x64}*'

By default the tool is interactive and asks whether the changes should be
approved. Approving the results turns the bots green on the next commit.
It's assumed that bugs have been filed prior to approving the test changes.
The -y option approves the changes non-interactively while the -n option
does a try run and shows what needs to be approved.

This tool is meant to be used early and often to turn the bot green. Emails
are not set about additional failures until the regressions has been
approved.

Bug: https://github.com/dart-lang/sdk/issues/35000
Change-Id: I6479edaa76556aa5ef499509c04b92ae770d1727
Reviewed-on: https://dart-review.googlesource.com/c/82222
Reviewed-by: William Hesse <whesse@google.com>
2018-11-06 01:08:50 +00:00
William Hesse 1809bae318 Revert "Ignore JSON exceptions when reading (empty) test results file"
This reverts commit 0aa99cca99.
Also fixes issue writing newline-terminated json records to file.

Change-Id: I568442149f532c4164610b6694fa95bc4f6e97e4
Reviewed-on: https://dart-review.googlesource.com/c/79205
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-10-11 11:51:12 +00:00
William Hesse 0aa99cca99 Ignore JSON exceptions when reading (empty) test results file
Change-Id: I65557ca82acb0ec51d5f3f49ff2799ca77204dc3
Reviewed-on: https://dart-review.googlesource.com/c/79049
Reviewed-by: William Hesse <whesse@google.com>
2018-10-10 16:35:44 +00:00
Jonas Termansen 69cd7cb43f [infra] Add compare_results.dart and update_flakiness.dart.
tools/bots/compare_results.dart compares the previous and current test
results in the results.json format and lists the differences, taking the
flakiness data into account.

tools/bots/update_flakiness.dart reads new result.json files and updates the
flakiness data in the flaky.json format file. The updated flakiness data
contains the list of tests that were already known to be flaky, plus any
new tests with multiple different outcomes in the provided results.json
files.

For instance, after running the tests, to find the list of tests that
changed result and needs to be deflaked, excluding tests that are already
known to be flaky:

  compare_results.dart \
    --flakiness-data flaky.json
    --changed \
    --passing \
    --failing \
    previous.json results.json

After the tests needing deflakinghas been run again, the flakiness data can
be updated:

  update_flakiness.dart -i flaky.json -o flaky.json results.json more.json

Finally a human readable report can explain what happened, exiting 1 if any
tests started failing in a non-flaky manner:

  compare_results.dart \
    --flakiness-data flaky.json \
    --judgement \
    --human \
    --verbose \
    --changed \
    --failing \
    --flaky \
    previous.json results.json

Bug: https://github.com/dart-lang/sdk/issues/34517
Bug: https://github.com/dart-lang/sdk/issues/34518
Change-Id: I156a8a49b8df09c0aebcb77376b69d365d0aa2ac
Reviewed-on: https://dart-review.googlesource.com/75540
Reviewed-by: William Hesse <whesse@google.com>
2018-09-20 12:22:11 +00:00