diff options
-rw-r--r-- | numpy/distutils/misc_util.py | 12 | ||||
-rw-r--r-- | numpy/distutils/tests/test_misc_util.py | 9 |
2 files changed, 14 insertions, 7 deletions
diff --git a/numpy/distutils/misc_util.py b/numpy/distutils/misc_util.py index 79b6f25f3..8136f8f4f 100644 --- a/numpy/distutils/misc_util.py +++ b/numpy/distutils/misc_util.py @@ -126,13 +126,13 @@ def allpath(name): return os.path.join(*splitted) def rel_path(path, parent_path): - """Return path relative to parent_path. - """ - pd = os.path.abspath(parent_path) - apath = os.path.abspath(path) - if len(apath)<len(pd): + """Return path relative to parent_path.""" + # Use realpath to avoid issues with symlinked dirs (see gh-7707) + pd = os.path.realpath(os.path.abspath(parent_path)) + apath = os.path.realpath(os.path.abspath(path)) + if len(apath) < len(pd): return path - if apath==pd: + if apath == pd: return '' if pd == apath[:len(pd)]: assert apath[len(pd)] in [os.sep], repr((path, apath[len(pd)])) diff --git a/numpy/distutils/tests/test_misc_util.py b/numpy/distutils/tests/test_misc_util.py index c50b9480b..3e97b6fe2 100644 --- a/numpy/distutils/tests/test_misc_util.py +++ b/numpy/distutils/tests/test_misc_util.py @@ -4,7 +4,7 @@ from __future__ import division, absolute_import, print_function from os.path import join, sep, dirname from numpy.distutils.misc_util import ( - appendpath, minrelpath, gpaths, get_shared_lib_extension + appendpath, minrelpath, gpaths, get_shared_lib_extension, get_info ) from numpy.testing import ( TestCase, run_module_suite, assert_, assert_equal @@ -75,5 +75,12 @@ class TestSharedExtension(TestCase): # just check for no crash assert_(get_shared_lib_extension(is_python_ext=True)) + +def test_installed_npymath_ini(): + # Regression test for gh-7707. If npymath.ini wasn't installed, then this + # will give an error. + info = get_info('npymath') + + if __name__ == "__main__": run_module_suite() |