Ned Deily <n...@acm.org> added the comment:

You are correct: setuptools_build_ext.py should have been there.  It turns out 
the file was missing in my installer builds due to a combination of issues 
summarized below.  The bottom line is that this is not a problem for 2.6.5 and 
my apologies for causing extra work for you, Tarek.  On the plus side, there 
was some good in all this by causing me to find a couple of serious flaws in my 
testing process and in the current hg support.

The rest of the story: to manage patches, I use hg on top of svn mirrors of the 
various source trees.  hg supports use of a top-level .hgignore file to specify 
files to ignore for revision control.  There is an .hgignore file checked into 
the svn trees but it turns out to have at least one subtly incorrect entry in 
it which causes hg to ignore all files with "build" anywhere in their names.  
As a result, "setuptools_build_ext.py" has not been carried along into builds 
in my build process and I haven't noticed it up to now.
   -> After further investigation, I will open a new issue for the faulty 
.hgignore files.
   -> I'll add some auditing checks to my build process to make sure files 
aren't being unexpectedly ignored.

For future reference, testing the tests requires an OS X framework build.  The 
tests themselves are installed into the lib directory of the framework:
{...}Library/Frameworks/Python.framework/Versions/m.n/lib/pythonm.n/distutils/tests/

If you do not want to disturb an existing framework installation (in 
/Library/Frameworks/Python.frameworks), you can try something like this:

# using the Python-2.6.5rc2 tarball
$ ./configure --enable-framework=/tmp/x/Library/Frameworks && make && make 
install
#   ... ignore frameworkinstallapps permission errors 
$ cd /tmp/x/Library/Frameworks/Python.framework/Versions/2.6
$ bin/python2.6 -m test.regrtest -v test_distutils
test_distutils
test_build_ext: Cannot find source code (test must run in python build dir)
test_get_exe_bytes (distutils.tests.test_bdist_wininst.BuildWinInstTestCase) 
... ok
test_dont_write_bytecode (distutils.tests.test_build_py.BuildPyTestCase) ... ok
[...]

Due to the problem documented in Issue8107, the rest of the test is skipped.  
(In the original report, the OS X installer builds use separate source and 
build directories and the build directory is usually still around when the 
tests are run, so the xxconfig.c *was* found and the test suite was attempted 
resulting in the reported error - another process issue for me.)  If I copy in 
the two updated files (test_build_ext.py and xxmodule.c) from r78877, 
test_build_ext now completes as expected:

$ bin/python2.6 -m test.regrtest -v test_distutils
test_get_exe_bytes (distutils.tests.test_bdist_wininst.BuildWinInstTestCase) 
... ok
test_build_ext (distutils.tests.test_build_ext.BuildExtTestCase) ... ok
test_build_ext_inplace (distutils.tests.test_build_ext.BuildExtTestCase) ... ok
test_build_ext_path_cross_platform 
(distutils.tests.test_build_ext.BuildExtTestCase) ... ok
test_build_ext_path_with_os_sep 
(distutils.tests.test_build_ext.BuildExtTestCase) ... ok
test_check_extensions_list (distutils.tests.test_build_ext.BuildExtTestCase) 
... ok
test_compiler_option (distutils.tests.test_build_ext.BuildExtTestCase) ... ok
test_ext_fullpath (distutils.tests.test_build_ext.BuildExtTestCase) ... ok
test_finalize_options (distutils.tests.test_build_ext.BuildExtTestCase) ... ok
test_get_outputs (distutils.tests.test_build_ext.BuildExtTestCase) ... ok
test_get_source_files (distutils.tests.test_build_ext.BuildExtTestCase) ... ok
test_setuptools_compat (distutils.tests.test_build_ext.BuildExtTestCase) ... ok
test_solaris_enable_shared (distutils.tests.test_build_ext.BuildExtTestCase) 
... ok
test_dont_write_bytecode (distutils.tests.test_build_py.BuildPyTestCase) ... ok
[...]

----------
status: open -> closed

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue8102>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to