Re: What's cooking in git.git (Jul 2021, #03; Tue, 13)
From: Jeff King <hidden>
Date: 2021-07-19 10:52:35
On Mon, Jul 19, 2021 at 12:41:43PM +0200, Patrick Steinhardt wrote:
quoted
TBH, I had never really considered using TEST_OUTPUT_DIRECTORY for this (--root predates it, and was written explicitly for the tmpfs case). But I also think --root is more convenient: - "make test" will run in the tmpfs for speed, but "./t1234-foo.sh -i" will run locally, which makes it easy to "cd" in to inspect the result - likewise, I find accessing the results in t/test-results/*.out a little more convenient But all of that is preference. I don't think you're wrong to use TEST_OUTPUT_DIRECTORY this way, but the above points might be interesting to you.It is, thanks a lot for the hint. But given your first point about direct execution, this in fact makes me want TEST_OUTPUT_DIRECTORY in contrast to `--root=/path/to/tmpfs`: especially in the context of perf tests, I never run all of them together given that it takes such a long time. So I instead either run them directly or via the `./run` script, and in both cases I definitely want to have them in tmpfs given that there's a lot of disk churn if you're using biggish repos.
I generally use "./run", too. It will use GIT_TEST_OPTS under the hood (which I actually find a little odd, just because it kicks in my usual "-x --verbose-log", which I don't actually care about for the perf tests). You'd have to specify it manually for single-script runs, though. I usually avoid single-script runs (and instead use "./run") because I try to make sure each run is associated with a commit. Otherwise, it's easy to confuse yourself about what the state of "this tree" was when it ran (it does not even build fresh with GIT_PERF_MAKE_OPTS! So many times I've accidentally tested a -O0 build from the current tree and wondered why it was so slow). -Peff