1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
# 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.
. $srcdir/test-lib.sh
require cat
use_local_patch
use_tmpdir
# ==============================================================
# Regression test for an off-by-one error:
#
# Date: Sun, 26 Aug 2007 13:50:45 +0200
# From: Jim Meyering <jim@meyering.net>
#
# The problem arises when the input is a context diff and the second
# byte on a line of context is not a space or tab.
# Patch then happily gobbles/ignores that bogus byte and outputs
# the rest of the line with an additional (NUL) byte at the end.
seq 1 7 > a
cat > ab.diff <<EOF
*** a
--- b
***************
*** 1,7 ****
1
2
3
- X
5
6
7 yyy
--- 1,6 ----
EOF
check 'patch a < ab.diff || echo "Status: $?"' <<EOF
patching file a
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file a.rej
Status: 1
EOF
check 'cat -ve a.rej' <<EOF
*** a$
--- b$
***************$
*** 1,7 ****$
1$
2$
3$
- X$
5$
6$
7 yyy$
--- 1,6 ----$
1$
2$
3$
5$
6$
7 yyy$
EOF
|