Re: [PATCH sb/diff-orderfile-config] diff test: reading a directory as a file need not error out
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 31 quoted lines
> 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?
Show 23 quoted lines
> 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)" '