python3: Add tests for platform-dependant paths and cover include path

pull/2196/head
Guillaume Poirier-Morency 7 years ago
parent 92e2e1e2d8
commit 2653000ac7
  1. 2
      mesonbuild/modules/python3.py
  2. 13
      test cases/python3/1 basic/meson.build

@ -68,7 +68,7 @@ class Python3Module(ExtensionModule):
raise mesonlib.MesonException('{} is not a valid path name {}.'.format(path_name, valid_names))
# Get a relative path without a prefix, e.g. lib/python3.6/site-packages
path = sysconfig.get_path(path_name, vars={'base': '', 'platbase': ''})[1:]
path = sysconfig.get_path(path_name, vars={'base': '', 'platbase': '', 'installed_base': ''})[1:]
return ModuleReturnValue(path, [])

@ -9,10 +9,21 @@ if py3_version.version_compare('< 3.2')
endif
py3_purelib = py3_mod.sysconfig_path('purelib')
if not py3_purelib.endswith('site-packages')
if not py3_purelib.startswith('lib') or not py3_purelib.endswith('site-packages')
error('Python3 purelib path seems invalid?')
endif
# could be 'lib64' on some systems
py3_platlib = py3_mod.sysconfig_path('platlib')
if not py3_platlib.startswith('lib') or not py3_platlib.endswith('site-packages')
error('Python3 platlib path seems invalid?')
endif
py3_include = py3_mod.sysconfig_path('include')
if not py3_include.startswith('include')
error('Python3 include path seems invalid?')
endif
main = files('prog.py')
test('toplevel', py3, args : main)

Loading…
Cancel
Save