[PATCH] D96371: [lit] Add --ignore-fail
Joel E. Denny via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 16 12:48:01 PST 2021
jdenny added a comment.
In D96371#2564848 <https://reviews.llvm.org/D96371#2564848>, @jhenderson wrote:
> I'm coming around to the benefits of this, but first have you considered whether the D96662 <https://reviews.llvm.org/D96662> would be sufficient for your needs? It seems that you could use that to ignore/xfail the bad tests and continue,
`--xfail` could prove frustrating for my current use case. The problem is that openmp test failures are often racy. I'd have to run check-all potentially many times trying to make my `--xfail` match the failing tests.
`--skip` avoids that problem because it doesn't care about the specified tests' results. But I want to see those results, so I'd need to run check-all twice, once with the problematic tests, and once skipping them. Seems ok, but...
> without using --ignore-fail and risk accidentally missing failures to do with your work (possibly in more obscure places).
This point almost convinced me in the case of `--skip`. However, one advantage of `--ignore-fail` is that it makes it possible to just simply run everything. With `--ignore-fail`, I don't have to figure out the right pattern that skips just tests in the first lit invocation without accidentally skipping other tests I didn't realize matched my pattern. For example, some openmp-related patterns would match in both lit invocations because clang's test suite runs in the second lit invocation. With `--ignore-fail`, I don't have to run check-all (almost 2 hours on my laptop) many times trying to get the `--skip` pattern just right. I won't get through the second lit invocation and think I'm done without realizing a third lit invocation has been introduced (no, I'm not aware of a third right now). `--ignore-fail` just runs everything.
The caveat is that I might miss test failures in the scroll, but anyone using `--ignore-fail` should know they're ignoring failures, so surely they're on the lookout.
To be clear, I think `--xfail` and `--skip` will prove useful for other purposes, especially when you're investigating a smaller set of tests or trying to write careful scripts. In contrast, check-all can be huge. I don't want to tinker trying to make it run everything. After waiting two hours, I just want to see the test results... especially if I previously ran it once, came back two hours later, and discovered it skipped entire test suites.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96371/new/
https://reviews.llvm.org/D96371
More information about the llvm-commits
mailing list