Thread (4 messages) flat view 4 messages, 3 authors, 2016-06-15

Re: [PATCH 1/2] t7002: set test prerequisite "external-grep" if supported

From: Johannes Sixt <hidden>
Date: 2016-06-15 22:47:58

Nguyen Thai Ngoc Duy schrieb:
On 1/7/10, Junio C Hamano [off-list ref] wrote:
quoted
 So by writing the test to check the desired outcome, instead of writing it
 for the particular implementation of using external grep optimization, you
 will catch both kinds of breakages.

 Perhaps something like this (untested, of course)?

 test_expect_success 'strings in work tree files are not found for skip-wt paths' '
        no="no such string in the index" &&
        test_must_fail git grep -e "$no" --cached file &&
        git update-index --skip-worktree file &&
        echo "$no" >file &&
        test_must_fail git grep -e "$no" file &&
        git update-index --no-skip-worktree file &&
        git grep -e "$no" file
 '
Very well reasoned. I'd say go for it!

Tested-by: me
The test is not quite complete. Not only do you want to test that the
worktree file is not looked at, but that the index version is used:


test_expect_success 'for skip-wt paths, strings are found in index, not in
worktree' '
	yes="this string is in the index" &&
	no="no such string in the index" &&
	echo "$yes" >file &&
	git update-index file &&
	echo "$no" >file &&
	git grep -e "$yes" --cached file &&
	test_must_fail git grep -e "$no" --cached file &&
	git update-index --skip-worktree file &&
	git grep -e "$yes" file &&
	test_must_fail git grep -e "$no" file &&
	git update-index --no-skip-worktree file &&
	test_must_fail git grep -e "$yes" file &&
	git grep -e "$no" file
'

Just as untested... ;)

-- Hannes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help