Skip to content

Commit 064eed3

Browse files
ramsay-jonesgitster
authored andcommitted
config.mak.uname: only set NO_REGEX on cygwin for v1.7
Commit 92f63d2 ("Cygwin 1.7 needs compat/regex", 2013-07-19) set the NO_REGEX build variable because the platform regex library failed some of the tests (t4018 and t4034), which passed just fine with the compat library. After some time (maybe a year or two), the platform library had been updated (with an import from FreeBSD, I believe) and now passed the full test-suite. This would be about the time of the v1.7 -> v2.0 transition in 2015. I had a patch ready to send, but just didn't get around to submitting it to the list. At some point in the interim, the official cygwin git package used the autoconf build system, which sets the NO_REGEX variable to use the platform regex library functions. The new meson build system does likewise. The cygwin platform regex library, in addition to now passing the tests which formerly failed, now passes an 'test_expect_failure' test in the t7815-grep-binary test file. In particular, test #12 'git grep .fi a' which determines that the regex pattern '.' matches a NUL character. The commit f96e567 ("grep: use REG_STARTEND for all matching if available", 2010-05-22) added the test in question, but it does not give any indication as to why the test was framed as an expected fail, rather than a 'positive' test that the 'git grep' command fails to match a NUL. Note that the previous test #11 was also originally marked in that commit as a 'test_expect_failure', but was flipped to an 'success' test in commit 7e36de5 ("t/t7008-grep-binary.sh: un-TODO a test that needs REG_STARTEND", 2010-08-17). In order to produce the same NO_REGEX configuration from autoconf, meson and make, modify config.mak.uname to only set NO_REGEX for cygwin v1.7. In addition, skip test t7815.12 on cygwin, by adding the !CYGWIN pre- requisite to the test header, which (among other things) removes an '...; please update test(s)' comment. Signed-off-by: Ramsay Jones <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 26a8b23 commit 064eed3

File tree

2 files changed

+4
-2
lines changed

2 files changed

+4
-2
lines changed

config.mak.uname

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,9 @@ ifeq ($(uname_O),Cygwin)
245245
# Try commenting this out if you suspect MMAP is more efficient
246246
NO_MMAP = YesPlease
247247
else
248-
NO_REGEX = UnfortunatelyYes
248+
ifeq ($(shell expr "$(uname_R)" : '1\.7\.'),4)
249+
NO_REGEX = UnfortunatelyYes
250+
endif
249251
endif
250252
HAVE_DEV_TTY = YesPlease
251253
HAVE_ALLOCA_H = YesPlease

t/t7815-grep-binary.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ test_expect_success 'git grep ile a' '
6363
git grep ile a
6464
'
6565

66-
test_expect_failure 'git grep .fi a' '
66+
test_expect_failure !CYGWIN 'git grep .fi a' '
6767
git grep .fi a
6868
'
6969

0 commit comments

Comments
 (0)