12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import sys
- import re
- from numpy.testing 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')
|