diff options
| author | 2025-12-13 19:21:04 +0100 | |
|---|---|---|
| committer | 2025-12-13 19:21:04 +0100 | |
| commit | e51ac7ec7d3e32e1771c9f824da3dc7e4dcd2bc5 (patch) | |
| tree | a0b7a0c29247374b96fdbfb29bc365d15e9e36a5 /test/external/c-testsuite/single-exec | |
| parent | 6c7cdc537b7b341f9ca25a3e8b61de46c99840e7 (diff) | |
add c-testsuite
Diffstat (limited to 'test/external/c-testsuite/single-exec')
| -rwxr-xr-x | test/external/c-testsuite/single-exec | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/test/external/c-testsuite/single-exec b/test/external/c-testsuite/single-exec new file mode 100755 index 0000000..e6952d9 --- /dev/null +++ b/test/external/c-testsuite/single-exec @@ -0,0 +1,66 @@ +#! /bin/sh + +set -e +set -u + +if ! test -f README.md +then + echo "run from the base directory." >&2 + exit 1 +fi + +compiler="$1" + +scratchdir=$(mktemp -d) +cleanup () { + rm -rf $scratchdir +} +trap cleanup EXIT + +testdir="./tests/single-exec" +runner="./runners/single-exec/$compiler" + +skipcmd="./runners/single-exec/$compiler.skip" +skipset="$scratchdir/skip_lut" + +echo "TAP version 13" +echo "1..$(find ./tests/single-exec/ -name "*.c" | wc -l)" + +if ! test -f "$runner" +then + echo "$runner does not exist!" 1>&2 + exit 1 +fi + +if test -f "$skipcmd" +then + if ! $skipcmd > "$scratchdir/skip.txt" + then + echo "skip list command failed" 1>&2 + exit 1 + fi + + ./scripts/lib-exec/mkset "$skipset" "$scratchdir/skip.txt" +else + echo -n "" | ./scripts/lib-exec/mkset "$skipset" +fi + +for t in $testdir/*.c +do + result="ok" + + + if ./scripts/lib-exec/setlookup "$skipset" "$t" + then + echo "ok $t # SKIP" + continue + fi + + if ! timeout 5m $runner $t > $scratchdir/t.out 2>&1 + then + result="not ok" + fi + + echo "$result" "$t" + sed -e 's/^/\#/' $scratchdir/t.out +done |