def _run(test): '''(INTERNAL) Run a test script and parse the result. ''' global _T, _X t = 'running%s %s %s' % (_E, PythonX_O, tilde(test)) print(t) x, r = run2(test) if _results: _write(NL + t + NL) _write(r) _T += r.count(NL + ' test ') # number of tests _X += x # failures, excluding KNOWN ones if 'Traceback' in r: print(r + NL) if not x: # count as failure _X += 1 if _raiser: raise SystemExit elif _failedonly: for t in _testlines(r): if ', KNOWN' not in t: print(t) elif _verbose: print(r + NL) elif x: for t in _testlines(r): print(t)
def _run(test, *opts): # MCCABE 13 '''(INTERNAL) Run a test script and parse the result. ''' global _Total, _FailX t = 'running %s %s' % (PythonX_O, tilde(test)) if access(test, F_OK): print(t) x, r = run2(test, *opts) if _results: _write(NL + t + NL) _write(r) if 'Traceback' in r: print(r + NL) if not x: # count as failure _FailX += 1 if _raiser: raise SystemExit elif _failedonly: for t in _testlines(r): if ', KNOWN' not in t: print(t) elif _verbose: print(r + NL) elif x: for t in _testlines(r): print(t) else: r = t + ' FAILED: no such file' + NL x = 1 if _results: _write(NL + r) print(r) _Total += r.count(NL + ' test ') # number of tests _FailX += x # failures, excluding KNOWN ones
__all__ = () __version__ = '18.07.21' # command line options _failedonly = False _raiser = False _results = False _verbose = False if __name__ == '__main__': # MCCABE 28 def _write(text): _results.write(text.encode('utf-8')) argv0, args = tilde(sys.argv[0]), sys.argv[1:] if isiOS and not args: # allow this script to be used # with options inside Pythonista try: _input = raw_input # old name except NameError: # Python 3+ _input = input args = _input('enter %s args: ' % (argv0, )).split() while args and args[0].startswith('-'): arg = args.pop(0) if '-help'.startswith(arg): print( 'usage: %s [-failedonly] [-raiser] [-results] [-verbose] [test/test...py ...]'
yield '' def _write(text): '''(INTERNAL) Write text to results. ''' _results.write(text.encode('utf-8')) if __name__ == '__main__': # MCCABE 19 from glob import glob from os.path import join from time import time argv0, args = tilde(sys.argv[0]), sys.argv[1:] while args and args[0].startswith('-'): arg = args.pop(0) if '-help'.startswith(arg): print( 'usage: %s [-B] [-failedonly] [-raiser] [-results] [-verbose] [-Z[0-9]] [test/test...py ...]' % (argv0, )) sys.exit(0) elif arg.startswith('-B'): environ['PYTHONDONTWRITEBYTECODE'] = arg[2:] elif '-failedonly'.startswith(arg): _failedonly = True elif '-raiser'.startswith(arg): _raiser = True # break on error elif '-results'.startswith(arg):