blob: 295ac2db2c3d9f6179fcf9f8c642c94190a24747 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
set -e
cat <<'EOF' > expected
hello, world
EOF
cat <<'EOF' > main.c
int printf();
int main() {
printf("hello, world\n");
return 0;
}
EOF
"$ducc" - < main.c > main.s
if [[ $? -ne 0 ]]; then
cat main.s >&2
exit 1
fi
gcc -Wl,-z,noexecstack -o a.out main.s
./a.out "$@" > output
exit_code=$?
if [[ $exit_code -ne 0 ]]; then
echo "invalid exit code: $exit_code" >&2
exit 1
fi
diff -u expected output
|