Chris Withers | 1 Jul 2012 09:43
Picon

Weird problem with Jenkins: ShiningPanda plugin and Tox

Hi Holger/Olivier,

Something has changed between 15th Feb and now in either Tox, distribute 
or virtualenv that results in a "Permission denied" error on Linux and 
Mac OS but not Windows:

IOError: [Errno 13] Permission denied: 
'py2.6/lib/python2.6/distutils/__init__.py'

This is what the output used to look like back in Feb:

http://jenkins.simplistix.co.uk/job/checker-tox/PYTHON=2.6,label=linux/7/console

Now the job emits:

http://jenkins.simplistix.co.uk/job/checker-tox/PYTHON=2.6,label=linux/8/console

No code has changed in the project under test. I first experienced this 
problem on another job on the same Jenkins server. I've made sure 
Jenkins and all its plugins, including ShiningPanda are now up to date, 
but I still get the result you see above :-(

Some observations:

- it's strange that the traceback appears to reference a python2.5 
virtualenv when it's Python 2.6 that's under test here. (yes, I want to 
keep 2.5 compatibility, but surely Tox/ShiningPanda should use the 
latest available python for its own use, rather than the earliest?)

- the contents of the distutils dir in question appear to be owned by root:
(Continue reading)

Chris Withers | 1 Jul 2012 17:20
Picon

Are extensions needed for coverage required?

Hi Ned,

Got the following installing coverage on Mac OS X using the Python 2.7 
that ships with Enthought's Python Distribution:

Getting distribution for 'coverage>=3.4'.
no previously-included directories found matching 'test'
In file included from 
/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/unicodeobject.h:4,
                  from 
/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:85,
                  from coverage/tracer.c:3:
/Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error: 
stdarg.h: No such file or directory
In file included from 
/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/unicodeobject.h:4,
                  from 
/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:85,
                  from coverage/tracer.c:3:
/Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error: 
stdarg.h: No such file or directory
lipo: can't figure out the architecture type of: 
/var/folders/m6/tsd59qsj7pd_lldh4mhwh6kh0000gn/T//ccEpiEId.out
**
** Couldn't install with extension module, trying without it...
** SystemExit: error: command 'gcc-4.2' failed with exit status 1
**
no previously-included directories found matching 'test'
Got coverage 3.5.2.

(Continue reading)

Ned Batchelder | 1 Jul 2012 17:34
Favicon
Gravatar

Re: Are extensions needed for coverage required?

On 7/1/2012 11:20 AM, Chris Withers wrote:
> Hi Ned,
>
> Got the following installing coverage on Mac OS X using the Python 2.7 
> that ships with Enthought's Python Distribution:
>
> Getting distribution for 'coverage>=3.4'.
> no previously-included directories found matching 'test'
> In file included from 
> /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/unicodeobject.h:4,
>                  from 
> /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:85,
>                  from coverage/tracer.c:3:
> /Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error: 
> stdarg.h: No such file or directory
> In file included from 
> /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/unicodeobject.h:4,
>                  from 
> /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:85,
>                  from coverage/tracer.c:3:
> /Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error: 
> stdarg.h: No such file or directory
> lipo: can't figure out the architecture type of: 
> /var/folders/m6/tsd59qsj7pd_lldh4mhwh6kh0000gn/T//ccEpiEId.out
> **
> ** Couldn't install with extension module, trying without it...
> ** SystemExit: error: command 'gcc-4.2' failed with exit status 1
> **
> no previously-included directories found matching 'test'
> Got coverage 3.5.2.
(Continue reading)

Chris Withers | 1 Jul 2012 17:40
Picon

Re: Are extensions needed for coverage required?

Hi Ned,

Thanks for the quick response!

(CC'ing Enthought support in case it's something to do with EPD 7.2-2)

On 01/07/2012 16:34, Ned Batchelder wrote:
> Chris: coverage.py works by setting a trace function with
> sys.settrace().  That function is invoked for every line of your
> program.  To reduce the burden, coverage.py has a trace function written
> in C.  If for whatever reason you can't compile that C extension,
> coverage.py will fall back to a Python implementation, which is what
> happened here to you.  Everything will continue to work, but it will be
> slower.

Okay, so sounds like I'd like the C extension, but the problem is more 
general, I've had the same error trying to compile some other C 
extensions on Mac OS X:

>> /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/unicodeobject.h:4,
>>
>>                  from
>> /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:85,
>>
>>                  from coverage/tracer.c:3:
>> /Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error:
>> stdarg.h: No such file or directory

Anyone seen this and/or know how to fix it?

(Continue reading)

Chris Withers | 1 Jul 2012 18:07
Picon

Re: [EPD.Support] Re: Are extensions needed for coverage required?

On 01/07/2012 16:47, Robert Kern wrote:
>>>> /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:85,
>>>>
>>>>                   from coverage/tracer.c:3:
>>>> /Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error:
>>>> stdarg.h: No such file or directory
>>
>>
>> Anyone seen this and/or know how to fix it?
>
> It looks like you need to install the SDK from Apple. Either install
> the full Xcode from the App Store or sign up as a developer to
> download from their developer site:
>
>    https://developer.apple.com/downloads/index.action#
>
> If you are on 10.7, then you can also download their "Command Line
> Tools for Xcode" which just has the compilers and the SDKs and not the
> Xcode GUI.

I have Xcode installed on both machines...

Chris

--

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk
Chris Withers | 1 Jul 2012 18:13
Picon

Re: [EPD.Support] Re: Are extensions needed for coverage required?

On 01/07/2012 17:09, Robert Kern wrote:
>>>>>> /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/Python.h:85,
>>>>>>
>>>>>>                    from coverage/tracer.c:3:
>>>>>> /Developer/SDKs/MacOSX10.6.sdk/usr/include/stdarg.h:4:25: error:
>>>>>> stdarg.h: No such file or directory
>>>>
>> I have Xcode installed on both machines...
>
> And the appropriate SDKs? Does the /Developer/SDKs/MacOSX10.6.sdk/
> directory tree exist?

Yep:

buzzkill:~ chris$ ls /Developer/SDKs/MacOSX10.6.sdk
Developer               Library                 SDKSettings.plist 
System                  usr

Chris

--

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk
Chris Withers | 1 Jul 2012 18:20
Picon

Re: Weird problem with Jenkins: ShiningPanda plugin and Tox, but not tox on its own...

On 01/07/2012 08:43, Chris Withers wrote:
> Something has changed between 15th Feb and now in either Tox, distribute
> or virtualenv that results in a "Permission denied" error on Linux and
> Mac OS but not Windows:
>
> IOError: [Errno 13] Permission denied:
> 'py2.6/lib/python2.6/distutils/__init__.py'
>
> This is what the output used to look like back in Feb:
>
> http://jenkins.simplistix.co.uk/job/checker-tox/PYTHON=2.6,label=linux/7/console
>
>
> Now the job emits:
>
> http://jenkins.simplistix.co.uk/job/checker-tox/PYTHON=2.6,label=linux/8/console
>
>
> No code has changed in the project under test. I first experienced this
> problem on another job on the same Jenkins server. I've made sure
> Jenkins and all its plugins, including ShiningPanda are now up to date,
> but I still get the result you see above :-(
>
> Some observations:

Another one is that Tox on its own runs fine outside of 
Jenkins/ShiningPanda:

jenkins <at> server2:~/slave/workspace/testfixtures-buildout/PYTHON/2.5/label/linux$ 
bin/tox
(Continue reading)

Assaf Leibovitch | 1 Jul 2012 21:01
Picon
Favicon

AUTO: Assaf Leibovitch is out of the office (returning 07/02/2012)


I am out of the office until 07/02/2012.

Note: This is an automated response to your message  "testing-in-python
Digest, Vol 66, Issue 1" sent on 1/7/2012 22:00:03.

This is the only notification you will receive while this person is away.
Chris Withers | 1 Jul 2012 22:31
Picon

shell quoting issue with ShiningPanda/Tox

Hi Olivier/Holger,

This one definitely looks like a ShiningPanda issue. Since some 
libraries used in my tox setup now require version pinning for Python 
2.5, I've had to change my tox.ini to pin versions. However, at least on 
Windows, ShiningPanda's tox builder doesn't appear to be quoting the 
pinned version requirements:

http://jenkins.simplistix.co.uk/job/checker-tox/12/PYTHON=2.5,label=windows/console

The following is being run:

C:\Jenkins\workspace\checker-tox\PYTHON\2.5\label\windows\.tox\py2.5\Scripts\pip.EXE 
install 
--download-cache=C:\Jenkins\workspace\checker-tox\PYTHON\2.5\label\windows\.tox\_download 
mock manuel<1.6 nose nose_fixes nose-cov testfixtures zc.buildout 
zc.recipe.egg zope.exceptions<4.0dev zope.interface>=3.6.0,<4.0dev 
zope.testing

...when it should, at a minimum, be as follows:

C:\Jenkins\workspace\checker-tox\PYTHON\2.5\label\windows\.tox\py2.5\Scripts\pip.EXE 
install 
--download-cache=C:\Jenkins\workspace\checker-tox\PYTHON\2.5\label\windows\.tox\_download 
mock "manuel<1.6" nose nose_fixes nose-cov testfixtures zc.buildout 
zc.recipe.egg "zope.exceptions<4.0dev" "zope.interface>=3.6.0,<4.0dev" 
zope.testing

Is this a Tox issue or a ShiningPanda issue?

(Continue reading)

Chris Withers | 1 Jul 2012 22:37
Picon

Re: Weird problem with Jenkins: ShiningPanda plugin and Tox, but not tox on its own...

Hi Olivier,

On 01/07/2012 20:20, Olivier Mansion wrote:
> Have you changed the UNIX user that starts the Jenkins instance?

Not on the problematic Linux slave, but even on the Mac slave it seems 
unrelated.

 > And if you try to delete the .tox folder, does this fix the issue on the
 > next build?

In all the machines, I completely deleted the shiningpanda folder and 
the workspaces for all the tox jobs, eg:

jenkins <at> server2:~/slave$ rm -rf shiningpanda/ workspace/*-tox

...but still the same problem:

http://jenkins.simplistix.co.uk/job/checker-tox/14/PYTHON=2.6,label=linux/console

Is this maybe a change in the Tox package? How can I force the 
ShiningPanda tox builder to use tox 1.3 instead of 1.4 to check?

cheers,

Chris

--

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk
(Continue reading)


Gmane