| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Not new things, but in touched lines...
|
|
|
|
|
|
|
|
| |
In some cases, the replacement is clearly not what is intended,
in those (where setup was called explicitly), I mostly renamed
`setup` to `_setup`.
The `test_ccompile_opt` is a bit confusing, so left it right now
(this will probably fail)
|
| |
|
|
|
|
|
|
|
|
| |
CI once produced a tempfile name with the string 'mkl' embedded. The
old code changed this as well as the section name. This should ensure
only section names get changed, and the restriction on the number of
replacements should catch any weird corner cases, since I think the
sections came first.
|
|
|
|
|
|
| |
Relevant for when LAPACK/BLAS optimization is disabled.
Addresses https://github.com/numpy/numpy/pull/17346#issuecomment-694744389.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BLD: enabled negation of library choices in NPY_*_ORDER
When users build for a particular order it may be beneficial
to disallow certain libraries.
In particular a user may not care about which accelerated
BLAS library is used, so long as the NetLIB or ATLAS library isn't used.
This is now possible with:
NPY_BLAS_ORDER='^blas,atlas'
or
NPY_BLAS_ORDER='!blas,atlas'
Since we may envision more BLAS/LAPACK libraries to the pool, this
will provide greater flexibility as they enter.
A new (local) method is added in system_info.py which removes duplicate
code and allows for easier usage across libraries.
|
| |
|
|
|
|
|
|
|
| |
Inheriting from object was necessary for Python 2 compatibility to use
new-style classes. In Python 3, this is unnecessary as there are no
old-style classes.
Dropping the object is more idiomatic Python.
|
|
|
|
|
| |
As numpy is Python 3 only, these import statements are now unnecessary
and don't alter runtime behavior.
|
|
|
| |
* BLD: use libraries as a key consistently in all site.cfg sections
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
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
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
| |
Fixes test_system_info.TestSystemInfoReading.test_compile1 failure on Windows
|
| |
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
The error of getcwd on 2.6 was due to previous fault.
We should not request include_dirs as they are not provided.
For python 3 I forgot the top ascii writing.
|
|
|
|
|
|
|
| |
The test on Travis does not allow getcwd on python 2.6
The test for python 3+ already is in unicode, hence the
str representation was wrong.
|
|
A simple test (distutils/testing/test_system_info.py)
to check that the options are read in correctly has been added.
This test has a few faults:
A) It does not allow strict library checks as that can be
_very_ system dependent.
B) It compiles some simple C-programs but does currently not link
them to a shared library.
C) As such the test does not check that the flags are actually used.
To circumvent this one should:
A) Make a library of the compiled sources.
B) Check that a runtime_library_dirs is working by checking
with ldd
C) Make a preprocessor flag to check the output of two commands which
should differ according to the flags in each block
I am not too much into the distutils compiler suite. So I have not
endeavoured on this path.
- The current test shows that the flags are read in by the standard system_info
object and can thus be considered a "stable" solution.
- Added note of the 1.10 release schedule.
- Corrected the site.cfg.example, added runtime_library_dirs to
the OpenBLAS example where it seems appropriate.
- Bugfix for the site.cfg.example (the [DEFAULT] block should be
name [ALL])
This might have lead to some confusion, but many of the libraries
are linked explicitly by their own sections, hence it might not have
been caught.
|