I'm using automake 1.11.1's 'parallel-tests' test suite capabilities. It's been fine so far. I even hacked it a little to support launching my MPI programs. I have some tests that run serially (without MPI) and some that do:
TESTS = $(SERIAL_TESTS) $(PARALLEL_TESTS) LOG_COMPILER = \ maybe_mpi=`if echo "$(SERIAL_TESTS)" | $(GREP) "$$p" > /dev/null; then echo ""; else echo "$(MPIEXEC)"; fi`; \ $$maybe_mpi Users run the test suite using something like make check MPIEXEC="mpiexec -np 4" On one particular platform we don't use MPI but instead have our own process manager built into each of our programs. This means each program must be launched by passing command-line arguments such as "-np 4". How can I do this? I tried: LOG_COMPILER = \ maybe_mpi=`if echo "$(SERIAL_TESTS)" | $(GREP) "$$p" > /dev/null; then echo ""; else echo "$(MPIEXEC)"; fi`; \ tst="$$dir$$f -np 4"; \ $$maybe_mpi But then all of my tests fail with something like: /bin/sh: ./testing/simplelock.x -np 4: No such file or directory So how can I pass the same command-line arguments to all of my test programs? To make things even harder, I have some test programs which take specific command-line arguments. I've been leaving them out of the test suite since I can't figure out how to pass command-line arguments to any tests let alone individual tests. I'd be happy enough if there was a solution to the first problem. I'd be absolutely thrilled if I could solve both. Thanks. Jeff