From 7bba2267b0a299ccbc7586fd0f7b8c908fa80255 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 9 Sep 2012 22:19:39 +0530 Subject: [PATCH] Add testing for leaks in the windows pnp scanner --- src/calibre/devices/scanner.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/calibre/devices/scanner.py b/src/calibre/devices/scanner.py index 288e9a77a1..156ed981cb 100644 --- a/src/calibre/devices/scanner.py +++ b/src/calibre/devices/scanner.py @@ -338,7 +338,7 @@ def test_for_mem_leak(): memory() # load the psutil library for i in xrange(3): gc.collect() - for reps in (1, 10, 100, 1000, 10000): + for reps in (1, 10, 100, 1000): for i in xrange(3): gc.collect() h1 = gc_histogram() startmem = memory() @@ -352,6 +352,22 @@ def test_for_mem_leak(): diff_hists(h1, gc_histogram()) prints() + if not iswindows: + return + + for reps in (1, 10, 100, 1000): + for i in xrange(3): gc.collect() + h1 = gc_histogram() + startmem = memory() + for i in xrange(reps): + win_pnp_drives() + for i in xrange(3): gc.collect() + usedmem = memory(startmem) + prints('Memory used in %d repetitions of pnp_scan(): %.5f KB'%(reps, + 1024*usedmem)) + prints('Differences in python object counts:') + diff_hists(h1, gc_histogram()) + prints() def main(args=sys.argv): test_for_mem_leak()