11789: Merge branch 'master' into 11789-arvput-exclude-flag
[arvados.git] / services / crunch-run / crunchrun_test.go
index 64eed2c1d3df6da7a5c18e5d197897a8f2731614..9fdc689e79d06cba29d257a93bf9bc58e8b163c2 100644 (file)
@@ -1,3 +1,7 @@
+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
 package main
 
 import (
@@ -24,7 +28,6 @@ import (
 
        "git.curoverse.com/arvados.git/sdk/go/arvados"
        "git.curoverse.com/arvados.git/sdk/go/arvadosclient"
-       "git.curoverse.com/arvados.git/sdk/go/keepclient"
        "git.curoverse.com/arvados.git/sdk/go/manifest"
 
        dockertypes "github.com/docker/docker/api/types"
@@ -139,8 +142,15 @@ func (t *TestDockerClient) ContainerStop(ctx context.Context, container string,
        return nil
 }
 
-func (t *TestDockerClient) ContainerWait(ctx context.Context, container string) (int64, error) {
-       return int64(t.finish), nil
+func (t *TestDockerClient) ContainerWait(ctx context.Context, container string, condition dockercontainer.WaitCondition) (<-chan dockercontainer.ContainerWaitOKBody, <-chan error) {
+       body := make(chan dockercontainer.ContainerWaitOKBody)
+       err := make(chan error)
+       go func() {
+               body <- dockercontainer.ContainerWaitOKBody{StatusCode: int64(t.finish)}
+               close(body)
+               close(err)
+       }()
+       return body, err
 }
 
 func (t *TestDockerClient) ImageInspectWithRaw(ctx context.Context, image string) (dockertypes.ImageInspect, []byte, error) {
@@ -298,10 +308,10 @@ func (client *KeepTestClient) PutHB(hash string, buf []byte) (string, int, error
 
 type FileWrapper struct {
        io.ReadCloser
-       len uint64
+       len int64
 }
 
-func (fw FileWrapper) Len() uint64 {
+func (fw FileWrapper) Size() int64 {
        return fw.len
 }
 
@@ -309,7 +319,7 @@ func (fw FileWrapper) Seek(int64, int) (int64, error) {
        return 0, errors.New("not implemented")
 }
 
-func (client *KeepTestClient) ManifestFileReader(m manifest.Manifest, filename string) (keepclient.Reader, error) {
+func (client *KeepTestClient) ManifestFileReader(m manifest.Manifest, filename string) (arvados.File, error) {
        if filename == hwImageId+".tar" {
                rdr := ioutil.NopCloser(&bytes.Buffer{})
                client.Called = true
@@ -397,7 +407,7 @@ func (KeepErrorTestClient) PutHB(hash string, buf []byte) (string, int, error) {
        return "", 0, errors.New("KeepError")
 }
 
-func (KeepErrorTestClient) ManifestFileReader(m manifest.Manifest, filename string) (keepclient.Reader, error) {
+func (KeepErrorTestClient) ManifestFileReader(m manifest.Manifest, filename string) (arvados.File, error) {
        return nil, errors.New("KeepError")
 }
 
@@ -417,7 +427,7 @@ func (ErrorReader) Close() error {
        return nil
 }
 
-func (ErrorReader) Len() uint64 {
+func (ErrorReader) Size() int64 {
        return 0
 }
 
@@ -425,7 +435,7 @@ func (ErrorReader) Seek(int64, int) (int64, error) {
        return 0, errors.New("ErrorReader")
 }
 
-func (KeepReadErrorTestClient) ManifestFileReader(m manifest.Manifest, filename string) (keepclient.Reader, error) {
+func (KeepReadErrorTestClient) ManifestFileReader(m manifest.Manifest, filename string) (arvados.File, error) {
        return ErrorReader{}, nil
 }
 
@@ -1491,7 +1501,7 @@ func (s *TestSuite) TestOutputError(c *C) {
        extraMounts := []string{}
 
        api, _, _ := FullRunHelper(c, helperRecord, extraMounts, 0, func(t *TestDockerClient) {
-               os.Symlink("/does/not/exist", t.realTemp+"/2/baz")
+               os.Symlink("/etc/hosts", t.realTemp+"/2/baz")
                t.logWriter.Close()
        })