diff options
Diffstat (limited to 'tests/define_option.sh')
| -rw-r--r-- | tests/define_option.sh | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/define_option.sh b/tests/define_option.sh new file mode 100644 index 0000000..69ae9c9 --- /dev/null +++ b/tests/define_option.sh @@ -0,0 +1,73 @@ +cat <<'EOF' > expected +42 +EOF +cat <<'EOF' > main.c +int printf(const char*, ...); + +int main() { +#ifdef FOO + printf("%d\n", 42); +#else + printf("%d\n", 0); +#endif +} +EOF +"$ducc" -DFOO -o a.out main.c +./a.out > output +diff -u expected output + +cat <<'EOF' > expected +100 +EOF +cat <<'EOF' > main.c +int printf(const char*, ...); + +int main() { + printf("%d\n", FOO); +} +EOF +"$ducc" -DFOO=100 -o a.out main.c +./a.out > output +diff -u expected output + +cat <<'EOF' > expected +10,5 +EOF +cat <<'EOF' > main.c +int printf(const char*, ...); + +int main() { + printf("%d,%d\n", A, B); +} +EOF +"$ducc" -DA=10 -DB=5 -o a.out main.c +./a.out > output +diff -u expected output + +cat <<'EOF' > expected +1 +EOF +cat <<'EOF' > main.c +int printf(const char*, ...); + +int main() { + printf("%d\n", FEATURE); +} +EOF +"$ducc" -DFEATURE -o a.out main.c +./a.out > output +diff -u expected output + +cat <<'EOF' > expected +1,2 +EOF +cat <<'EOF' > main.c +int printf(const char*, ...); + +int main() { + printf("%d,%d\n", A, B); +} +EOF +"$ducc" -D A -D B=2 -o a.out main.c +./a.out > output +diff -u expected output |
