t9351: derive anonymized tree checks from original repo

Our tests of the anonymized repo just hard-code the expected set of
objects in the root and subdirectory trees. This makes them brittle to
the test setup changing (e.g., adding new paths that need tested).

Let's look at the original repo to compute our expected set of objects.
Note that this isn't completely perfect (e.g., we still rely on there
being only one tree in the root), but it does simplify later patches.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Jeff King 2020-06-23 11:24:47 -04:00 committed by Junio C Hamano
parent c9c318d6bf
commit b8c0689bb9

View File

@ -71,22 +71,18 @@ test_expect_success 'repo has original shape and timestamps' '
test_expect_success 'root tree has original shape' ' test_expect_success 'root tree has original shape' '
# the output entries are not necessarily in the same # the output entries are not necessarily in the same
# order, but we know at least that we will have one tree # order, but we should at least have the same set of
# and one blob, so just check the sorted order # object types.
cat >expect <<-\EOF && git -C .. ls-tree HEAD >orig-root &&
blob cut -d" " -f2 <orig-root | sort >expect &&
tree
EOF
git ls-tree $other_branch >root && git ls-tree $other_branch >root &&
cut -d" " -f2 <root | sort >actual && cut -d" " -f2 <root | sort >actual &&
test_cmp expect actual test_cmp expect actual
' '
test_expect_success 'paths in subdir ended up in one tree' ' test_expect_success 'paths in subdir ended up in one tree' '
cat >expect <<-\EOF && git -C .. ls-tree other:subdir >orig-subdir &&
blob cut -d" " -f2 <orig-subdir | sort >expect &&
blob
EOF
tree=$(grep tree root | cut -f2) && tree=$(grep tree root | cut -f2) &&
git ls-tree $other_branch:$tree >tree && git ls-tree $other_branch:$tree >tree &&
cut -d" " -f2 <tree >actual && cut -d" " -f2 <tree >actual &&