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.
This commit is contained in:
Neal Norwitz 2007-05-11 05:55:15 +00:00
parent 360496d9c0
commit d9841039db
2 changed files with 4 additions and 3 deletions

View File

@ -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):

View File

@ -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