t9402: improve check_end_tree() and check_end_full_tree()
check_end_tree(): - Instead of counting lines using wc in expectCount and cvsCount: Sort and compare the files byte by byte with test_cmp, which is more exact and easier to debug - Chain all shell comands together using && check_end_full_tree() - Instead of counting lines using wc in expectCount, cvsCount and gitCount: Sort and compare the files byte by byte with test_cmp, which is more exact and easier to debug - Break the test using two conditions anded together with -a into to call to test_cmp - Chain all shell comands together using && Signed-off-by: Torsten Bögershausen <tboegi@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
76095f6d60
commit
1735814128
@ -28,27 +28,22 @@ check_file() {
|
||||
}
|
||||
|
||||
check_end_tree() {
|
||||
sandbox="$1"
|
||||
expectCount=$(wc -l < "$WORKDIR/check.list")
|
||||
cvsCount=$(find "$sandbox" -name CVS -prune -o -type f -print | wc -l)
|
||||
test x"$cvsCount" = x"$expectCount"
|
||||
stat=$?
|
||||
echo "check_end $sandbox : $stat cvs=$cvsCount expect=$expectCount" \
|
||||
>> "$WORKDIR/check.log"
|
||||
return $stat
|
||||
sandbox="$1" &&
|
||||
find "$sandbox" -name CVS -prune -o -type f -print >"$WORKDIR/check.cvsCount" &&
|
||||
sort <"$WORKDIR/check.list" >expected &&
|
||||
sort <"$WORKDIR/check.cvsCount" | sed -e "s%cvswork/%%" >actual &&
|
||||
test_cmp expected actual &&
|
||||
rm expected actual
|
||||
}
|
||||
|
||||
check_end_full_tree() {
|
||||
sandbox="$1"
|
||||
ver="$2"
|
||||
expectCount=$(wc -l < "$WORKDIR/check.list")
|
||||
cvsCount=$(find "$sandbox" -name CVS -prune -o -type f -print | wc -l)
|
||||
gitCount=$(git ls-tree -r "$2" | wc -l)
|
||||
test x"$cvsCount" = x"$expectCount" -a x"$gitCount" = x"$expectCount"
|
||||
stat=$?
|
||||
echo "check_end $sandbox : $stat cvs=$cvsCount git=$gitCount expect=$expectCount" \
|
||||
>> "$WORKDIR/check.log"
|
||||
return $stat
|
||||
sandbox="$1" &&
|
||||
sort <"$WORKDIR/check.list" >expected &&
|
||||
find "$sandbox" -name CVS -prune -o -type f -print | sed -e "s%$sandbox/%%" | sort >act1 &&
|
||||
test_cmp expected act1 &&
|
||||
git ls-tree -r "$2" | sed -e "s/^.*blob [0-9a-fA-F]*[ ]*//" | sort >act2 &&
|
||||
test_cmp expected act2 &&
|
||||
rm expected act1 act2
|
||||
}
|
||||
|
||||
#########
|
||||
|
Loading…
Reference in New Issue
Block a user