Re: [PATCH 3/4 v6] cache-tree: subdirectory tests
- From
David Turner <dturner@twopensource.com>
- Date
- Jul 11, 2014, 22:46 UTC
- Message-ID
- <1405118796.3775.27.camel@stross>
- In-Reply-To
- <xmqqbnsv6hmc.fsf@gitster.dls.corp.google.com>
On Fri, 2014-07-11 at 08:27 -0700, Junio C Hamano wrote:
Show 27 quoted lines
> Eric Sunshine <sunshine@sunshineco.com> writes:
>
> > On Thu, Jul 10, 2014 at 8:31 PM, David Turner <dturner@twopensource.com> wrote:
> >> Add tests to confirm that invalidation of subdirectories neither over-
> >> nor under-invalidates.
> >>
> >> Signed-off-by: David Turner <dturner@twitter.com>
> >> ---
> >> t/t0090-cache-tree.sh | 26 +++++++++++++++++++++++---
> >> 1 file changed, 23 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/t/t0090-cache-tree.sh b/t/t0090-cache-tree.sh
> >> index 98fb1ab..3a3342e 100755
> >> --- a/t/t0090-cache-tree.sh
> >> +++ b/t/t0090-cache-tree.sh
> >> @@ -22,9 +22,10 @@ test_shallow_cache_tree () {
> >> }
> >>
> >> test_invalid_cache_tree () {
> >> - echo "invalid (0 subtrees)" >expect &&
> >> - printf "SHA #(ref) (%d entries, 0 subtrees)\n" $(git ls-files|wc -l) >>expect &&
> >> - cmp_cache_tree expect
> >> + printf "invalid %s ()\n" "" "$@" >expect &&
>
> Hmm. This will always expect that the top-level is invalid, even
> when $# is 0. It is OK if you never need to use this to test that a
> cache-tree is fully valid, but is it something we want to check?We have test_cache_tree to check that it's fully valid.
Show 6 quoted lines
> Existing tests are mostly about "cache-tree is populated fully at a > few strategic, well known and easy places and then it degrades over > time", but after all your series is adding more places to that set > of "a few places", so we may want to make sure that future breakages > to the new code paths that "repair" the cache-tree are caught by > these tests.
This patchset un-failed "initial commit has cache-tree", and added "commit in child dir has cache-tree" and "partial commit gives cache-tree". I've just added a test for interactive commit; when you take a look at the next patchset, you can let me know if this seems sufficient to you.