No - per prove-run, my approach would use the same shell for all runs. Maybe you can/want to use a shim in between your .t file and prove, that is something like:
#!/bin/bash
TESTSCRIPT=$1
for SHELL in ./test-shells/* ; do
$SHELL $TESTSCRIPT
if $? ; then
exit $?
fi
done
If you set this script as the interpreter of your test files, that should run each test with all shells (but still, single threaded). That way, you could at least achieve parallelism across your test files.
I'm sure there is a bash-way of stopping the interpreter script when any subprocess fails. Maybe it's set -e or something, but I'm sure you know that far better than I do. |