Re: [PATCH] status: add a failing test showing a core.untrackedCache bug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 27 2017, Junio C. Hamano jotted:

> Ævar Arnfjörð Bjarmason  <avarab@xxxxxxxxx> writes:
>
>> +status_is_clean() {
>> +	>../status.expect &&
>> +	git status --porcelain >../status.actual &&
>> +	test_cmp ../status.expect ../status.actual
>> +}
>> +
>>  test_lazy_prereq UNTRACKED_CACHE '
>>  	{ git update-index --test-untracked-cache; ret=$?; } &&
>>  	test $ret -ne 1
>> @@ -683,4 +689,43 @@ test_expect_success 'untracked cache survives a commit' '
>>  	test_cmp ../before ../after
>>  '
>>
>> +test_expect_success 'teardown worktree' '
>> +    cd ..
>> +'
>
> Funny indentation.

Thanks. I'll submit a new series with all 3 patches with the issues you
brought up mentioned...

>> +test_expect_success 'setup worktree for symlink test' '
>> +	git init worktree-symlink &&
>> +	cd worktree-symlink &&
>> +	git config core.untrackedCache true &&
>> +	mkdir one two &&
>> +	touch one/file two/file &&
>> +	git add one/file two/file &&
>> +	git commit -m"first commit" &&
>> +	git rm -rf one &&
>> +	ln -s two one &&
>> +	git add one &&
>> +	git commit -m"second commit"
>> +'
>
> This needs SYMLINKS prereq, which in turn means it cannot be tested
> on certain platforms.  I thought Duy's answer was that this does not
> need to involve a symbolic link at all?  If so, perhaps we can have
> another test that does not need symlink?

... as soon as I figure out how to add such a non-symlink test as well
(seems sensible to test both), but I can't bring it to fail without
symlinks, I just adjusted my test script to do this instead:

    (
        rm -rf /tmp/testrepo &&
        git init /tmp/testrepo &&
        cd /tmp/testrepo &&
        mkdir x y &&
        touch x/a y/b &&
        git add x/a y/b &&
        git commit -msnap &&
        git rm -rf y &&
        mkdir y &&
        touch y/c &&
        git add y &&
        git commit -msnap2 &&
        git checkout HEAD~ &&
        git status &&
        git checkout master &&
        sleep 1 &&
        git status &&
        git status
    )

Duy, what am I missing here?



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux