aboutsummaryrefslogtreecommitdiff
path: root/t
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-10-16 23:47:58 -0700
committerJunio C Hamano <gitster@pobox.com>2009-10-16 23:47:58 -0700
commit050dfc4535578c2c49832ffeb3f05dbd4c6adff2 (patch)
tree216b983a3c019f5a8a3721550afcb271d2185dbb /t
parentb3118bdc91876cbc04b7e81dcf7bea71d86ce4f8 (diff)
parentcfe370c6476392095bc3f18013d195b1cccd6184 (diff)
downloadgit-050dfc4535578c2c49832ffeb3f05dbd4c6adff2.tar.gz
git-050dfc4535578c2c49832ffeb3f05dbd4c6adff2.tar.xz
Merge branch 'maint-1.6.4' into maint
* maint-1.6.4: grep: do not segfault when -f is used
Diffstat (limited to 't')
-rwxr-xr-xt/t7002-grep.sh66
1 files changed, 66 insertions, 0 deletions
diff --git a/t/t7002-grep.sh b/t/t7002-grep.sh
index ae56a36ea..ae5290ab4 100755
--- a/t/t7002-grep.sh
+++ b/t/t7002-grep.sh
@@ -213,6 +213,72 @@ test_expect_success 'grep -e A --and --not -e B' '
test_cmp expected actual
'
+test_expect_success 'grep -f, non-existent file' '
+ test_must_fail git grep -f patterns
+'
+
+cat >expected <<EOF
+file:foo mmap bar
+file:foo_mmap bar
+file:foo_mmap bar mmap
+file:foo mmap bar_mmap
+file:foo_mmap bar mmap baz
+EOF
+
+cat >pattern <<EOF
+mmap
+EOF
+
+test_expect_success 'grep -f, one pattern' '
+ git grep -f pattern >actual &&
+ test_cmp expected actual
+'
+
+cat >expected <<EOF
+file:foo mmap bar
+file:foo_mmap bar
+file:foo_mmap bar mmap
+file:foo mmap bar_mmap
+file:foo_mmap bar mmap baz
+t/a/v:vvv
+t/v:vvv
+v:vvv
+EOF
+
+cat >patterns <<EOF
+mmap
+vvv
+EOF
+
+test_expect_success 'grep -f, multiple patterns' '
+ git grep -f patterns >actual &&
+ test_cmp expected actual
+'
+
+cat >expected <<EOF
+file:foo mmap bar
+file:foo_mmap bar
+file:foo_mmap bar mmap
+file:foo mmap bar_mmap
+file:foo_mmap bar mmap baz
+t/a/v:vvv
+t/v:vvv
+v:vvv
+EOF
+
+cat >patterns <<EOF
+
+mmap
+
+vvv
+
+EOF
+
+test_expect_success 'grep -f, ignore empty lines' '
+ git grep -f patterns >actual &&
+ test_cmp expected actual
+'
+
cat >expected <<EOF
y:y yy
--