diff options
Diffstat (limited to 'tests/test_conditional_errors.sh')
| -rw-r--r-- | tests/test_conditional_errors.sh | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/tests/test_conditional_errors.sh b/tests/test_conditional_errors.sh new file mode 100644 index 0000000..5a33e8c --- /dev/null +++ b/tests/test_conditional_errors.sh @@ -0,0 +1,74 @@ +cat <<'EOF' > expected +main.c:2: expected '#endif', but got '<eof>' +EOF +test_compile_error <<'EOF' +#if 0 +EOF + +cat <<'EOF' > expected +main.c:3: expected '#endif', but got '<eof>' +EOF +test_compile_error <<'EOF' +#if 1 +#else +EOF + +cat <<'EOF' > expected +main.c:3: expected '#endif', but got '<eof>' +EOF +test_compile_error <<'EOF' +#if 1 +#elif 1 +EOF + +cat <<'EOF' > expected +main.c:1: unexpected '#elif'; no corresponding '#if'* +EOF +test_compile_error <<'EOF' +#elif +#endif + +int main() {} +EOF + +cat <<'EOF' > expected +main.c:1: unexpected '#endif'; no corresponding '#if'* +EOF +test_compile_error <<'EOF' +#endif + +int main() {} +EOF + +cat <<'EOF' > expected +main.c:1: unexpected '#else'; no corresponding '#if'* +EOF +test_compile_error <<'EOF' +#else +#endif + +int main() {} +EOF + +cat <<'EOF' > expected +main.c:4: expected '#endif', but got '<eof>' +EOF +test_compile_error <<'EOF' +#if 1 + +int main() {} +EOF + +cat <<'EOF' > a.h +#if 1 +EOF +cat <<'EOF' > expected +./a.h:2: expected '#endif', but got '<eof>' +EOF +test_compile_error <<'EOF' +#include "a.h" +#endif + +int main() {} +EOF + |
