[PATCH sb/diff-orderfile-config] diff test: reading a directory as a file need not error out

2014-01-10 Thread Jonathan Nieder
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 jrnie...@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=gitarch=kfreebsd-amd64ver=1%3A2.0~next.20140107-1stamp=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

--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH sb/diff-orderfile-config] diff test: reading a directory as a file need not error out

2014-01-10 Thread Junio C Hamano
Jonathan Nieder jrnie...@gmail.com writes:

 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 jrnie...@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?

Sounds sensible. Thanks.



 Thanks,
 Jonathan

 [1] 
 https://buildd.debian.org/status/fetch.php?pkg=gitarch=kfreebsd-amd64ver=1%3A2.0~next.20140107-1stamp=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) '
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html