You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rollup merge of #154586 - jdonszelmann:record-rerun, r=clubby789,jieyouxu
Record failed tests with `--record`, and rerun them with `--rerun`
This adds two parameters to `x test`:
## `--record`
Writes a file, by default `build/failed-tests`, but this can be overwritten with
```toml
[build]
record_failed_tests_path = "somepath"
```
with a list of all tests that fail that run.
## `--rerun`
Looks for the failed-tests file, parse it, and attempt to rerun only those tests. No cli-arguments are necessary, i.e.
```
x test tests/ui --record
x test --rerun
```
Will run all failed uitests. No need to pass tests/ui to the rerun invocation.
The last commit is a little awkward, but I think it's the best way to make it so that we *first* run all tests that have to be rerun, and *then* rerun tests passed through the cli.
This makes it so:
```
x test tests/ui --rerun
```
will *first* rerun failed tests, some of which may be uitests, if any fail it quits and reports failed tests, but if all pass it will run all normally passed tests. In other words, only if all previously-failed tests pass on the rerun, we then also run uitests.
Without the last commit, this would instead just run all uitests, since the failed tests form a subset of all uitests. I think that's less useful.
0 commit comments