test-regex: isolate the bug test code
This is in preparation to turn test-regex into some generic regex testing command. Helped-by: Eric Sunshine <sunshine@sunshineco.com> Helped-by: Ramsay Jones <ramsay@ramsayjones.plus.com> 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:
parent
60452a30f5
commit
949782d860
@ -31,7 +31,7 @@ test_expect_success 'git_mkstemps_mode does not fail if fd 0 is not open' '
|
|||||||
|
|
||||||
test_expect_success 'check for a bug in the regex routines' '
|
test_expect_success 'check for a bug in the regex routines' '
|
||||||
# if this test fails, re-build git with NO_REGEX=1
|
# if this test fails, re-build git with NO_REGEX=1
|
||||||
test-regex
|
test-regex --bug
|
||||||
'
|
'
|
||||||
|
|
||||||
test_done
|
test_done
|
||||||
|
12
test-regex.c
12
test-regex.c
@ -1,6 +1,6 @@
|
|||||||
#include "git-compat-util.h"
|
#include "git-compat-util.h"
|
||||||
|
|
||||||
int main(int argc, char **argv)
|
static int test_regex_bug(void)
|
||||||
{
|
{
|
||||||
char *pat = "[^={} \t]+";
|
char *pat = "[^={} \t]+";
|
||||||
char *str = "={}\nfred";
|
char *str = "={}\nfred";
|
||||||
@ -16,5 +16,13 @@ int main(int argc, char **argv)
|
|||||||
if (m[0].rm_so == 3) /* matches '\n' when it should not */
|
if (m[0].rm_so == 3) /* matches '\n' when it should not */
|
||||||
die("regex bug confirmed: re-build git with NO_REGEX=1");
|
die("regex bug confirmed: re-build git with NO_REGEX=1");
|
||||||
|
|
||||||
exit(0);
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv)
|
||||||
|
{
|
||||||
|
if (argc == 2 && !strcmp(argv[1], "--bug"))
|
||||||
|
return test_regex_bug();
|
||||||
|
else
|
||||||
|
usage("test-regex --bug");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user