classification
Title: sysconfig.py wrong _PROJECT_BASE for Py2.7 Windows 64bit PC/VS9.0
Type: behavior Stage: resolved
Components: Library (Lib), Tests, Windows Versions: Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder: [2.7] sysconfig.is_python_build() doesn't work if Python is built with VS 2008
View: 30342
Assigned To: Nosy List: anselm.kruis, paul.moore, steve.dower, tim.golden, zach.ware
Priority: normal Keywords: patch

Created on 2016-10-28 21:59 by anselm.kruis, last changed 2020-04-26 05:58 by zach.ware. This issue is now closed.

Files
File name Uploaded Description Edit
fix_sysconfig_py.patch anselm.kruis, 2016-10-28 21:59 fix for this issue review
Messages (2)
msg279631 - (view) Author: Anselm Kruis (anselm.kruis) * Date: 2016-10-28 21:59
Affected versions: 2.7.11, 2.7.12
Windows amd64 build with Visual Studio 2008 using the files in PC/VS9.0

If you run test_sysconfig using PC/VS9.0/rt.bat the test case test_get_config_h_filename fails.

--8<-----------8<-----------8<-----------8<-----------8<-----------8<---------
D:\kruis_F\fg2\stackless64\stackless>"D:\kruis_F\fg2\stackless64\stackless\PC\VS9.0\amd64\python"  -Wd -3 -E -tt "D:\kruis_F\fg2\stackless64\stackless\PC\VS9.0\
\..\..\Lib\test\regrtest.py" -v test_sysconfig
== CPython 2.7.11 Stackless 3.1b3 060516 (default, Oct 28 2016, 22:32:20) [MSC v.1500 64 bit (AMD64)]
==   Windows-7-6.1.7601-SP1 little-endian
==   c:\users\kruis\appdata\local\temp\test_python_12436
Testing with flags: sys.flags(debug=0, py3k_warning=1, division_warning=1, division_new=0, inspect=0, interactive=0, optimize=0, dont_write_bytecode=0, no_user_
site=0, no_site=0, ignore_environment=1, tabcheck=2, verbose=0, unicode=0, bytes_warning=0, hash_randomization=0)
[1/1] test_sysconfig
test_get_config_h_filename (test.test_sysconfig.TestSysConfig) ... FAIL
test_get_config_vars (test.test_sysconfig.TestSysConfig) ... ok
test_get_makefile_filename (test.test_sysconfig.TestSysConfig) ... skipped 'Test is not Windows compatible'
test_get_path (test.test_sysconfig.TestSysConfig) ... ok
test_get_path_names (test.test_sysconfig.TestSysConfig) ... ok
test_get_paths (test.test_sysconfig.TestSysConfig) ... ok
test_get_platform (test.test_sysconfig.TestSysConfig) ... ok
test_get_scheme_names (test.test_sysconfig.TestSysConfig) ... ok
test_platform_in_subprocess (test.test_sysconfig.TestSysConfig) ... skipped 'test only relevant on MacOSX'
test_symlink (test.test_sysconfig.TestSysConfig) ... skipped 'module os has no attribute symlink'
test_user_similar (test.test_sysconfig.TestSysConfig) ... ok

======================================================================
FAIL: test_get_config_h_filename (test.test_sysconfig.TestSysConfig)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "D:\kruis_F\fg2\stackless64\stackless\lib\test\test_sysconfig.py", line 239, in test_get_config_h_filename
    self.assertTrue(os.path.isfile(config_h), config_h)
AssertionError: D:\kruis_F\fg2\stackless64\stackless\Include\pyconfig.h

--8<-----------8<-----------8<-----------8<-----------8<-----------8<---------


The failure is caused by the migration of the build files from PCbuild to PC\VS9.0, because
Lib/sysconfig.py does not know this build location.

The attached patch fixes the problem.
msg367297 - (view) Author: Zachary Ware (zach.ware) * (Python committer) Date: 2020-04-26 05:58
Sorry I missed this one!  This was actually addressed in bpo-30342 (GH-1544), but it would have been fixed 7 months sooner if this one hadn't fallen off my radar.  Thanks for the patch anyway!
History
Date User Action Args
2020-04-26 05:58:11zach.waresetstatus: open -> closed
superseder: [2.7] sysconfig.is_python_build() doesn't work if Python is built with VS 2008
messages: + msg367297

resolution: fixed
stage: resolved
2016-10-28 21:59:14anselm.kruiscreate