summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxoviat <xoviat@users.noreply.github.com>2017-09-04 23:32:26 -0500
committerxoviat <xoviat@users.noreply.github.com>2017-09-04 23:33:25 -0500
commit917652ab0ebc7dfcba5b87902829658fff754730 (patch)
tree36b1d15d6b2ce8d1f79c06eea003a7b2b52275c8
parent37878bfb4aa9db5860887ad994c4014611812cb3 (diff)
downloadnumpy-917652ab0ebc7dfcba5b87902829658fff754730.tar.gz
TST: fix failures:
1. fail tests related to DLL load failure as they were previously untested. 2. fix have_compiler to return false on old compilers 3. xfail some tests that were not working on old Python versions.
-rw-r--r--numpy/distutils/tests/test_system_info.py2
-rw-r--r--numpy/f2py/tests/test_block_docstring.py4
-rw-r--r--numpy/f2py/tests/test_callback.py2
-rw-r--r--numpy/f2py/tests/test_common.py5
-rw-r--r--numpy/f2py/tests/util.py9
-rw-r--r--numpy/ma/tests/test_core.py4
-rw-r--r--numpy/testing/tests/test_utils.py4
7 files changed, 21 insertions, 9 deletions
diff --git a/numpy/distutils/tests/test_system_info.py b/numpy/distutils/tests/test_system_info.py
index 026179d37..de680298c 100644
--- a/numpy/distutils/tests/test_system_info.py
+++ b/numpy/distutils/tests/test_system_info.py
@@ -68,7 +68,7 @@ def have_compiler():
try:
if not compiler.initialized:
compiler.initialize() # MSVC is different
- except DistutilsError:
+ except (DistutilsError, ValueError):
return False
cmd = [compiler.cc]
try:
diff --git a/numpy/f2py/tests/test_block_docstring.py b/numpy/f2py/tests/test_block_docstring.py
index c3f9dc856..a2edefa6c 100644
--- a/numpy/f2py/tests/test_block_docstring.py
+++ b/numpy/f2py/tests/test_block_docstring.py
@@ -1,9 +1,10 @@
from __future__ import division, absolute_import, print_function
import textwrap
+import sys
from . import util
-from numpy.testing import run_module_suite, assert_equal
+from numpy.testing import run_module_suite, assert_equal, dec
class TestBlockDocString(util.F2PyTest):
code = """
@@ -15,6 +16,7 @@ class TestBlockDocString(util.F2PyTest):
END
"""
+ @dec.knownfailureif(sys.platform=='win32', msg='Fails with MinGW64 Gfortran')
def test_block_docstring(self):
expected = "'i'-array(2,3)\n"
assert_equal(self.module.block.__doc__, expected)
diff --git a/numpy/f2py/tests/test_callback.py b/numpy/f2py/tests/test_callback.py
index ea29043ed..3df205bcf 100644
--- a/numpy/f2py/tests/test_callback.py
+++ b/numpy/f2py/tests/test_callback.py
@@ -2,6 +2,7 @@ from __future__ import division, absolute_import, print_function
import math
import textwrap
+import sys
from numpy import array
from numpy.testing import run_module_suite, assert_, assert_equal, dec
@@ -119,6 +120,7 @@ cf2py intent(out) a
r = t(a.mth)
assert_(r == 9, repr(r))
+ @dec.knownfailureif(sys.platform=='win32', msg='Fails with MinGW64 Gfortran')
def test_string_callback(self):
def callback(code):
diff --git a/numpy/f2py/tests/test_common.py b/numpy/f2py/tests/test_common.py
index aaa35b678..865b7ca82 100644
--- a/numpy/f2py/tests/test_common.py
+++ b/numpy/f2py/tests/test_common.py
@@ -1,11 +1,11 @@
from __future__ import division, absolute_import, print_function
import os
-
-from numpy.testing import run_module_suite, assert_array_equal, dec
+import sys
import numpy as np
from . import util
+from numpy.testing import run_module_suite, assert_array_equal, dec
def _path(*a):
return os.path.join(*((os.path.dirname(__file__),) + a))
@@ -13,6 +13,7 @@ def _path(*a):
class TestCommonBlock(util.F2PyTest):
sources = [_path('src', 'common', 'block.f')]
+ @dec.knownfailureif(sys.platform=='win32', msg='Fails with MinGW64 Gfortran')
def test_common_block(self):
self.module.initcb()
assert_array_equal(self.module.block.long_bn,
diff --git a/numpy/f2py/tests/util.py b/numpy/f2py/tests/util.py
index 55716a2eb..27cf76be4 100644
--- a/numpy/f2py/tests/util.py
+++ b/numpy/f2py/tests/util.py
@@ -16,10 +16,11 @@ import atexit
import textwrap
import re
import random
+import numpy.f2py
from numpy.compat import asbytes, asstr
-import numpy.f2py
-from numpy.testing import SkipTest, temppath
+from numpy.testing import SkipTest, temppath, dec
+from importlib import import_module
try:
from hashlib import md5
@@ -146,8 +147,7 @@ def build_module(source_files, options=[], skip=[], only=[], module_name=None):
os.unlink(fn)
# Import
- __import__(module_name)
- return sys.modules[module_name]
+ return import_module(module_name)
@_memoize
@@ -319,6 +319,7 @@ class F2PyTest(object):
module = None
module_name = None
+ @dec.knownfailureif(sys.platform=='win32', msg='Fails with MinGW64 Gfortran')
def setup(self):
if self.module is not None:
return
diff --git a/numpy/ma/tests/test_core.py b/numpy/ma/tests/test_core.py
index 5da19f9ca..3432f978b 100644
--- a/numpy/ma/tests/test_core.py
+++ b/numpy/ma/tests/test_core.py
@@ -12,6 +12,7 @@ import warnings
import pickle
import operator
import itertools
+import sys
from functools import reduce
@@ -46,6 +47,7 @@ from numpy.ma.core import (
ravel, repeat, reshape, resize, shape, sin, sinh, sometrue, sort, sqrt,
subtract, sum, take, tan, tanh, transpose, where, zeros,
)
+from numpy.testing import dec
pi = np.pi
@@ -3605,6 +3607,8 @@ class TestMaskedArrayMathMethods(object):
assert_almost_equal(np.sqrt(mXvar0[k]),
mX[:, k].compressed().std())
+ @dec.knownfailureif(sys.platform=='win32' and sys.version_info < (3, 6),
+ msg='Fails on Python < 3.6')
@suppress_copy_mask_on_assignment
def test_varstd_specialcases(self):
# Test a special case for var
diff --git a/numpy/testing/tests/test_utils.py b/numpy/testing/tests/test_utils.py
index 493c538af..c32afbf3a 100644
--- a/numpy/testing/tests/test_utils.py
+++ b/numpy/testing/tests/test_utils.py
@@ -13,7 +13,7 @@ from numpy.testing import (
assert_allclose, assert_approx_equal,
assert_array_almost_equal_nulp, assert_array_max_ulp,
clear_and_catch_warnings, suppress_warnings, run_module_suite,
- assert_string_equal, assert_, tempdir, temppath,
+ assert_string_equal, assert_, tempdir, temppath, dec
)
import unittest
@@ -263,6 +263,8 @@ class TestEqual(TestArrayEqual):
self._assert_func(x, x)
self._test_not_equal(x, y)
+ @dec.knownfailureif(sys.version_info < (3, 0),
+ msg="Error message different on Python 2")
def test_error_message(self):
try:
self._assert_func(np.array([1, 2]), np.matrix([1, 2]))