some love for patch regress
authorop <op@openbsd.org>
Wed, 3 Aug 2022 07:35:04 +0000 (07:35 +0000)
committerop <op@openbsd.org>
Wed, 3 Aug 2022 07:35:04 +0000 (07:35 +0000)
* t3 doesn't was fixed anymore
* add a comment describing t19
* add t20 (reversal application of a diff that creates a one-line file)

ok stsp@

regress/usr.bin/patch/Makefile
regress/usr.bin/patch/t20.diff [new file with mode: 0644]
regress/usr.bin/patch/t20.in [new file with mode: 0644]
regress/usr.bin/patch/t20.out [new file with mode: 0644]

index 73781e3..45b228a 100644 (file)
@@ -1,15 +1,11 @@
-# $OpenBSD: Makefile,v 1.13 2017/07/06 21:33:45 bluhm Exp $
+# $OpenBSD: Makefile,v 1.14 2022/08/03 07:35:04 op Exp $
 
 PATCH?=                patch
 PATCHFLAGS=    -sN
 CLEANFILES=    *.copy *.orig *.rej t5 d19/*
 
 REGRESS_TARGETS=     t1  t2  t3  t4  t5  t6  t7  t8  t9 \
-               t10 t11 t12 t13 t14 t15 t16 t17 t18 t19
-
-t3:
-       @echo ${*} currently fails
-       @echo DISABLED
+               t10 t11 t12 t13 t14 t15 t16 t17 t18 t19 t20
 
 # .in: input file
 # .diff: patch
@@ -18,7 +14,7 @@ t3:
 # t1: diff contains invalid line number 0.
 # t2: diff contains invalid line numbers beyond end of input file.
 # t3: a case where patch should detect a previously applied patch.
-#     Diff transform an empty file into a single line one. Currently fails.
+#     Diff transform an empty file into a single line one.
 # t4: a case where patch has to detect a previously applied patch.
 #     Diff transform a file with a single line with an eol into a single
 #     line without eol.
@@ -31,6 +27,8 @@ t3:
 # t16: diff in ed format.
 # t17: diff in ed format that inserts a dot-line.
 # t18: diff in ed format that fully replaces input content.
+# t19: git-produced unified diff.
+# t20: reversal application of a patch to create a file with a single line.
 
 .SUFFIXES: .in
 
@@ -47,6 +45,7 @@ t3:
        @(! ${PATCH} ${PATCHFLAGS} ${*}.copy ${.CURDIR}/${*}.diff)
        @cmp -s ${*}.copy ${.CURDIR}/${*}.out || \
                (echo "XXX ${*} failed" && false)
+
 t4:
        @echo ${*}
        @cp ${.CURDIR}/${*}.in ${*}.copy
@@ -74,6 +73,13 @@ t19:
        @${PATCH} -t ${PATCHFLAGS} < ${.CURDIR}/t19.diff
        @cmp -s ${.CURDIR}/t19.out d19/file || (echo "XXX t19 failed" && false)
 
+t20:
+       @echo ${*}
+       @cp ${.CURDIR}/${*}.in ${*}.copy
+       @${PATCH} ${PATCHFLAGS} -Rf ${*}.copy ${.CURDIR}/${*}.diff
+       @cmp -s ${*}.copy ${.CURDIR}/${*}.out || \
+               (echo "XXX ${*} failed" && false)
+
 .PHONY: t5
 
 .include <bsd.regress.mk>
diff --git a/regress/usr.bin/patch/t20.diff b/regress/usr.bin/patch/t20.diff
new file mode 100644 (file)
index 0000000..e64ddc9
--- /dev/null
@@ -0,0 +1,4 @@
+--- full
++++ empty
+@@ -1 +0,0 @@
+-A
diff --git a/regress/usr.bin/patch/t20.in b/regress/usr.bin/patch/t20.in
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/regress/usr.bin/patch/t20.out b/regress/usr.bin/patch/t20.out
new file mode 100644 (file)
index 0000000..f70f10e
--- /dev/null
@@ -0,0 +1 @@
+A