28 lines
585 B
Bash
Executable File
28 lines
585 B
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
make clean
|
|
make
|
|
output=$(./peppermint smoke.ppm argument)
|
|
expected='hello peppermint
|
|
argument'
|
|
if [ "$output" != "$expected" ]; then
|
|
printf '%s\n' "unexpected smoke output:" "$output" >&2
|
|
exit 1
|
|
fi
|
|
|
|
cat > /tmp/peppermint-c89-test.ppm <<'EOF'
|
|
let a := 7
|
|
let b := a * 3
|
|
b + 2
|
|
@env:PEPPERMINT_TEST_MISSING
|
|
EOF
|
|
output=$(PEPPERMINT_TEST_MISSING= ./peppermint /tmp/peppermint-c89-test.ppm)
|
|
expected='23
|
|
None'
|
|
if [ "$output" != "$expected" ]; then
|
|
printf '%s\n' "unexpected arithmetic output:" "$output" >&2
|
|
exit 1
|
|
fi
|
|
printf '%s\n' 'C89 smoke tests passed'
|