diff options
Diffstat (limited to 't/t7810-grep.sh')
| -rwxr-xr-x | t/t7810-grep.sh | 48 |
1 files changed, 45 insertions, 3 deletions
diff --git a/t/t7810-grep.sh b/t/t7810-grep.sh index 8eded6ab27..875dcfd98f 100755 --- a/t/t7810-grep.sh +++ b/t/t7810-grep.sh @@ -808,6 +808,19 @@ test_expect_success 'grep -f, ignore empty lines, read patterns from stdin' ' test_cmp expected actual ' +test_expect_success 'grep -f, use cwd relative file' ' + test_when_finished "git rm -f sub/dir/file" && + mkdir -p sub/dir && + echo hit >sub/dir/file && + git add sub/dir/file && + echo hit >sub/dir/pattern && + echo miss >pattern && + ( + cd sub/dir && git grep -f pattern file + ) && + git -C sub/dir grep -f pattern file +' + cat >expected <<EOF y:y yy -- @@ -1001,7 +1014,9 @@ test_expect_success 'log --committer does not search in timestamp' ' test_expect_success 'grep with CE_VALID file' ' git update-index --assume-unchanged t/t && rm t/t && - test "$(git grep test)" = "t/t:test" && + echo "t/t:test" >expect && + git grep test >actual && + test_cmp expect actual && git update-index --no-assume-unchanged t/t && git checkout t/t ' @@ -1232,6 +1247,33 @@ test_expect_success 'outside of git repository with fallbackToNoIndex' ' ) ' +test_expect_success 'no repository with path outside $cwd' ' + test_when_finished rm -fr non && + rm -fr non && + mkdir -p non/git/sub non/tig && + ( + GIT_CEILING_DIRECTORIES="$(pwd)/non" && + export GIT_CEILING_DIRECTORIES && + cd non/git && + test_expect_code 128 git grep --no-index search .. 2>error && + grep "is outside the directory tree" error + ) && + ( + GIT_CEILING_DIRECTORIES="$(pwd)/non" && + export GIT_CEILING_DIRECTORIES && + cd non/git && + test_expect_code 128 git grep --no-index search ../tig 2>error && + grep "is outside the directory tree" error + ) && + ( + GIT_CEILING_DIRECTORIES="$(pwd)/non" && + export GIT_CEILING_DIRECTORIES && + cd non/git && + test_expect_code 128 git grep --no-index search ../non 2>error && + grep "no such path in the working tree" error + ) +' + test_expect_success 'inside git repository but with --no-index' ' rm -fr is && mkdir -p is/git/sub && @@ -1384,7 +1426,7 @@ test_expect_success 'grep --no-index pattern -- path' ' test_expect_success 'grep --no-index complains of revs' ' test_must_fail git grep --no-index o main -- 2>err && - test_i18ngrep "cannot be used with revs" err + test_grep "cannot be used with revs" err ' test_expect_success 'grep --no-index prefers paths to revs' ' @@ -1397,7 +1439,7 @@ test_expect_success 'grep --no-index prefers paths to revs' ' test_expect_success 'grep --no-index does not "diagnose" revs' ' test_must_fail git grep --no-index o :1:hello.c 2>err && - test_i18ngrep ! -i "did you mean" err + test_grep ! -i "did you mean" err ' cat >expected <<EOF |
