[PATCH sb/diff-orderfile-config] diff test: reading a directory as a file need not error out
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Jan 10, 2014, 20:10 UTC
- Message-ID
- <20140110201031.GI4776@google.com>
- In-Reply-To
- <1387411692-15562-3-git-send-email-naesten@gmail.com>
There is no guarantee that strbuf_read_file must error out for directories. On some operating systems (e.g., Debian GNU/kFreeBSD wheezy), reading a directory gives its raw content:
$ head -c5 < / | cat -A ^AM-|^_^@^L$
As a result, 'git diff -O/' succeeds instead of erroring out on these systems, causing t4056.5 "orderfile is a directory" to fail.
On some weird OS it might even make sense to pass a directory to the -O option and this is not a common user mistake that needs catching. Remove the test.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> --- Hi,
t4056 is failing on systems using glibc with the kernel of FreeBSD[1]:
| expecting success: | test_must_fail git diff -O/ --name-only HEAD^..HEAD | | a.h | b.c | c/Makefile | d.txt | test_must_fail: command succeeded: git diff -O/ --name-only HEAD^..HEAD | not ok 5 - orderfile is a directory
How about this patch?
Thanks, Jonathan
[1] https://buildd.debian.org/status/fetch.php?pkg=git&arch=kfreebsd-amd64&ver=1%3A2.0~next.20140107-1&stamp=1389379274
t/t4056-diff-order.sh | 4 ---- 1 file changed, 4 deletions(-)
diff --git a/t/t4056-diff-order.sh b/t/t4056-diff-order.sh index 1ddd226..9e2b29e 100755 --- a/t/t4056-diff-order.sh +++ b/t/t4056-diff-order.sh @@ -68,10 +68,6 @@ test_expect_success POSIXPERM,SANITY 'unreadable orderfile' ' test_must_fail git diff -Ounreadable_file --name-only HEAD^..HEAD ' -test_expect_success 'orderfile is a directory' ' - test_must_fail git diff -O/ --name-only HEAD^..HEAD -' - for i in 1 2 do test_expect_success "orderfile using option ($i)" '
-- 1.8.5.1