|
from __future__ import division, absolute_import, print_function |
|
|
|
import sys |
|
import re |
|
|
|
from numpy.testing.utils import jiffies, memusage |
|
|
|
def cmdline(): |
|
m=re.compile(r'\A\d+\Z') |
|
args = [] |
|
repeat = 1 |
|
for a in sys.argv[1:]: |
|
if m.match(a): |
|
repeat = eval(a) |
|
else: |
|
args.append(a) |
|
f2py_opts = ' '.join(args) |
|
return repeat, f2py_opts |
|
|
|
def run(runtest,test_functions,repeat=1): |
|
l = [(t, repr(t.__doc__.split('\n')[1].strip())) for t in test_functions] |
|
|
|
start_memusage = memusage() |
|
diff_memusage = None |
|
start_jiffies = jiffies() |
|
i = 0 |
|
while i<repeat: |
|
i += 1 |
|
for t, fname in l: |
|
runtest(t) |
|
if start_memusage is None: continue |
|
if diff_memusage is None: |
|
diff_memusage = memusage() - start_memusage |
|
else: |
|
diff_memusage2 = memusage() - start_memusage |
|
if diff_memusage2!=diff_memusage: |
|
print('memory usage change at step %i:' % i,\ |
|
diff_memusage2-diff_memusage,\ |
|
fname) |
|
diff_memusage = diff_memusage2 |
|
current_memusage = memusage() |
|
print('run', repeat*len(test_functions), 'tests',\ |
|
'in %.2f seconds' % ((jiffies()-start_jiffies)/100.0)) |
|
if start_memusage: |
|
print('initial virtual memory size:', start_memusage, 'bytes') |
|
print('current virtual memory size:', current_memusage, 'bytes') |
|
|