incubator-allura-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Brondsema <d...@brondsema.net>
Subject tmp dir during tests
Date Wed, 15 May 2013 21:30:23 GMT
Allura tests use /tmp for some things, like SVN repo testing.  However, on some
systems (e.g. Centos 6.3 on our new internal CI server) the /tmp filesystem is
mounted as `noexec` so nothing can execute directly on it, even if the execute
bit is set on the file.

I fixed a number of test failures with this commit
https://git-wip-us.apache.org/repos/asf?p=incubator-allura.git;a=commitdiff;h=97ddc1593a230fdd09f9cd65aab28a2ec31fc4ea

But now I'm facing errors that can't be easily worked around.  The trace is at
the end of this email, but basically the `pre-revprop-change` hook must exist
and be executable to run an svnsync.  So when /tmp is mounted noexec this
doesn't work.

Any suggestions for how to make our tests work better?  I'm thinking about
having them use the $TMPDIR environment variable if it is set.  In my case, I
could then set TMPDIR=/var/lib/jenkins/tmp and it should work.  But anyone else
running into this would have to know to set TMPDIR.  Another option might be use
use a local ./tmp/ directory right in the allura directory.  But I don't like
something about creating files in the local directory space (the ever-growing
test.log files are bad enough).



Traceback (most recent call last):
  File "/usr/lib64/python2.7/unittest/case.py", line 365, in run
    testMethod()
  File
"/var/lib/jenkins/workspace/allura/ForgeSVN/forgesvn/tests/model/test_repository.py",
line 152, in test_fork
    repo._impl.clone_from('file://' + repo_path)
  File "/var/lib/jenkins/workspace/allura/ForgeSVN/forgesvn/model/svn.py", line
277, in clone_from
    'initialize', self._url, source_url])
  File "/var/lib/jenkins/workspace/allura/ForgeSVN/forgesvn/model/svn.py", line
240, in check_call
    raise SVNCalledProcessError(cmd, p.returncode, stdout, stderr)
SVNCalledProcessError: Command: '['svnsync', '--non-interactive',
'--allow-non-empty', 'initialize', 'file:///tmp/testsvn',
'file:///var/lib/jenkins/workspace/allura/ForgeSVN/forgesvn/tests/data/testsvn']' returned
non-zero exit status 1
STDOUT:
STDERR: svnsync: E165001: Revprop change blocked by pre-revprop-change hook
(exit code 255) with no output.




-- 
Dave Brondsema : dave@brondsema.net
http://www.brondsema.net : personal
http://www.splike.com : programming
              <><

Mime
View raw message