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:
Nguyễn Thái Ngọc Duy 2016-06-25 07:22:28 +02:00 committed by Junio C Hamano
parent 60452a30f5
commit 949782d860
2 changed files with 11 additions and 3 deletions

View file

@ -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' '
# if this test fails, re-build git with NO_REGEX=1
test-regex
test-regex --bug
'
test_done

View file

@ -1,6 +1,6 @@
#include "git-compat-util.h"
int main(int argc, char **argv)
static int test_regex_bug(void)
{
char *pat = "[^={} \t]+";
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 */
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");
}