[PATCH] D76829: [lit] Introduce setup and teardown routines
Sergej Jaskiewicz via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 26 08:38:52 PDT 2020
broadwaylamb added a comment.
In D76829#1943659 <https://reviews.llvm.org/D76829#1943659>, @ldionne wrote:
> In D76829#1943483 <https://reviews.llvm.org/D76829#1943483>, @broadwaylamb wrote:
>
> > @ldionne I tried to find a way but couldn't. All the code in executor classes is run either at configuration time (when we parse `lit.cfg`), or while running each test. There's no way to tell it to run "when all tests have completed", AFAICT.
>
>
> The executor does receive file dependencies. It could copy those and remove them after each test, no? I'm not saying setup/teardown isn't useful in lit, I'm just trying to see what other ways we can solve that problem.
It probably could. However, it would be unnecessary work, leading to slowing down test execution time significantly. Copying the inputs involves tarring them, creating a temporary directory on the target, scp'ing the archive to that temporary directory and untarring it. For me, it can //easily// take ~10 seconds (yeah, my target machine is on another hemisphere, but still). And we have 134 std::filesystem tests, that's ~22 minutes spent //only// on copying the inputs to the target. And I haven't even counted the cleanup time.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D76829/new/
https://reviews.llvm.org/D76829
More information about the llvm-commits
mailing list