From d9841039dbd0e37746d46f6e46ce1d82b85a21b3 Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Fri, 11 May 2007 05:55:15 +0000 Subject: [PATCH] Don't ever report a failure when the sum of the reference count differences are zero. This should help reduce the false positives. The message about references leaking is maintained to provide as much info as possible rather than simply suppressing the message at the source. --- Lib/test/regrtest.py | 5 +++-- Misc/build.sh | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index ce5f2f608eb..00451514b4b 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -682,9 +682,10 @@ def dash_R(the_module, test, indirect_test, huntrleaks): deltas.append(sys.gettotalrefcount() - rc - 2) print >> sys.stderr if any(deltas): - print >> sys.stderr, test, 'leaked', deltas, 'references' + msg = '%s leaked %s references, sum=%s' % (test, deltas, sum(deltas)) + print >> sys.stderr, msg refrep = open(fname, "a") - print >> refrep, test, 'leaked', deltas, 'references' + print >> refrep, msg refrep.close() def dash_R_cleanup(fs, ps, pic): diff --git a/Misc/build.sh b/Misc/build.sh index b153fd523d7..94950ffd871 100755 --- a/Misc/build.sh +++ b/Misc/build.sh @@ -192,7 +192,7 @@ if [ $err = 0 -a "$BUILD_DISABLED" != "yes" ]; then ## ensure that the reflog exists so the grep doesn't fail touch $REFLOG $PYTHON $REGRTEST_ARGS -R 4:3:$REFLOG -u network $LEAKY_SKIPS >& build/$F - NUM_FAILURES=`egrep -vc "$LEAKY_TESTS" $REFLOG` + NUM_FAILURES=`egrep -vc "($LEAKY_TESTS|sum=0)" $REFLOG` update_status "Testing refleaks ($NUM_FAILURES failures)" "$F" $start mail_on_failure "refleak" $REFLOG