20319: Move /containers/*/log to /container_requests/*/log.
[arvados.git] / lib / crunchrun / executor_test.go
index ea6e610d8b7921f97532461cc75dcea4427318f6..f1a873ae8dcc9b86d79ddc0170c8a44743f8dd81 100644 (file)
@@ -6,17 +6,19 @@ package crunchrun
 
 import (
        "bytes"
+       "context"
        "fmt"
        "io"
+       "io/ioutil"
        "net"
        "net/http"
        "os"
        "strings"
        "time"
 
+       "git.arvados.org/arvados.git/lib/diagnostics"
        "git.arvados.org/arvados.git/sdk/go/arvados"
        "git.arvados.org/arvados.git/sdk/go/arvadostest"
-       "golang.org/x/net/context"
        . "gopkg.in/check.v1"
 )
 
@@ -63,6 +65,21 @@ func (s *executorSuite) TestExecTrivialContainer(c *C) {
        c.Check(s.stderr.String(), Equals, "")
 }
 
+func (s *executorSuite) TestDiagnosticsImage(c *C) {
+       s.newExecutor(c)
+       imagefile := c.MkDir() + "/hello-world.tar"
+       err := ioutil.WriteFile(imagefile, diagnostics.HelloWorldDockerImage, 0777)
+       c.Assert(err, IsNil)
+       err = s.executor.LoadImage("", imagefile, arvados.Container{}, "", nil)
+       c.Assert(err, IsNil)
+
+       c.Logf("Using container runtime: %s", s.executor.Runtime())
+       s.spec.Image = "hello-world"
+       s.spec.Command = []string{"/hello"}
+       s.checkRun(c, 0)
+       c.Check(s.stdout.String(), Matches, `(?ms)\nHello from Docker!\n.*`)
+}
+
 func (s *executorSuite) TestExitStatus(c *C) {
        s.spec.Command = []string{"false"}
        s.checkRun(c, 1)