patch/tests/no-backup
Paul Eggert b5d2124e2e patch: fix --no-backup-if-mismatch regression
Problem reported by Sam James in:
https://lists.gnu.org/archive/html/bug-patch/2025-02/msg00014.html
https://bugs.gentoo.org/show_bug.cgi?id=949834
* src/patch.c (backup_if_mismatch_specified): New static var.
(get_some_switches): Set it.
(main): Default backup_if_mismatch only if not set on command line.
* tests/no-backup: New file.
* tests/Makefile.am (TESTS): Add it.
2025-02-24 23:29:59 -08:00

57 lines
970 B
Plaintext

# Copyright 2025 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.
# Test the --no-backup-if-mismatch option
. $srcdir/test-lib.sh
require cat
use_local_patch
use_tmpdir
# ==============================================================
cat >my_file <<'EOF'
/* ... */
void baz();
void baz() {
/* ... */
}
int main() {
int foo;
int bar;
/* ... */
baz();
}
EOF
cat >my_file.patch <<'EOF'
--- my_file 2025-02-16 11:22:12.881765792 +0000
+++ my_file_new 2025-02-16 11:22:12.881796732 +0000
@@ -2,7 +2,7 @@
void baz();
void baz() {
- /* ... */
+ // ...
}
int main() {
EOF
unset POSIXLY_CORRECT
check 'patch -N --no-backup-if-mismatch <my_file.patch || echo "Status: $?"' <<'EOF'
patching file my_file
Hunk #1 succeeded at 3 with fuzz 1 (offset 1 line).
EOF
ncheck 'test ! -f my_file.orig'