incubator-allura-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Brondsema <>
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;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/", line 365, in run
line 152, in test_fork
    repo._impl.clone_from('file://' + repo_path)
  File "/var/lib/jenkins/workspace/allura/ForgeSVN/forgesvn/model/", line
277, in clone_from
    'initialize', self._url, source_url])
  File "/var/lib/jenkins/workspace/allura/ForgeSVN/forgesvn/model/", 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
STDERR: svnsync: E165001: Revprop change blocked by pre-revprop-change hook
(exit code 255) with no output.

Dave Brondsema : : personal : programming

View raw message