Example #1
0
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)
Example #2
0
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
Example #3
0
__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 ...]'
Example #4
0
    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):