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/runners | |
| parent | 6c7cdc537b7b341f9ca25a3e8b61de46c99840e7 (diff) | |
add c-testsuite
Diffstat (limited to 'test/external/c-testsuite/runners')
19 files changed, 280 insertions, 0 deletions
diff --git a/test/external/c-testsuite/runners/single-exec/9cc-x86_64 b/test/external/c-testsuite/runners/single-exec/9cc-x86_64 new file mode 100755 index 0000000..dc27fc9 --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/9cc-x86_64 @@ -0,0 +1,36 @@ +#! /bin/sh + +set -e +set -u + +if ! test "x86_64" = "$(uname -m)" +then + echo "incorrect host for test" 1>&2 + exit 1 +fi + +t=$1 + +cat $t + +set -x + +if ! 9cc "$t" > "$t.s" +then + exit 1 +fi + +if ! gcc -o "$t.bin" "$t.s" +then + exit 1 +fi + +if ! "$t.bin" > "$t.output" 2>&1 +then + exit 1 +fi + +if ! diff -u "$t.expected" "$t.output" +then + exit 1 +fi diff --git a/test/external/c-testsuite/runners/single-exec/9cc-x86_64.skip b/test/external/c-testsuite/runners/single-exec/9cc-x86_64.skip new file mode 100755 index 0000000..0cc784c --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/9cc-x86_64.skip @@ -0,0 +1,9 @@ +#! /bin/sh + +if ! test -f README.md +then + echo "run from the base directory." >&2 + exit 1 +fi + +./scripts/search-tests "not (arch-x86_64 or portable)"
\ No newline at end of file diff --git a/test/external/c-testsuite/runners/single-exec/antcc-x86_64 b/test/external/c-testsuite/runners/single-exec/antcc-x86_64 new file mode 100755 index 0000000..da9e20c --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/antcc-x86_64 @@ -0,0 +1,12 @@ +#! /bin/sh + +if ! test "x86_64" = "$(uname -m)" +then + echo "incorrect host for test" 1>&2 + exit 1 +fi + +CC=../../../antcc +CFLAGS="" +export CC CFLAGS +exec ./runners/single-exec/posix $1 diff --git a/test/external/c-testsuite/runners/single-exec/antcc-x86_64.skip b/test/external/c-testsuite/runners/single-exec/antcc-x86_64.skip new file mode 100755 index 0000000..a4de0bb --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/antcc-x86_64.skip @@ -0,0 +1,9 @@ +#! /bin/sh + +if ! test -f README.md +then + echo "run from the base directory." >&2 + exit 1 +fi + +./scripts/search-tests "not (arch-x86_64 or portable)" diff --git a/test/external/c-testsuite/runners/single-exec/c2go b/test/external/c-testsuite/runners/single-exec/c2go new file mode 100755 index 0000000..e0dd596 --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/c2go @@ -0,0 +1,33 @@ +#! /bin/sh + +set -e +set -u + + +t=$1 + +cat $t + +set -x + +mkdir "$t-c2go" + +if ! c2go transpile -o "$t-c2go/main.go" "$t" +then + exit 1 +fi + +if ! (cd "$t-c2go" && go build -o "$t.bin") +then + exit 1 +fi + +if ! "$t.bin" > "$t.output" 2>&1 +then + exit 1 +fi + +if ! diff -u "$t.expected" "$t.output" +then + exit 1 +fi diff --git a/test/external/c-testsuite/runners/single-exec/c2go.skip b/test/external/c-testsuite/runners/single-exec/c2go.skip new file mode 100755 index 0000000..0cc784c --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/c2go.skip @@ -0,0 +1,9 @@ +#! /bin/sh + +if ! test -f README.md +then + echo "run from the base directory." >&2 + exit 1 +fi + +./scripts/search-tests "not (arch-x86_64 or portable)"
\ No newline at end of file diff --git a/test/external/c-testsuite/runners/single-exec/ccgo b/test/external/c-testsuite/runners/single-exec/ccgo new file mode 100755 index 0000000..355043f --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/ccgo @@ -0,0 +1,11 @@ +#! /bin/sh + +set -e +set -u + +CC=ccgo +# A typical configuration +CFLAGS="" + +export CC CFLAGS +exec ./runners/single-exec/posix $1
\ No newline at end of file diff --git a/test/external/c-testsuite/runners/single-exec/ccgo.skip b/test/external/c-testsuite/runners/single-exec/ccgo.skip new file mode 100755 index 0000000..0cc784c --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/ccgo.skip @@ -0,0 +1,9 @@ +#! /bin/sh + +if ! test -f README.md +then + echo "run from the base directory." >&2 + exit 1 +fi + +./scripts/search-tests "not (arch-x86_64 or portable)"
\ No newline at end of file diff --git a/test/external/c-testsuite/runners/single-exec/clang-nolibc-x86_64 b/test/external/c-testsuite/runners/single-exec/clang-nolibc-x86_64 new file mode 100755 index 0000000..c44dc52 --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/clang-nolibc-x86_64 @@ -0,0 +1,17 @@ +#! /bin/sh + +set -e +set -u + +if ! test "x86_64" = "$(uname -m)" +then + echo "incorrect host for test" 1>&2 + exit 1 +fi + +CC=clang +# A typical configuration +CFLAGS="-nolibc --std=c11 -O2" + +export CC CFLAGS +exec ./runners/single-exec/posix $1 diff --git a/test/external/c-testsuite/runners/single-exec/clang-nolibc-x86_64.skip b/test/external/c-testsuite/runners/single-exec/clang-nolibc-x86_64.skip new file mode 100755 index 0000000..1551465 --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/clang-nolibc-x86_64.skip @@ -0,0 +1,9 @@ +#! /bin/sh + +if ! test -f README.md +then + echo "run from the base directory." >&2 + exit 1 +fi + +./scripts/search-tests "needs-libc or not (arch-x86_64 or portable)"
\ No newline at end of file diff --git a/test/external/c-testsuite/runners/single-exec/clang-x86_64 b/test/external/c-testsuite/runners/single-exec/clang-x86_64 new file mode 100755 index 0000000..f9537f5 --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/clang-x86_64 @@ -0,0 +1,17 @@ +#! /bin/sh + +set -e +set -u + +if ! test "x86_64" = "$(uname -m)" +then + echo "incorrect host for test" 1>&2 + exit 1 +fi + +CC=clang +# A typical configuration +CFLAGS="--std=c11 -O2" + +export CC CFLAGS +exec ./runners/single-exec/posix $1 diff --git a/test/external/c-testsuite/runners/single-exec/clang-x86_64.skip b/test/external/c-testsuite/runners/single-exec/clang-x86_64.skip new file mode 100755 index 0000000..0cc784c --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/clang-x86_64.skip @@ -0,0 +1,9 @@ +#! /bin/sh + +if ! test -f README.md +then + echo "run from the base directory." >&2 + exit 1 +fi + +./scripts/search-tests "not (arch-x86_64 or portable)"
\ No newline at end of file diff --git a/test/external/c-testsuite/runners/single-exec/compcert-x86_64 b/test/external/c-testsuite/runners/single-exec/compcert-x86_64 new file mode 100755 index 0000000..7065449 --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/compcert-x86_64 @@ -0,0 +1,16 @@ +#! /bin/sh + +set -e +set -u + +if ! test "x86_64" = "$(uname -m)" +then + echo "incorrect host for test" 1>&2 + exit 1 +fi + +CC=ccomp +CFLAGS="-fall -O2" + +export CC CFLAGS +exec ./runners/single-exec/posix $1 diff --git a/test/external/c-testsuite/runners/single-exec/compcert-x86_64.skip b/test/external/c-testsuite/runners/single-exec/compcert-x86_64.skip new file mode 100755 index 0000000..111fc47 --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/compcert-x86_64.skip @@ -0,0 +1,9 @@ +#! /bin/sh + +if ! test -f README.md +then + echo "run from the base directory." >&2 + exit 1 +fi + +./scripts/search-tests "not ((arch-x86_64 or portable) and c99)"
\ No newline at end of file diff --git a/test/external/c-testsuite/runners/single-exec/gcc-x86_64 b/test/external/c-testsuite/runners/single-exec/gcc-x86_64 new file mode 100755 index 0000000..fce2545 --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/gcc-x86_64 @@ -0,0 +1,17 @@ +#! /bin/sh + +set -e +set -u + +if ! test "x86_64" = "$(uname -m)" +then + echo "incorrect host for test" 1>&2 + exit 1 +fi + +CC=gcc +# A typical configuration +CFLAGS="--std=c11 -O2" + +export CC CFLAGS +exec ./runners/single-exec/posix $1 diff --git a/test/external/c-testsuite/runners/single-exec/gcc-x86_64.skip b/test/external/c-testsuite/runners/single-exec/gcc-x86_64.skip new file mode 100755 index 0000000..0cc784c --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/gcc-x86_64.skip @@ -0,0 +1,9 @@ +#! /bin/sh + +if ! test -f README.md +then + echo "run from the base directory." >&2 + exit 1 +fi + +./scripts/search-tests "not (arch-x86_64 or portable)"
\ No newline at end of file diff --git a/test/external/c-testsuite/runners/single-exec/posix b/test/external/c-testsuite/runners/single-exec/posix new file mode 100755 index 0000000..2120bfb --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/posix @@ -0,0 +1,28 @@ +#! /bin/sh + +# To use this script, set CC +# and CFLAGS. + +set -e +set -u + +t=$1 + +cat $t + +set -x + +if ! $CC $CFLAGS "$t" -o "$t.bin" +then + exit 1 +fi + +if ! "$t.bin" > "$t.output" 2>&1 +then + exit 1 +fi + +if ! diff -u "$t.expected" "$t.output" +then + exit 1 +fi diff --git a/test/external/c-testsuite/runners/single-exec/tcc-x86_64 b/test/external/c-testsuite/runners/single-exec/tcc-x86_64 new file mode 100755 index 0000000..d9fdf39 --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/tcc-x86_64 @@ -0,0 +1,12 @@ +#! /bin/sh + +if ! test "x86_64" = "$(uname -m)" +then + echo "incorrect host for test" 1>&2 + exit 1 +fi + +CC=tcc +CFLAGS="" +export CC CFLAGS +exec ./runners/single-exec/posix $1 diff --git a/test/external/c-testsuite/runners/single-exec/tcc-x86_64.skip b/test/external/c-testsuite/runners/single-exec/tcc-x86_64.skip new file mode 100755 index 0000000..0cc784c --- /dev/null +++ b/test/external/c-testsuite/runners/single-exec/tcc-x86_64.skip @@ -0,0 +1,9 @@ +#! /bin/sh + +if ! test -f README.md +then + echo "run from the base directory." >&2 + exit 1 +fi + +./scripts/search-tests "not (arch-x86_64 or portable)"
\ No newline at end of file |