Skip to content

Commit

Permalink
git-grep: Fix problems with recently added tests
Browse files Browse the repository at this point in the history
Brian Gernhardt reported that test 'git grep -E -F -G a\\+b' fails on
OS X 10.6.7. This is because I assumed \+ is part of BRE, which isn't
true on all platforms.

The easiest way to make this test pass is to just update expected
output, but that would make the test pointless. Its real purpose is to
check whether 'git grep -E -F -G' is different from 'git grep -E -G -F'.
To check that, let's change pattern to "a+b*c". This should return
different match for -G, -F and -E.

I also made two small tweaks to the tests. First, I added path "ab" to
all calls to future-proof tests. Second, I updated last two tests to
better show that 'git grep -P -E' is different from 'git grep -E -P'.

Signed-off-by: Michał Kiedrowicz <michal.kiedrowicz@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Michał Kiedrowicz authored and Junio C Hamano committed May 30, 2011
1 parent f556e4a commit d0042ab
Showing 1 changed file with 26 additions and 32 deletions.
58 changes: 26 additions & 32 deletions t/t7810-grep.sh
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,9 @@ test_expect_success setup '
echo HeLLo_world
} >hello_world &&
{
echo aab
echo a+b
echo a\\+b
echo "a+b*c"
echo "a+bc"
echo "abc"
} >ab &&
echo vvv >v &&
echo ww w >w &&
Expand Down Expand Up @@ -233,14 +233,14 @@ do
test_cmp expected actual
'
test_expect_success "grep $L with grep.extendedRegexp=false" '
echo "ab:a+b" >expected &&
git -c grep.extendedRegexp=false grep "a+b" >actual &&
echo "ab:a+bc" >expected &&
git -c grep.extendedRegexp=false grep "a+b*c" ab >actual &&
test_cmp expected actual
'

test_expect_success "grep $L with grep.extendedRegexp=true" '
echo "ab:aab" >expected &&
git -c grep.extendedRegexp=true grep "a+b" >actual &&
echo "ab:abc" >expected &&
git -c grep.extendedRegexp=true grep "a+b*c" ab >actual &&
test_cmp expected actual
'
done
Expand Down Expand Up @@ -636,7 +636,7 @@ test_expect_success LIBPCRE 'grep -P pattern' '
'

test_expect_success 'grep pattern with grep.extendedRegexp=true' '
:>empty &&
>empty &&
test_must_fail git -c grep.extendedregexp=true \
grep "\p{Ps}.*?\p{Pe}" hello.c >actual &&
test_cmp empty actual
Expand All @@ -650,10 +650,10 @@ test_expect_success LIBPCRE 'grep -P pattern with grep.extendedRegexp=true' '

test_expect_success LIBPCRE 'grep -P -v pattern' '
{
echo ab:a+b
echo ab:a\\+b
echo "ab:a+b*c"
echo "ab:a+bc"
} >expected &&
git grep -P -v "aab" ab >actual &&
git grep -P -v "abc" ab >actual &&
test_cmp expected actual
'

Expand Down Expand Up @@ -686,39 +686,33 @@ test_expect_success LIBPCRE 'grep -P invalidpattern properly dies ' '
test_must_fail git grep -P "a["
'

test_expect_success 'grep -F -E -G pattern' '
echo ab:a+b >expected &&
git grep -F -E -G a+b >actual &&
test_cmp expected actual
'

test_expect_success 'grep -F -G -E pattern' '
echo ab:aab >expected &&
git grep -F -G -E a+b >actual &&
test_expect_success 'grep -G -E -F pattern' '
echo "ab:a+b*c" >expected &&
git grep -G -E -F "a+b*c" ab >actual &&
test_cmp expected actual
'

test_expect_success 'grep -E -F -G pattern' '
echo ab:aab >expected &&
git grep -E -F -G a\\+b >actual &&
echo "ab:a+bc" >expected &&
git grep -E -F -G "a+b*c" ab >actual &&
test_cmp expected actual
'

test_expect_success 'grep -E -G -F pattern' '
echo ab:a\\+b >expected &&
git grep -E -G -F a\\+b >actual &&
test_expect_success 'grep -F -G -E pattern' '
echo "ab:abc" >expected &&
git grep -F -G -E "a+b*c" ab >actual &&
test_cmp expected actual
'

test_expect_success 'grep -G -F -E pattern' '
echo ab:a+b >expected &&
git grep -G -F -E a\\+b >actual &&
test_cmp expected actual
test_expect_success 'grep -G -F -P -E pattern' '
>empty &&
test_must_fail git grep -G -F -P -E "a\x{2b}b\x{2a}c" ab >actual &&
test_cmp empty actual
'

test_expect_success LIBPCRE 'grep -E -G -F -P pattern' '
echo ab:a+b >expected &&
git grep -E -G -F -P a\\+b >actual &&
test_expect_success LIBPCRE 'grep -G -F -E -P pattern' '
echo "ab:a+b*c" >expected &&
git grep -G -F -E -P "a\x{2b}b\x{2a}c" ab >actual &&
test_cmp expected actual
'

Expand Down

0 comments on commit d0042ab

Please sign in to comment.