Use multipass if LAUNCHER_SHELLS is set on command line
This is primarily for DejaGnu development, and allows the dejagnu(1)
script to be easily tested under a variety of shells.
diff --git a/ChangeLog b/ChangeLog
index fbb4fcd..8984e93 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,9 @@
testing the dejagnu(1) launcher with a shell specified as
LAUNCHER_SHELL on the command line.
+ Also add support for multipass testing with multiple shells by
+ setting LAUNCHER_SHELLS to a Tcl list on the command line.
+
2024-09-12 Jacob Bachmeyer <jcb@gnu.org>
* dejagnu: Adjust #! line according to recommendation in the
diff --git a/testsuite/lib/launcher.exp b/testsuite/lib/launcher.exp
index 56e288e..69a8752 100644
--- a/testsuite/lib/launcher.exp
+++ b/testsuite/lib/launcher.exp
@@ -29,6 +29,14 @@
exit 2
}
+if { [info exists LAUNCHER_SHELLS] } {
+ set MULTIPASS [list [list default LAUNCHER_SHELL= ]]
+ foreach shell $LAUNCHER_SHELLS {
+ lappend MULTIPASS [list $shell \
+ [join [list LAUNCHER_SHELL $shell] =]]
+ }
+}
+
# run dejagnu(1) LAUNCHER with ARGLIST, returning { output exit_code }
proc dejagnu_run { launcher arglist envlist } {
global LAUNCHER_SHELL errorCode