From b674653fa2d911b65a14062498a006e47f2a80ba Mon Sep 17 00:00:00 2001 From: nsfisis Date: Thu, 8 Jan 2026 02:06:19 +0900 Subject: feat: support -D flag --- tests/define_option.sh | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 tests/define_option.sh (limited to 'tests/define_option.sh') 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 -- cgit v1.2.3-70-g09d2