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 : [email protected] http://www.brondsema.net : personal http://www.splike.com : programming <><
