aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Terceiro <[email protected]>2025-02-23 09:48:22 -0300
committerQuentin Carbonneaux <[email protected]>2025-03-15 14:43:00 +0100
commitf7ab20680b84ff16936bff17def5f9a849ff57cb (patch)
tree08d0fd2273d53f85171d46e8cb1c162c24c28322
parent789e38fdb238cfb0b09589e3cf361ca6df55d996 (diff)
tools/test.sh: allow running against installed package
If $bin is set in the environment, use it instead of using `qbe` from the source tree. The same for $binref. This supports the following use cases: - I have a qbe package installed, and I want to test my local changes with the installed packages as a reference: $ binref=/usr/bin/qbe ./tools/test.sh all - I want to test the installed qbe against new tests that I have written, to reproduce a bug: $ bin=/usr/bin/qbe ./tools/test.sh test/newtest.ssa In Debian, we also run tests against the installed package when dependencies change, etc. We will also run on several architectures where the necessary cross compilers might not be available. So make tests that cannot be run because of a missing compiler exit with 77, signaling to Debian's autopkgtest that the test is skipped.
-rwxr-xr-xtools/test.sh16
1 files changed, 10 insertions, 6 deletions
diff --git a/tools/test.sh b/tools/test.sh
index 0eb6593..f8025c4 100755
--- a/tools/test.sh
+++ b/tools/test.sh
@@ -1,8 +1,12 @@
#!/bin/sh
dir=`dirname "$0"`
-bin=$dir/../qbe
-binref=$dir/../qbe.ref
+if [ -z "${bin:-}" ]; then
+ bin=$dir/../qbe
+fi
+if [ -z "${binref:-}" ]; then
+ binref=${bin}.ref
+fi
tmp=/tmp/qbe.zzzz
@@ -34,7 +38,7 @@ init() {
if test -z "$cc"
then
echo "Cannot find arm64 compiler or qemu."
- exit 1
+ exit 77
fi
bin="$bin -t arm64"
;;
@@ -58,7 +62,7 @@ init() {
if test -z "$cc"
then
echo "Cannot find riscv64 compiler or qemu."
- exit 1
+ exit 77
fi
bin="$bin -t rv64"
;;
@@ -82,7 +86,7 @@ init() {
if test -z "$cc"
then
echo "Cannot find x86_64 compiler or qemu."
- exit 1
+ exit 77
fi
bin="$bin -t amd64_sysv"
;;
@@ -106,7 +110,7 @@ init() {
;;
*)
echo "Unknown target '$TARGET'."
- exit 1
+ exit 77
;;
esac
}