From 173581412819d5be9035e641bc895d5d4a468d6a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Torsten=20B=C3=B6gershausen?= Date: Sat, 8 Dec 2012 22:33:55 +0100 Subject: [PATCH] t9402: improve check_end_tree() and check_end_full_tree() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Junio C Hamano --- t/t9402-git-cvsserver-refs.sh | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/t/t9402-git-cvsserver-refs.sh b/t/t9402-git-cvsserver-refs.sh index c01748ae0..f1bea0fed 100755 --- a/t/t9402-git-cvsserver-refs.sh +++ b/t/t9402-git-cvsserver-refs.sh @@ -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 } ######### -- 2.11.0