[arvados] created: 2.1.0-2593-ge88fa4626
git repository hosting
git at public.arvados.org
Tue Jun 7 13:55:22 UTC 2022
at e88fa4626ed30e12b46d80cfabe375e85943b1bd (commit)
commit e88fa4626ed30e12b46d80cfabe375e85943b1bd
Author: Tom Clegg <tom at curii.com>
Date: Tue Jun 7 09:53:46 2022 -0400
18765: Add repro/test case.
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom at curii.com>
diff --git a/lib/crunchrun/executor_test.go b/lib/crunchrun/executor_test.go
index ea6e610d8..f22e7a59d 100644
--- a/lib/crunchrun/executor_test.go
+++ b/lib/crunchrun/executor_test.go
@@ -123,6 +123,22 @@ func (s *executorSuite) TestExecCleanEnv(c *C) {
}
c.Check(got, DeepEquals, s.spec.Env)
}
+
+func (s *executorSuite) TestExecLongArg(c *C) {
+ hostdir := c.MkDir()
+ c.Assert(os.WriteFile(hostdir+"/testfile", []byte("last tube"), 0777), IsNil)
+ s.spec.BindMounts = map[string]bindmount{}
+ for n := 0; n < 9600; n++ {
+ s.spec.BindMounts[fmt.Sprintf("/longargtest-%d", n)] = bindmount{HostPath: hostdir + "/testfile", ReadOnly: true}
+ }
+ s.spec.Command = []string{"/bin/sh", "-c", fmt.Sprintf("printf %%s %123000.123000s a", " ")}
+ c.Logf("command arg[2] len is %d", len(s.spec.Command[2]))
+ s.checkRun(c, 0)
+ if !c.Check(s.stdout.String(), Equals, "a") {
+ c.Logf("stderr:\n%s\n", s.stderr.String())
+ }
+}
+
func (s *executorSuite) TestExecEnableNetwork(c *C) {
for _, enable := range []bool{false, true} {
s.SetUpTest(c)
diff --git a/lib/crunchrun/singularity_test.go b/lib/crunchrun/singularity_test.go
index e4c7cdb30..c3e71975f 100644
--- a/lib/crunchrun/singularity_test.go
+++ b/lib/crunchrun/singularity_test.go
@@ -58,6 +58,13 @@ func (s *singularitySuite) TestInject(c *C) {
s.executorSuite.TestInject(c)
}
+func (s *singularitySuite) TestExecLongArg(c *C) {
+ // singularity 3.9.9 fails with:
+ // FATAL: while initializing starter command: while copying engine configuration: engine configuration too big > 1048448
+ c.Skip("known bug/limitation, see https://dev.arvados.org/issues/18765")
+ s.executorSuite.TestExecLongArg(c)
+}
+
var _ = Suite(&singularityStubSuite{})
// singularityStubSuite tests don't really invoke singularity, so we
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list