summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2023-02-10 15:33:40 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2023-02-10 15:44:38 -0800
commitba08fbbb0ca5da455bf695236c57bc50e7faed50 (patch)
tree7234a5fd613a1b57912577c352c4867f5b49f39f /tests
parent7e7ef707d6d32c755bbc7193151d87539c41978a (diff)
downloaddiffutils-ba08fbbb0ca5da455bf695236c57bc50e7faed50.tar.gz
diff: fix bug where -D does not work
Problem reported by Robert Webb (bug#61193). * NEWS: Mention this. * src/diff.c (main): Omit stray ‘sizeof’. * tests/ifdef: New test. * tests/Makefile.am (TESTS): Add it.
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am1
-rwxr-xr-xtests/ifdef37
2 files changed, 38 insertions, 0 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d98df82..624192d 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -10,6 +10,7 @@ TESTS = \
diff3 \
excess-slash \
help-version \
+ ifdef \
invalid-re \
function-line-vs-leading-space \
ignore-matching-lines \
diff --git a/tests/ifdef b/tests/ifdef
new file mode 100755
index 0000000..d3b05dd
--- /dev/null
+++ b/tests/ifdef
@@ -0,0 +1,37 @@
+#!/bin/sh
+# --ifdef
+
+# Bug reported by Robert Webb in <http://bugs.gnu.org/61193>.
+
+. "${srcdir=.}/init.sh"; path_prepend_ ../src
+
+fail=0
+
+cat <<'EOF' >a
+1
+2
+3
+4
+5
+EOF
+
+cat <<'EOF' >b
+1
+4
+5
+EOF
+
+cat <<'EOF' >exp
+1
+#ifndef ZZZ
+2
+3
+#endif /* ! ZZZ */
+4
+5
+EOF
+
+returns_ 1 diff -D ZZZ a b >out 2>err || fail=1
+compare exp out || fail=1
+
+Exit $fail