On 21 May 2015 at 09:12, Roman Neuhauser <neuhau...@sigpipe.cz> wrote: > # aschwarz1...@att.net / 2015-05-20 17:00:57 -0700: >> 15.2.3 Parallel Test Harness
>> Suppose Makefile looks something like: >> >> TESTS = foo.exe >> >> Then >> TEST_LOGS = foo.log >> >> And the user sets this to >> env TEST_LOGS = bar.log make -e check >> >> What on earth does this mean? > > first, it would have to be > > env TEST_LOGS=bar.log make -e check > > (no ws around the equals sign). > > second, it looks like a pilot error, and i would expect make to produce > an error. It seems pointless to set it in the Makefile.am, except maybe to reduce the tests that are executed to a subset of those listed in TESTS? I would guess that overriding it from the command-line would need to set it to a subset of the test logs. This seems pointless as you could override TESTS instead. >> And what does 'set x subset*.log; shift' have to do with anything. It looks >> like something erroneously removed from an existing script and put in the >> document. > > that's just defensive shell script programming. if no files match the > pattern, it will expand to nothing, and "set" with no options or arguments > produces a list of all parameters (variables) defined in the current > shell environment (instead of setting argc = 0, argv = {}. to prevent > this mishap you need to ensure that "set" sees at least one argument, > and then shift it off the beginning of argv. It's like the "test x$a = x$b" trick in case either a or b is empty. It would appear in the example that the subset*.log and foo.log are logs for existing tests. I can't see any purpose in this variable being documented.