зеркало из https://github.com/microsoft/git.git
config.mak.uname: set FREAD_READS_DIRECTORIES for Linux and FreeBSD
This variable is added [1] with the assumption that on a sane system,
fopen(<dir>, "r") should return NULL. Linux and FreeBSD do not meet this
expectation while at least Windows and AIX do. Let's make sure they
behave the same way.
I only tested one version on Linux (4.7.0 with glibc 2.22) and
FreeBSD (11.0) but since GNU/kFreeBSD is fbsd kernel with gnu userspace,
I'm pretty sure it shares the same problem.
[1] cba22528fa
(Add compat/fopen.c which returns NULL on attempt to open
directory - 2008-02-08)
Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
02912f4775
Коммит
e2d90fd1c3
|
@ -36,6 +36,7 @@ ifeq ($(uname_S),Linux)
|
||||||
NEEDS_LIBRT = YesPlease
|
NEEDS_LIBRT = YesPlease
|
||||||
HAVE_GETDELIM = YesPlease
|
HAVE_GETDELIM = YesPlease
|
||||||
SANE_TEXT_GREP=-a
|
SANE_TEXT_GREP=-a
|
||||||
|
FREAD_READS_DIRECTORIES = UnfortunatelyYes
|
||||||
endif
|
endif
|
||||||
ifeq ($(uname_S),GNU/kFreeBSD)
|
ifeq ($(uname_S),GNU/kFreeBSD)
|
||||||
HAVE_ALLOCA_H = YesPlease
|
HAVE_ALLOCA_H = YesPlease
|
||||||
|
@ -43,6 +44,7 @@ ifeq ($(uname_S),GNU/kFreeBSD)
|
||||||
HAVE_PATHS_H = YesPlease
|
HAVE_PATHS_H = YesPlease
|
||||||
DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
|
DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease
|
||||||
LIBC_CONTAINS_LIBINTL = YesPlease
|
LIBC_CONTAINS_LIBINTL = YesPlease
|
||||||
|
FREAD_READS_DIRECTORIES = UnfortunatelyYes
|
||||||
endif
|
endif
|
||||||
ifeq ($(uname_S),UnixWare)
|
ifeq ($(uname_S),UnixWare)
|
||||||
CC = cc
|
CC = cc
|
||||||
|
@ -201,6 +203,7 @@ ifeq ($(uname_S),FreeBSD)
|
||||||
GMTIME_UNRELIABLE_ERRORS = UnfortunatelyYes
|
GMTIME_UNRELIABLE_ERRORS = UnfortunatelyYes
|
||||||
HAVE_BSD_SYSCTL = YesPlease
|
HAVE_BSD_SYSCTL = YesPlease
|
||||||
PAGER_ENV = LESS=FRX LV=-c MORE=FRX
|
PAGER_ENV = LESS=FRX LV=-c MORE=FRX
|
||||||
|
FREAD_READS_DIRECTORIES = UnfortunatelyYes
|
||||||
endif
|
endif
|
||||||
ifeq ($(uname_S),OpenBSD)
|
ifeq ($(uname_S),OpenBSD)
|
||||||
NO_STRCASESTR = YesPlease
|
NO_STRCASESTR = YesPlease
|
||||||
|
|
|
@ -183,6 +183,14 @@ test_expect_success 'proper error on non-existent files' '
|
||||||
test_cmp expect actual
|
test_cmp expect actual
|
||||||
'
|
'
|
||||||
|
|
||||||
|
test_expect_success 'proper error on directory "files"' '
|
||||||
|
echo "Error (-1) reading configuration file a-directory." >expect &&
|
||||||
|
mkdir a-directory &&
|
||||||
|
test_expect_code 2 test-config configset_get_value foo.bar a-directory 2>output &&
|
||||||
|
grep "^Error" output >actual &&
|
||||||
|
test_cmp expect actual
|
||||||
|
'
|
||||||
|
|
||||||
test_expect_success POSIXPERM,SANITY 'proper error on non-accessible files' '
|
test_expect_success POSIXPERM,SANITY 'proper error on non-accessible files' '
|
||||||
chmod -r .git/config &&
|
chmod -r .git/config &&
|
||||||
test_when_finished "chmod +r .git/config" &&
|
test_when_finished "chmod +r .git/config" &&
|
||||||
|
|
Загрузка…
Ссылка в новой задаче