On Thu, Jan 18, 2018 at 10:00:14PM +0700, Duy Nguyen wrote: > The test suite was run as root, no wonder why my removing write access > has no effect. I got the test to pass with this, but then it fails > with > > Can't write .prove (Permission denied) at /usr/share/perl/5.22/App/Prove.pm line 542. > > Some more chown'ing or chmod'ing is required.... Ah, right. I agree that we probably ought to run the ci as non-root. However, if the test requires non-root, it probably needs to be marked with the SANITY prereq. I also ran into one funny thing: if you run the script with "-i", then we do not run the test_when_finished block. And therefore the "ro" directory is left without its write bit, and the next test run fails, as it cannot "rm -rf" the old trash directory out of the way. I'm not sure there's a good solution, though. Skipping the test_when_finished block on a "-i" run is intentional, to let you inspect the broken state. > Subject: [PATCH] ci: don't accidentally run the test suite as root > > This script assigns and adds a user named "ci" in a subshell so the > outer CI_USER is not affected. For some reason, CI_USER is actually > empty on Travis linux32 builds. This makes the following "su" useless > and the test suite is run as root. Are we sure this was the problem on Travis, and it wasn't just an issue with how I reproduced via docker? -Peff