summaryrefslogtreecommitdiff
path: root/numpy/testing/nosetester.py
diff options
context:
space:
mode:
authorMark <mwwiebe@gmail.com>2012-02-08 19:54:55 -0800
committerMark <mwwiebe@gmail.com>2012-02-08 19:54:55 -0800
commit096b436e6e93d09057eb415e76b1f452170db3e6 (patch)
treeeb6f65e102172783cd20887c05de666254c44bd1 /numpy/testing/nosetester.py
parent26802c93733886e3f0561bbd0e0e5753d2916143 (diff)
parenta2bb1cc9b6fc37583494d9a3e14b0ace59d210a5 (diff)
downloadnumpy-096b436e6e93d09057eb415e76b1f452170db3e6.tar.gz
Merge pull request #201 from mwiebe/tests_dep_error
TST: Make deprecation warnings raise exceptions during test run
Diffstat (limited to 'numpy/testing/nosetester.py')
-rw-r--r--numpy/testing/nosetester.py23
1 files changed, 19 insertions, 4 deletions
diff --git a/numpy/testing/nosetester.py b/numpy/testing/nosetester.py
index d6df51b0c..074ac1766 100644
--- a/numpy/testing/nosetester.py
+++ b/numpy/testing/nosetester.py
@@ -6,6 +6,8 @@ This module implements ``test()`` and ``bench()`` functions for NumPy modules.
"""
import os
import sys
+import warnings
+import numpy.testing.utils
def get_package_name(filepath):
"""
@@ -323,10 +325,23 @@ class NoseTester(object):
import doctest
doctest.master = None
- argv, plugins = self.prepare_test_args(label, verbose, extra_argv,
- doctests, coverage)
- from noseclasses import NumpyTestProgram
- t = NumpyTestProgram(argv=argv, exit=False, plugins=plugins)
+ # Preserve the state of the warning filters
+ warn_ctx = numpy.testing.utils.WarningManager()
+ warn_ctx.__enter__()
+ try:
+
+ # Force deprecation warnings to raise
+ warnings.filterwarnings('error', category=DeprecationWarning)
+ # Force runtime warnings to raise
+ warnings.filterwarnings('error', category=RuntimeWarning)
+
+ argv, plugins = self.prepare_test_args(label, verbose, extra_argv,
+ doctests, coverage)
+ from noseclasses import NumpyTestProgram
+ t = NumpyTestProgram(argv=argv, exit=False, plugins=plugins)
+ finally:
+ warn_ctx.__exit__()
+
return t.result
def bench(self, label='fast', verbose=1, extra_argv=None):