Hi, On February 15, 2022 10:12:36 PM PST, Justin Pryzby <pry...@telsasoft.com> wrote: >On Sun, Feb 13, 2022 at 01:53:19PM -0800, Andres Freund wrote: >> Hi, >> >> On 2022-02-13 15:31:20 -0600, Justin Pryzby wrote: >> > Oh - I suppose you're right. That's an unfortunate consequence of running >> > a >> > single prove instance without chdir. >> >> I don't think it's chdir that's relevant (that changes into the source >> directory after all). It's the TESTDIR environment variable. >> >> I was thinking that we should make Utils.pm's INIT block responsible for >> figuring out both the directory a test should run in and the log location, >> instead having that in vcregress.pl and Makefile.global.in. Mostly because >> doing it in the latter means we can't start tests with different TESTDIR and >> working dir at the same time. >> >> If instead we pass the location of the top-level build and top-level source >> directory from vcregress.pl / Makefile.global, the tap test infrastructure >> can >> figure out that stuff themselves, on a per-test basis. >> >> For msvc builds we probably would need to pass in some information that allow >> Utils.pm to set up PATH appropriately. I think that might just require >> knowing >> that a) msvc build system is used b) Release vs Debug. > >I'm totally unsure if this resembles what you're thinking of, and I'm surprised >I got it working so easily. But it gets the tap test output in separate dirs, >and CI is passing for everyone (windows failed because I injected a "false" to >force it to upload artifacts). > >https://github.com/justinpryzby/postgres/runs/5211673291
Yes, that's along the lines I was thinking. I only checked it on my phone, so it certainly isn't a careful look... I think this should be discussed in a separate thread, for visibility. FWIW, I'd like to additionally add marker files in INIT and remove them in END. And create files signaling success and failure in END. That would allow automated selection of log files of failed tests... Andres Regards, Andres -- Sent from my Android device with K-9 Mail. Please excuse my brevity.