aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/external/c-testsuite/runners/single-exec
diff options
context:
space:
mode:
authorlemon <lsof@mailbox.org>2025-12-13 19:21:04 +0100
committerlemon <lsof@mailbox.org>2025-12-13 19:21:04 +0100
commite51ac7ec7d3e32e1771c9f824da3dc7e4dcd2bc5 (patch)
treea0b7a0c29247374b96fdbfb29bc365d15e9e36a5 /test/external/c-testsuite/runners/single-exec
parent6c7cdc537b7b341f9ca25a3e8b61de46c99840e7 (diff)
add c-testsuite
Diffstat (limited to 'test/external/c-testsuite/runners/single-exec')
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/9cc-x86_6436
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/9cc-x86_64.skip9
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/antcc-x86_6412
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/antcc-x86_64.skip9
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/c2go33
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/c2go.skip9
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/ccgo11
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/ccgo.skip9
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/clang-nolibc-x86_6417
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/clang-nolibc-x86_64.skip9
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/clang-x86_6417
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/clang-x86_64.skip9
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/compcert-x86_6416
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/compcert-x86_64.skip9
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/gcc-x86_6417
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/gcc-x86_64.skip9
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/posix28
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/tcc-x86_6412
-rwxr-xr-xtest/external/c-testsuite/runners/single-exec/tcc-x86_64.skip9
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