X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=wvtest.py;h=6a302d7bae697fa87be99c03f409d9869cfda9df;hb=0c4fe2f42b1ba636fe625d5d87e0148b2c783618;hp=8b5ab647e47e270caccbd67c31789211b32f6ce8;hpb=2e4e894f4544bc16cda9511b84155b3d5643d5a8;p=bup.git diff --git a/wvtest.py b/wvtest.py index 8b5ab64..6a302d7 100755 --- a/wvtest.py +++ b/wvtest.py @@ -13,7 +13,8 @@ exec "$bup_python" "$0" ${1+"$@"} # You can get wvtest from: http://github.com/apenwarr/wvtest # -from __future__ import absolute_import +from __future__ import absolute_import, print_function +from os.path import relpath import atexit import inspect import os @@ -63,8 +64,8 @@ if __name__ != '__main__': # we're imported as a module filename = os.path.basename(filename) msg = re.sub(r'\s+', ' ', str(msg)) sys.stderr.flush() - print '! %-70s %s' % ('%s:%-4d %s' % (filename, line, msg), - code) + print('! %-70s %s' % ('%s:%-4d %s' % (filename, line, msg), + code)) sys.stdout.flush() @@ -173,7 +174,7 @@ if __name__ != '__main__': # we're imported as a module def _check_unfinished(): if _registered: for func in _registered: - print 'WARNING: not run: %r' % (func,) + print('WARNING: not run: %r' % (func,)) WVFAIL('wvtest_main() not called') if _fails: sys.exit(1) @@ -193,39 +194,17 @@ def _run_in_chdir(path, func, *args, **kwargs): sys.path = oldpath -if sys.version_info >= (2,6,0): - _relpath = os.path.relpath; -else: - # Implementation for Python 2.5, taken from CPython (tag v2.6, - # file Lib/posixpath.py, hg-commit 95fff5a6a276). Update - # ./LICENSE When this code is eventually removed. - def _relpath(path, start=os.path.curdir): - if not path: - raise ValueError("no path specified") - - start_list = os.path.abspath(start).split(os.path.sep) - path_list = os.path.abspath(path).split(os.path.sep) - - # Work out how much of the filepath is shared by start and path. - i = len(os.path.commonprefix([start_list, path_list])) - - rel_list = [os.path.pardir] * (len(start_list)-i) + path_list[i:] - if not rel_list: - return curdir - return os.path.join(*rel_list) - - def _runtest(fname, f): mod = inspect.getmodule(f) - relpath = _relpath(mod.__file__, os.getcwd()).replace('.pyc', '.py') - print - print 'Testing "%s" in %s:' % (fname, relpath) + rpath = relpath(mod.__file__, os.getcwd()).replace('.pyc', '.py') + print() + print('Testing "%s" in %s:' % (fname, rpath)) sys.stdout.flush() try: _run_in_chdir(os.path.split(mod.__file__)[0], f) except Exception as e: - print - print traceback.format_exc() + print() + print(traceback.format_exc()) tb = sys.exc_info()[2] wvtest._result(e, traceback.extract_tb(tb)[1], 'EXCEPTION') @@ -234,8 +213,8 @@ def _run_registered_tests(): import wvtest as _wvtestmod while _wvtestmod._registered: t = _wvtestmod._registered.pop(0) - _runtest(t.func_name, t) - print + _runtest(t.__name__, t) + print() def wvtest_main(extra_testfiles=tuple()): @@ -243,20 +222,20 @@ def wvtest_main(extra_testfiles=tuple()): _run_registered_tests() for modname in extra_testfiles: if not os.path.exists(modname): - print 'Skipping: %s' % modname + print('Skipping: %s' % modname) continue if modname.endswith('.py'): modname = modname[:-3] - print 'Importing: %s' % modname + print('Importing: %s' % modname) path, mod = os.path.split(os.path.abspath(modname)) nicename = modname.replace(os.path.sep, '.') while nicename.startswith('.'): nicename = modname[1:] _run_in_chdir(path, __import__, nicename, None, None, []) _run_registered_tests() - print - print 'WvTest: %d tests, %d failures.' % (_wvtestmod._tests, - _wvtestmod._fails) + print() + print('WvTest: %d tests, %d failures.' % (_wvtestmod._tests, + _wvtestmod._fails)) if __name__ == '__main__':