| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This allows pytest to run with duplicate test file names. Note that
`python <path-to-test-file>` no longer works with this change, nor will
a simple `pytest numpy`, because numpy is imported from the numpy
repository. However, `python runtests.py` and `>>> numpy.test()` are
still available.
|
|
|
|
|
|
|
| |
This is the case for x in {int, bool, str, float, complex, object}.
Using the np.{x} version is deceptive as it suggests that there is a
difference. This change doesn't affect any external behaviour. The
`long` type is missing in python 3, so np.long is still useful
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
Since we only need to support python 2, we can remove any case where we just
pass a single string literal and use the b prefix instead.
What we can't do is transform asbytes("tests %d" % num), because %-formatting
fails on bytes in python 3.x < 3.5.
|
|
|
|
|
| |
Enforces that stacklevel is used in warnings.warn and "ignore"
is not used in filterwarnings or simplefilter for most of numpy.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reloading currently causes problems because global classes defined in
numpy/__init__.py change their identity (a is b) after reload. The
solution taken here is to move those classes to a new non-reloadable
module numpy/_globals and import them into numpy from there.
Classes moved are ModuleDeprecationWarning, VisibleDeprecationWarning,
and _NoValue.
Closes #7844.
|
|
|
|
|
|
|
|
|
|
| |
There seems to be little use in reloading numpy as any changed modules
that are imported into numpy would need to be reloaded first in order to
see any changes. Furthermore, reloading causes problems as global
classes defined in numpy/__init__.py change their identity. Hence we
raise a RuntimeError when an attempt to reload numpy is made.
Closes #7844.
|
| |
|
|
|
|
|
|
|
| |
Fix #2303
Cache queries wont miss because the whole tuple is cached as key
and not just dtype
Adapted from patch submitted by Colin Hogben
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
When you run 'python -V' under Anaconda, it
returns for example, 'Python 3.4.3 :: Continuum
Analytics, Inc.' However, the original parsing
of the version in 'test_f2py' assumed there was
nothing following the version number, causing a
ValueError because you can't assign three
variables to four components that you get from
splitting on the '.'
|
|
|
|
|
|
|
|
|
|
|
| |
The 'sys.executable' can come in various names, but
the three main ones are "python", "python{major_version}",
and "python{major_version.minor_version}". The current
version of the f2py test assumes that only the latter
two are used. Since "f2py" is generally versioned,
using the executable basename "python" will make it
impossible to find. This commit fixes that issue
by using a sure-fire way of getting the Python version.
|
|
|
|
|
|
|
|
| |
Fixed test_scripts.test_f2py test so that
it can pass correctly on win32 virtualenvs,
in which the Python executable and the
f2py.py file are both in the Scripts
directory.
|
|
|
|
| |
Addresses comments of @pv on gh-6895.
|
|
|
|
| |
Implements idea suggested in gh-6431.
|
|
|
|
|
|
|
|
| |
The test was checking whether the f2py script was installed as either of
two names, but was only catching OSError, so the second check was
skipped if the first failed for another reason. The caused the
runtests.py script to fail it does not install the script as f2py but
rather with the python version appended.
|
|
|
|
|
| |
Also rewrite error messages so that they read more like warnings
than errors.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Module tests whether we can run f2py and return correct version.
Skip this test when running in-place (we don't install f2py in that
case).
Use our own virtualenvs in travis-ci to avoid picking up travis' numpy.
|
|
|
|
|
|
|
| |
Run the 2to3 ws_comma fixer on *.py files. Some lines are now too long
and will need to be broken at some point. OTOH, some lines were already
too long and need to be broken at some point. Now seems as good a time
as any to do this with open PRs at a minimum.
|
|
|
|
|
|
|
| |
Add `print_function` to all `from __future__ import ...` statements
and use the python3 print function syntax everywhere.
Closes #3078.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new import `absolute_import` is added the `from __future__ import`
statement and The 2to3 `import` fixer is run to make the imports
compatible. There are several things that need to be dealt with to make
this work.
1) Files meant to be run as scripts run in a different environment than
files imported as part of a package, and so changes to those files need
to be skipped. The affected script files are:
* all setup.py files
* numpy/core/code_generators/generate_umath.py
* numpy/core/code_generators/generate_numpy_api.py
* numpy/core/code_generators/generate_ufunc_api.py
2) Some imported modules are not available as they are created during
the build process and consequently 2to3 is unable to handle them
correctly. Files that import those modules need a bit of extra work.
The affected files are:
* core/__init__.py,
* core/numeric.py,
* core/_internal.py,
* core/arrayprint.py,
* core/fromnumeric.py,
* numpy/__init__.py,
* lib/npyio.py,
* lib/function_base.py,
* fft/fftpack.py,
* random/__init__.py
Closes #3172
|
|
|
|
|
|
|
|
| |
This should be harmless, as we already are division clean. However,
placement of this import takes some care. In the future a script
can be used to append new features without worry, at least until
such time as it exceeds a single line. Having that ability will
make it easier to deal with absolute imports and printing updates.
|
|
|
|
| |
Example: except ValueError,msg: -> except ValueError as msg:
|
|
|
|
| |
This is needed so test_matlib.py can be run by python.
|
|
|
|
| |
This is unrelated to what is actually tested here.
|
|
|
|
| |
The functions are assertEquals and assert_ (Python's TestCase, not ours).
|
|
|
|
|
| |
This is related to PEP 3149, tags in shared library extensions. Only applies
to Linux (for now). See also #1749.
|
| |
|
|
|
|
| |
(From Ralf Gommers.)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Added numpy.testing.run_module_suite to simplify "if __name__ == '__main__'" boilerplate code in test
modules.
Removed numpy/testing/pkgtester.py since it just consisted of an import statement after porting SciPy r4424.
Allow numpy.*.test() to accept the old keyword arguments (but issue a deprecation warning when old arguments
are seen).
numpy.*.test() returns a test result object as before.
Fixed typo in distutils doc.
|
|
|
|
| |
modules.
|
| |
|
|
|
|
| |
skipping the test instead.
|
| |
|
| |
|
|
|
|
|
| |
Build processes sometimes produce libraries with incorrect suffixes on
non-linux platforms.
|
| |
|
| |
|
| |
|
|
|