From: Steve Reinhardt Date: Tue, 16 Dec 2003 04:58:18 +0000 (-0800) Subject: Minor enhancements to rundiff. X-Git-Tag: m5_1.0_beta2~231^2~1 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d0feece6e06aecec134228b577f9a7f22ed792c0;p=gem5.git Minor enhancements to rundiff. util/rundiff: Dump buffered lines on loss of sync so we see where things went wrong. Also return proper exit code from checkmatch() function. --HG-- extra : convert_revision : cd88064ee784a50b675bf3fededbb3901c3c266c --- diff --git a/util/rundiff b/util/rundiff index 05beba84b..63c05b96b 100755 --- a/util/rundiff +++ b/util/rundiff @@ -191,7 +191,10 @@ sub printdiff DISCARD_A => \&discard1, DISCARD_B => \&discard2 }); - die "Lost sync!" if (!$match_found); + if (!$match_found) { + printdiff(scalar(@lines1), scalar(@lines2)); + die "Lost sync!"; + } # Since we shouldn't get here unless the first lines of the # buffers are different, then we must discard some lines off @@ -220,7 +223,10 @@ sub checkmatch # treated as common; if that bugs you, use Algorithm::Diff. if ($lines1[$n1] eq $lines2[$n2] && $lines1[$n1+1] eq $lines2[$n2+1]) { printdiff($n1, $n2); + return 1; } + + return 0; } sub simple_diff @@ -240,6 +246,8 @@ sub simple_diff return if checkmatch($cnt, $n); } } + + printdiff(scalar(@lines1), scalar(@lines2)); die "Lost sync!"; }