diff options
author | Alan McIntyre <alan.mcintyre@local> | 2008-07-21 06:55:48 +0000 |
---|---|---|
committer | Alan McIntyre <alan.mcintyre@local> | 2008-07-21 06:55:48 +0000 |
commit | 8e86b69357c931b9dc0544d0210f7b2a0720ef11 (patch) | |
tree | 0e2edf22cd0867ac75a6dfd4d54adeaccb14c313 /numpy | |
parent | 77effddb80562fa5e2de16ac4fb5470477bda652 (diff) | |
download | numpy-8e86b69357c931b9dc0544d0210f7b2a0720ef11.tar.gz |
Added numpy.testing.verbose, to allow tests to vary output accordingly.
Added numpy.testing.print_assert_equal, to allow removing the multiple
identical implementations of this function in SciPy tests.
Display version info for NumPy, Python, and nose (and SciPy when running SciPy
tests), in a manner similar to the original test framework.
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/testing/nosetester.py | 18 | ||||
-rw-r--r-- | numpy/testing/utils.py | 20 |
2 files changed, 36 insertions, 2 deletions
diff --git a/numpy/testing/nosetester.py b/numpy/testing/nosetester.py index 4d2cb0523..3465fd3ef 100644 --- a/numpy/testing/nosetester.py +++ b/numpy/testing/nosetester.py @@ -183,6 +183,9 @@ class NoseTester(object): # cap verbosity at 3 because nose becomes *very* verbose beyond that verbose = min(verbose, 3) + import utils + utils.verbose = verbose + # if all evaluates as True, omit attribute filter and run doctests if kwargs.get('all'): label = '' @@ -215,6 +218,21 @@ class NoseTester(object): nose = import_nose() + import numpy + print "NumPy version %s" % numpy.__version__ + npdir = os.path.dirname(numpy.__file__) + print "NumPy is installed in %s" % npdir + + if 'scipy' in self.package_name: + import scipy + print "SciPy version %s" % scipy.__version__ + spdir = os.path.dirname(scipy.__file__) + print "SciPy is installed in %s" % spdir + + pyversion = sys.version.replace('\n','') + print "Python version %s" % pyversion + print "nose version %d.%d.%d" % nose.__versioninfo__ + # Because nose currently discards the test result object, but we need # to return it to the user, override TestProgram.runTests to retain # the result diff --git a/numpy/testing/utils.py b/numpy/testing/utils.py index 2051bc7bc..c27d524c9 100644 --- a/numpy/testing/utils.py +++ b/numpy/testing/utils.py @@ -13,8 +13,10 @@ from nosetester import import_nose __all__ = ['assert_equal', 'assert_almost_equal','assert_approx_equal', 'assert_array_equal', 'assert_array_less', 'assert_string_equal', 'assert_array_almost_equal', 'assert_raises', 'build_err_msg', - 'decorate_methods', 'jiffies', 'memusage', 'raises', 'rand', - 'rundocs', 'runstring'] + 'decorate_methods', 'jiffies', 'memusage', 'print_assert_equal', + 'raises', 'rand', 'rundocs', 'runstring', 'verbose'] + +verbose = 0 def rand(*args): """Returns an array of random numbers with the given shape. @@ -147,6 +149,20 @@ def assert_equal(actual,desired,err_msg='',verbose=True): msg = build_err_msg([actual, desired], err_msg, verbose=verbose) assert desired == actual, msg +def print_assert_equal(test_string,actual,desired): + import pprint + try: + assert(actual == desired) + except AssertionError: + import cStringIO + msg = cStringIO.StringIO() + msg.write(test_string) + msg.write(' failed\nACTUAL: \n') + pprint.pprint(actual,msg) + msg.write('DESIRED: \n') + pprint.pprint(desired,msg) + raise AssertionError, msg.getvalue() + def assert_almost_equal(actual,desired,decimal=7,err_msg='',verbose=True): """ Raise an assertion if two items are not equal. |