)]}'
{
  "commit": "bb6f90eed750fa0157b80b2e8757021dd7f823f2",
  "tree": "9463ff75e652d55be1e2c9865c85ee05015094e1",
  "parents": [
    "0cf96812614b8250543d749629867b36f2757f4d",
    "ab1aa4b840baf91c719da05f78af78162a48738a"
  ],
  "author": {
    "name": "Jonathan Brouwer",
    "email": "jonathantbrouwer@gmail.com",
    "time": "Thu Jun 04 15:33:22 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jun 04 15:33:22 2026 +0200"
  },
  "message": "Rollup merge of #154586 - jdonszelmann:record-rerun, r\u003dclubby789,jieyouxu\n\nRecord failed tests with `--record`, and rerun them with `--rerun`\n\nThis adds two parameters to `x test`:\n\n## `--record`\n\nWrites a file, by default `build/failed-tests`, but this can be overwritten with\n```toml\n[build]\nrecord_failed_tests_path \u003d \"somepath\"\n```\nwith a list of all tests that fail that run.\n\n## `--rerun`\n\nLooks for the failed-tests file, parse it, and attempt to rerun only those tests. No cli-arguments are necessary, i.e.\n```\nx test tests/ui --record\nx test --rerun\n```\n\nWill run all failed uitests. No need to pass tests/ui to the rerun invocation.\n\nThe last commit is a little awkward, but I think it\u0027s 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.\n\nThis makes it so:\n```\nx test tests/ui --rerun\n```\nwill *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.\nWithout the last commit, this would instead just run all uitests, since the failed tests form a subset of all uitests. I think that\u0027s less useful.\n",
  "tree_diff": []
}
