# aschwarz1...@att.net / 2015-05-20 17:00:57 -0700: > 15.2.3 Parallel Test Harness > > You can set the TEST_LOGS variable. By default, this variable is computed at > make run time from the value of TESTS as described above. For example, you > can use the following: > > set x subset*.log; shift > env TEST_LOGS="foo.log $*" make -e check > > What does setting TEST_LOGS do?
it overrides the definition present in the Makefile. > It is read only in the Makefile file. no. > 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. > 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. -- roman