chiark / gitweb /
autopkgtests: Add machinery for regenerating test cases
[chiark-tcl.git] / debian / regenerate-autopkgtests
diff --git a/debian/regenerate-autopkgtests b/debian/regenerate-autopkgtests
new file mode 100755 (executable)
index 0000000..396df16
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/bash
+set -e
+
+dt=debian/tests
+
+rm -rf $dt
+mkdir -p $dt
+
+exec 4>$dt/control.new
+
+for sv in */debian-substvars; do
+       d=${sv%/*}
+       if ! test -e "$sv"; then continue; fi
+       make -C "$d" test-load.tcl
+       printf "%s..." $d
+       for v in "$@"; do
+               t=$d--$v
+               printf " %s" $v
+               exec 3>$dt/$t
+               echo >&3 "#!/usr/bin/tclsh$v"
+               cat >&3 "$d"/test-load.tcl
+               echo >&3 'set t {'"$d"'/runtest.tcl}'
+               echo >&3 'if {[file exists $t]} { source $t }'
+               chmod +x $dt/$t
+               echo >&4 "Tests: $t"
+               sed "s/^shlibs:Depends=/Depends: tcl$v, /" >&4 $sv
+               echo >&4
+       done
+       echo
+done
+
+mv $dt/control.new $dt/control