| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The shim has been deprecated since 2019, the proper place to import
utils funtions is directly from numpy.testing.
|
| |
|
|
|
|
|
| |
As numpy is Python 3 only, these import statements are now unnecessary
and don't alter runtime behavior.
|
|
|
| |
[ci skip]
|
| |
|
|
|
| |
* Deprecation: numpy.testing.rand
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Otherwise the deprecation message is not that helpful as I have to dig
through the source to find out since when and whether conditional import
is necessary in my code. I may not have numpy on my dev machine (this
message was on CI). So it's one extra step for the consumer.
That's also for you, you have more chance of having consumer update
their code when they have more informations in the deprecation message,
so you can drop old code faster !
At least kudo to Charles Harris for including a comments just above,
that prevented me from having to git blame and go spelunking for knowing
which versions were or not affected.
|
|
|
|
|
|
| |
This also means we can now test that our test is actually able to detect the type of failure we expect
Trying to give myself some tools to debug the failure at https://github.com/numpy/numpy/pull/10882/files#r180813166
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The following modules have been moved or renamed and should not be
imported. This adds shim modules for the old names that issue a
DeprecationWarning on import.
* numpy/core/umath_tests.py
* numpy/testing/decorators.py
* numpy/testing/noseclasses.py
* numpy/testing/nosetester.py
* numpy/testing/utils.py
Closes #10845.
|
|
|
|
| |
The warning type is the second, not the first, argument.
|
|
|
|
|
| |
Downstream projects were importing directly from the testing modules
rather than from testing. Discourage this.
|
|
|
|
|
|
|
|
|
| |
This is to prepare for the switch to pytest.
* Rename `numpy/testing/nose_tools` to `numpy/testing/_private`.
* Redirect imports as needed.
* Copy `_testutils.py` from scipy to `numpy/testing/_private`.
* Rename `_testutils.py` to `_pytester.py` and remove unneeded bits.
|
| |
|
|
|
|
|
|
|
| |
When the environment has NPY_PYTEST=1, the testing utilities will be
pytest compatible. Typical usage would be something like
$ NPY_PYTEST=1 pytest ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The aim here is to separate out the nose dependent files prior to adding
pytest support. This could be done by adding new files to the general
numpy/testing directory, but I felt that it was to have the relevant
files separated out as it makes it easier to completely remove nose
dependencies when needed.
Many places were accessing submodules in numpy/testing directly, and in
some cases incorrectly. That presented a backwards compatibility
problem. The solution adapted here is to have "dummy" files whose
contents will depend on whether of not pytest is active. That way the
module looks the same as before from the outside.
In the case of numpy itself, direct accesses have been fixed. Having
proper `__all__` lists in the submodules helped in that.
|
|
|
|
| |
Bare except is very rarely the right thing
|
|
|
|
|
|
|
|
|
| |
These warning filters are not threadsafe, while it is nicer if the
comparison functions can be called in a threaded environment since
they do no explicite warning checking.
Less filters are also cleaner in general, though may also mean that
downstream projects see warnings that were previously hidden.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
gh-8410 breaks a large number of astropy tests, because it sets up
a boolean array for values that should actually be compared (i.e.,
are not `nan` or `inf`) using `zeros_like`. The latter means that
for subclasses, the boolean test array is not a plain `ndarray` but
the subclass. But for astropy's `Quantity`, the `all` method is
undefined.
This commit ensures the test arrays from `isinf` and `isnan` are
used directly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
See issue #2418
assert_array_less does now treat inf/nan
correctly, namely:
-inf < x < inf for any real number x
nans still are not compared, when they occur
at the same position
To achieve this without breaking any other
functions relying on assert_array_compare,
an additional parameter (equal_inf) was
introduced that defaults to the old behavior
(analogous to equal_nan).
|
|
|
|
|
|
|
| |
In Python 3.6 a number of escape sequences that were previously accepted
-- for instance "\(" that was translated to "\\(" -- are deprecated. To
retain the previous behavior either raw strings must be used or the
backslash must be properly escaped itself.
|
|
|
|
|
| |
The Python 3.6 changes that resulted in the 6b49167c fix has been
fixed in Python 3.6.0rc1. So revert our fixes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Python 3.6 has two methods for showing warnings, so we have to support
both ways (strictly speaking, on python 3.6 itself only the new would
probably be needed).
Also adds the _filters_mutated() call to replace manual registry
clearing. This is basically the fix that newer python versions have
to avoid the issue making the manual clearing unnecessary.
Closes gh-8176
|
|
|
|
|
|
|
|
|
| |
As discussed in my comments for issue #8145, this patch adds the
equal_nan argument to assert_array_compare(), and assert_allclose()
passes the value it receives for the same argument through to
assert_array_compare().
Closes #8142.
|
|
|
|
|
| |
Formerly, I got DeprecationWarnings about callable being None when I tested
on Python 3.
|
| |
|
|\
| |
| | |
Suppressed warnings
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Printing of datetime arrays used to cause warning due to
comparison warnings in NaT. This is circumvented by using views
to integer values. Part of this should be simplified when
the deprecation is over.
Also fixes a bug with non-native byteorder.
|
| |
| |
| |
| |
| |
| |
| | |
This means that warnings of different origin then the one tested for
behave normally. If the normal behaviour is to igonre them this might
decrease specificity in rare cases. In most cases the specificity
will be slightly higher.
|
|/
|
|
|
|
|
|
| |
Due to the lambdas used it didn't actually generate inplace cases.
Fix a few tests that now break due to assuming that the cases are always
out of place.
Also update some numbers to make it more likely to find issues like
loading from wrong array.
|
| |
|
|
|
|
|
|
| |
This context has a couple of advantages over the typical one, and can
ensure that warnings are cleanly filtered without side effect for
later tests.
|
| |
|
|\
| |
| | |
f2py.compile issues (#7683)
|
| |
| |
| |
| | |
f2py.compile (issue #7683)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This changes the check for scalars in assert_almost_equal so that
abs(actual - desired) < 1.5 * 10**(-decimal)
Note that the previous documentation claimed that the functions were
equivalent to
abs(actual - desired) < .5 * 10**(-decimal)
but that was not how they behaved in practice.
Due to the change in implementation, some very delicate tests may fail
that did not fail before. No extra failures were noted in scipy.
Closes #5200.
|
|
|
|
| |
The global also was ugly and not useful.
|
| |
|
|
|
|
|
| |
This was only needed for Python 2.6 as it is available from unittest in
later Python versions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
assert_equal(np.array([0, 1]), np.matrix([0, 1]))
used to print
x: array([0, 1])
y: [repr failed]
now prints
x: array([0, 1])
y: [repr failed for <matrix>: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()]
|
|\
| |
| | |
Revert "Merge pull request #7001 from shoyer/NaT-comparison"
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 7141f40b58ed1e7071cde78ab7bc8ab37e9c5983,
reversing changes made to 8fa6e3bef26a6d4a2c92f2824129aa4409be2590.
The original broke some pandas tests. The current plan to get this
in is
* reversion
* issue FutureWarning in 1.11 and 1.12
* make the change in 1.13.
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
| |
Now, NaT compares like NaN:
- NaT != NaT -> True
- NaT == NaT (and all other comparisons) -> False
We discussed this on the mailing list back in October:
https://mail.scipy.org/pipermail/numpy-discussion/2015-October/073968.html
|
| |
|
|\
| |
| | |
ENH: Tempfile context manager
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Context manager intended for use when the same temporary file needs to
be opened and closed more than once. The context manager creates the
file, closes it, and returns the path to the file. On exit from the
context block the file is removed. The file should be closed before
exiting the context as an error will be raised on windows if not.
Also fix up the `tempdir` context manager to deal with exceptions.
Tests are added for both `temppath` and `tempdir`.
|