Blame tests/no-newline-at-eof

Packit 33f14e
#!/bin/sh
Packit 33f14e
# exercise the no-newline-at-EOF bug
Packit 33f14e
# Before the April 2010 fix, the "\ No newline at end of file"
Packit 33f14e
# line would not be printed.
Packit 33f14e
Packit 33f14e
. "${srcdir=.}/init.sh"; path_prepend_ ../src
Packit 33f14e
Packit 33f14e
printf '\n1'      > a || framework_failure_
Packit 33f14e
printf '\n0\n\n1' > b || framework_failure_
Packit 33f14e
cat <<EOF > exp || framework_failure_
Packit 33f14e
@@ -1,2 +1,4 @@
Packit 33f14e
Packit 33f14e
+0
Packit 33f14e
+
Packit 33f14e
 1
Packit 33f14e
\ No newline at end of file
Packit 33f14e
EOF
Packit 33f14e
Packit 33f14e
cat <<EOF > exp2 || framework_failure_
Packit 33f14e
@@ -1,2 +1,4 @@
Packit 33f14e
Packit 33f14e
-1
Packit 33f14e
+0
Packit 33f14e
+
Packit 33f14e
+1
Packit 33f14e
\ No newline at end of file
Packit 33f14e
EOF
Packit 33f14e
Packit 33f14e
fail=0
Packit 33f14e
Packit 33f14e
# So we don't have to record trailing blanks in expected output above.
Packit 33f14e
opt=--suppress-blank-empty
Packit 33f14e
Packit 33f14e
returns_ 1 diff $opt -U1 a b > out 2> err || fail=1
Packit 33f14e
Packit 33f14e
sed -n '/^@@/,$p' out > k && mv k out || fail=1
Packit 33f14e
compare exp out || fail=1
Packit 33f14e
# expect empty stderr
Packit 33f14e
compare /dev/null err || fail=1
Packit 33f14e
Packit 33f14e
# Repeat, but with a newline at the end of "a".
Packit 33f14e
echo >> a
Packit 33f14e
Packit 33f14e
returns_ 1 diff $opt -U1 a b > out 2> err || fail=1
Packit 33f14e
Packit 33f14e
sed -n '/^@@/,$p' out > k && mv k out || fail=1
Packit 33f14e
compare exp2 out || fail=1
Packit 33f14e
# expect empty stderr
Packit 33f14e
compare /dev/null err || fail=1
Packit 33f14e
Packit 33f14e
# Test for Bug#18402.
Packit 33f14e
printf a > a
Packit 33f14e
printf b > b
Packit 33f14e
returns_ 1 diff -B a b > out 2>err || fail=1
Packit 33f14e
Packit 33f14e
Exit $fail