| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
* BLD: use libraries as a key consistently in all site.cfg sections
|
| | |
|
| |\
| |
| | |
BUG: parse shell escaping in extra_compile_args and extra_link_args
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Thanks to a change in exec_command, these strings are no longer passed onto the shell.
Since config files do not support list values, our best bet is to perform shell-splitting immediately.
This brings the behavior back in line a little to how it was before.
On windows systems, the behavior has changed. Previously it was treated as a single argument unless it contained quotes, resulting in the following weird behavior:
# passes as one argument, preserving spaces
extra_link_args=-Wl,rpath=A:/path/with spaces
# passes as two arguments, preserving spaces
extra_link_args="-Wl,rpath=A:\path\with spaces" -lgfortran
# passes as one long quoted argument (surprising and undesirable)
extra_link_args=-Wl,rpath=A:\path\without_spaces -lgfortran
Now it behaves as windows escaping via subprocess (but _not_ via cmd) normally would:
# Passed as two separate arguments (probably not as intended, but should be expected)
extra_link_args=-Wl,rpath=A:/path/with spaces
# passes as two arguments, preserving spaces
extra_link_args="-Wl,rpath=A:\path\with spaces" -lgfortran
# passes as two arguments
extra_link_args=-Wl,rpath=A:\path\without_spaces -lgfortran
Fixes gh-12659
|
| |\ \
| |/
| | |
BUG: Changes to string-to-shell parsing behavior broke paths with quotes
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There are places in distutils where we accept a single string from the user, and interpret it as a set of command line arguments.
Previously, these were passed on as a string unmodified to exec_command, and interpreted by subprocess in a platform-specific way.
Recent changes to distutils now pass a list of arguments to subprocess, meaning we have to split the strings ourselves.
While `shlex.split` is perfect on posix systems, it is not a good approximation of either the old or the expected behavior on windows.
Provides the building blocks needed to fix gh-12979
|
| | | |
|
| | |
| |
| |
| | |
See gh-7427
|
| |/
|
|
|
|
|
|
|
|
|
|
| |
(#12448)
* Review F401,F841,F842 flake8 errors (unused variables, imports)
* Review comments
* More tests in test_installed_npymath_ini
* Review comments
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
That function is nose specific and has not worked since `__init__` files
were added to the tests directories.
|
| |
|
|
|
|
|
|
|
|
|
| |
Use standard pytest markers everywhere in the numpy tests. At this point
there should be no nose dependency. However, nose is required to test
the legacy decorators if so desired.
At this point, numpy test cannot be run in the way with runtests, rather
installed numpy can be tested with `pytest --pyargs numpy` as long as
that is not run from the repo. Run it from the tools directory or some
such.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This removes a few left over uses of unittest. The main changes apart
from removal of Test case are:
* `setUp` replaced by nose and pytest compatible `setup`
* `tearDown` replaced by nose and pytest compatible `teardown`
* `assertRaises` replaced by `assert_raises`
* `assertEqual` replaced by `assert_equal`
The last two are in `numpy/testings/tests/test_utils.py`, so may seem a
but circular, but at least are limited to those two functions.
The use of `setup` and `teardown`, can be fixed up with the pytest
equivalents after we have switched to pytest.
|
| |
|
|
|
|
|
| |
The code now does not copy the named templates found outside
a function or subroutine to the output file.
Fixes gh-10712.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\
| |
| | |
ENH: enable OpenBLAS on windows.
|
| | |
| |
| |
| |
| |
| | |
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.
|
| |/
|
|
|
|
|
| |
Adjust the gfortran regex to require a '.' to be present in the version number.
This avoids matching a hash or text containing a '-' such as the version string
from the compilers produced by crosstool-NG. For example:
GNU Fortran (crosstool-NG 8a21ab48) 7.2.0
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
Also rename some classes that should not begin 'Test'.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
Echo is a command in the Windows command interpreter
|
| |
|
|
|
| |
Use these dependencies to avoid unnecessary recompilations of unchanged
files.
|
| |
|
|
|
| |
Without calling `compiler.customize(None)` customizations using
environment variables like CC won't be honoured
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
In Python 2.6 the process destructor emits a ResourceWarning if the
process has not terminated when destruction occurs. Fix by calling the
wait method before return.
The Popen class may be used as a context manager in Python 3.2+,
unfortunately that does not include 2.7.
|
| |
|
|
|
| |
The PIPE in the tests caused a ResourceWarning during testing in
python 3.
|
| |
|
|
|
| |
Closes gh-7707. Happened for `pip install .` or another location (including a
remote git repo).
|
| |
|
|
|
|
|
|
|
|
| |
If there is no compiler on Linux, the error we were getting was CompileError
rather than the OSError the test was expecting.
This had the nasty side-effect of leaving us in a deleted temporary directory,
causing later test failures.
Try a check to see if we have a compiler and skip otherwise.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This replaces code of the pattern
```
fd, name = tempfile.mkstemp(...)
os.close(fd)
try:
do stuff with name
finally:
os.remove(name)
```
with
```
with temppath() as name:
do stuff with name
```
A few more complicated cases are also handled. The remains some
particularly gnarly code the could probably be refactored to use
temppath, but that is a more demanding project.
|
| | |
|
| | |
|
| | |
|
| |
|
| |
Fixes test_system_info.TestSystemInfoReading.test_compile1 failure on Windows
|
| | |
|
| |\
| |
| | |
BLD, ENH: Reading of extra flags from site.cfg to extend flexibility
|
| | |
| |
| |
| | |
Changed all lists to strings
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
The original distutils assumes runtime_library_dirs to
be located in rpath, however, the internal structures assumes
the keyword to be runtime_library_dirs.
For now numpy.distutils handles both equivalently.
The test has been updated to also test the rpath solution.
|
| | |
| |
| |
| |
| |
| | |
Direct writing to files is not the same for 2vs3.
Hence we now close the file handle, re-open it
and write using the file.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
More corrections pointed out by Ralf
Changed the get_standard_file to a fully temporary
file. This means that the __init__ diverges a bit
from the system_info object. However, it only has
to do with the setup for the test. All internal things
regarding the object have not been altered.
I have checked on my box that all files/directories are removed.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Changed self.assert* to assert_ instances through numpys
own testing utilities.
Fixes for the rst document.
Removed unnecessary import statements in the test.
|