patch/tests/remember-backup-files
Quentin Casasnovas c80b1a06a9 test-lib.sh: factorize require_* functions
Since the code is identical when just checking if a utility is present on
the system or not, we can factorize it.

Signed-off-by: Quentin Casasnovas <quentin.casasnovas@oracle.com>
2015-01-31 22:14:01 +01:00

113 lines
1.6 KiB
Plaintext

# Copyright (C) 2009, 2011-2012 Free Software Foundation, Inc.
#
# Copying and distribution of this file, with or without modification,
# in any medium, are permitted without royalty provided the copyright
# notice and this notice are preserved.
# Patch must not overwrite backup files it has created itself.
# (Backup file tests for symlinks are in tests/symlinks.)
. $srcdir/test-lib.sh
require cat
use_local_patch
use_tmpdir
# ==============================================================
echo one > f
cat > f.diff <<EOF
--- f.orig
+++ f
@@ -2 +2 @@
-one
+two
--- f.orig
+++ f
@@ -2 +2 @@
-two
+three
--- f.orig
+++ f
@@ -2 +2 @@
-three
+four
EOF
check 'patch -p0 < f.diff' <<EOF
patching file f
Hunk #1 succeeded at 1 (offset -1 lines).
patching file f
Hunk #1 succeeded at 1 (offset -1 lines).
patching file f
Hunk #1 succeeded at 1 (offset -1 lines).
EOF
check 'cat f.orig' <<EOF
one
EOF
# ==============================================================
# Hardlinks between source files
echo one > f
ln f g
cat > fg.diff <<EOF
--- f.orig
+++ f
@@ -2 +2 @@
-one
+two
--- g.orig
+++ g
@@ -2 +2 @@
-one
+two
EOF
check 'patch -p0 < fg.diff' <<EOF
patching file f
Hunk #1 succeeded at 1 (offset -1 lines).
patching file g
Hunk #1 succeeded at 1 (offset -1 lines).
EOF
check 'cat f.orig' <<EOF
one
EOF
check 'cat g.orig' <<EOF
one
EOF
# ==============================================================
echo one > f
cat > f.diff <<EOF
--- f
+++ /dev/null
@@ -1 +0,0 @@
-one
--- /dev/null
+++ f
@@ -0,0 +1 @@
+two
EOF
check 'patch --backup -p0 < f.diff' <<EOF
patching file f
patching file f
EOF
check 'cat f.orig' <<EOF
one
EOF
check 'cat f' <<EOF
two
EOF