aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/050.sh
blob: 7e05ec2472522ed43d7fae78e80d8af545160806 (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 -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