X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2a21ea7ddc0739f9ce54589600be7f136ddd83fa..bfe0ea9b824dc057f07355a928ccb64ab68b6c57:/lib/crunchrun/singularity_test.go diff --git a/lib/crunchrun/singularity_test.go b/lib/crunchrun/singularity_test.go index 2bad082baa..e4c7cdb308 100644 --- a/lib/crunchrun/singularity_test.go +++ b/lib/crunchrun/singularity_test.go @@ -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) } @@ -71,5 +78,5 @@ func (s *singularityStubSuite) TestSingularityExecArgs(c *C) { e.imageFilename = "/fake/image.sif" cmd := e.execCmd("./singularity") c.Check(cmd.Args, DeepEquals, []string{"./singularity", "exec", "--containall", "--cleanenv", "--pwd=/WorkingDir", "--net", "--network=none", "--nv", "--bind", "/hostpath:/mnt:ro", "/fake/image.sif"}) - c.Check(cmd.Env, DeepEquals, []string{"SINGULARITYENV_FOO=bar"}) + c.Check(cmd.Env, DeepEquals, []string{"SINGULARITYENV_FOO=bar", "SINGULARITY_NO_EVAL=1"}) }