diff options
| author | Antonio Terceiro <[email protected]> | 2025-02-23 09:48:22 -0300 |
|---|---|---|
| committer | Quentin Carbonneaux <[email protected]> | 2025-03-15 14:43:00 +0100 |
| commit | f7ab20680b84ff16936bff17def5f9a849ff57cb (patch) | |
| tree | 08d0fd2273d53f85171d46e8cb1c162c24c28322 | |
| parent | 789e38fdb238cfb0b09589e3cf361ca6df55d996 (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-x | tools/test.sh | 16 |
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 } |
