diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-06-25 22:59:01 +0000 |
---|---|---|
committer | <> | 2013-09-27 11:49:28 +0000 |
commit | 8c4528713d907ee2cfd3bfcbbad272c749867f84 (patch) | |
tree | c09e2ce80f47b90c85cc720f5139089ad9c8cfff /libs/python/test/numpy.py | |
download | boost-tarball-baserock/morph.tar.gz |
Imported from /home/lorry/working-area/delta_boost-tarball/boost_1_54_0.tar.bz2.boost_1_54_0baserock/morph
Diffstat (limited to 'libs/python/test/numpy.py')
-rw-r--r-- | libs/python/test/numpy.py | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/libs/python/test/numpy.py b/libs/python/test/numpy.py new file mode 100644 index 000000000..84e8313d1 --- /dev/null +++ b/libs/python/test/numpy.py @@ -0,0 +1,87 @@ +# Copyright David Abrahams 2004. Distributed under the Boost +# Software License, Version 1.0. (See accompanying +# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + +false = 0; +true = 1; + +import doctest, numeric_tests +def _count_failures(test_modules = (numeric_tests,)): + failures = 0 + for m in test_modules: + failures += doctest.testmod(m)[0] + return failures + +def _run(args = None): + import sys, numarray_tests, numeric_tests + + if args is not None: + sys.argv = args + + # See which of the numeric modules are installed + has_numeric = 0 + try: import Numeric + except ImportError: pass + else: + has_numeric = 1 + m = Numeric + + has_numarray = 0 + try: import numarray + except ImportError: pass + else: + has_numarray = 1 + m = numarray + + # Bail if neither one is installed + if not (has_numeric or has_numarray): + return 0 + + # test the info routine outside the doctest. See numpy.cpp for an + # explanation + import numpy_ext + if (has_numarray): + numpy_ext.info(m.array((1,2,3))) + + failures = 0 + + # + # Run tests 4 different ways if both modules are installed, just + # to show that set_module_and_type() is working properly + # + + # run all the tests with default module search + print 'testing default extension module:', \ + numpy_ext.get_module_name() or '[numeric support not installed]' + + failures += _count_failures() + + # test against Numeric if installed + if has_numeric: + print 'testing Numeric module explicitly' + numpy_ext.set_module_and_type('Numeric', 'ArrayType') + + failures += _count_failures() + + if has_numarray: + print 'testing numarray module explicitly' + numpy_ext.set_module_and_type('numarray', 'NDArray') + # Add the _numarray_tests to the list of things to test in + # this case. + failures += _count_failures((numarray_tests, numeric_tests)) + + # see that we can go back to the default + numpy_ext.set_module_and_type('', '') + print 'testing default module again:', \ + numpy_ext.get_module_name() or '[numeric support not installed]' + + failures += _count_failures() + + return failures + +if __name__ == '__main__': + print "running..." + import sys + status = _run() + if (status == 0): print "Done." + sys.exit(status) |