19099: Skip IPAddress test if it looks like we can't use --fakeroot.
authorTom Clegg <tom@curii.com>
Mon, 16 May 2022 18:24:02 +0000 (14:24 -0400)
committerTom Clegg <tom@curii.com>
Mon, 16 May 2022 18:24:02 +0000 (14:24 -0400)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

lib/crunchrun/singularity_test.go

index 2bad082baa414d77be64937e0e8ba242a6439a0b..7e5819bb482abe53a81ca827402a0f15bfdfe173 100644 (file)
@@ -5,9 +5,11 @@
 package crunchrun
 
 import (
+       "os"
        "os/exec"
 
        . "gopkg.in/check.v1"
+       check "gopkg.in/check.v1"
 )
 
 var _ = Suite(&singularitySuite{})
@@ -39,6 +41,11 @@ func (s *singularitySuite) TestIPAddress(c *C) {
        // because uid=0 under arvados-dispatch-cloud. But in test
        // cases, uid!=0, which means --network=bridge is conditional
        // on --fakeroot.
+       uuc, err := os.ReadFile("/proc/sys/kernel/unprivileged_userns_clone")
+       c.Check(err, check.IsNil)
+       if string(uuc) == "0\n" {
+               c.Skip("insufficient privileges to run this test case -- `singularity exec --fakeroot` requires /proc/sys/kernel/unprivileged_userns_clone = 1")
+       }
        s.executor.(*singularityExecutor).fakeroot = true
        s.executorSuite.TestIPAddress(c)
 }