X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/64d66bca9b9816d0ff025fbee91d04b1d7211f13..cf0c4c381a2b34130f072096038a430e3c6bbe55:/services/crunch-run/git_mount_test.go?ds=sidebyside diff --git a/services/crunch-run/git_mount_test.go b/services/crunch-run/git_mount_test.go index 0161abbc55..61ee24c911 100644 --- a/services/crunch-run/git_mount_test.go +++ b/services/crunch-run/git_mount_test.go @@ -6,11 +6,14 @@ package main import ( "io/ioutil" + "net/url" "os" "path/filepath" + "git.curoverse.com/arvados.git/lib/config" "git.curoverse.com/arvados.git/sdk/go/arvados" "git.curoverse.com/arvados.git/sdk/go/arvadostest" + "git.curoverse.com/arvados.git/sdk/go/ctxlog" check "gopkg.in/check.v1" git_client "gopkg.in/src-d/go-git.v4/plumbing/transport/client" git_http "gopkg.in/src-d/go-git.v4/plumbing/transport/http" @@ -67,6 +70,12 @@ func (s *GitMountSuite) TestextractTree(c *check.C) { // Ensure there's no extra stuff like a ".git" dir s.checkTmpdirContents(c, []string{"dir1"}) + + // Ensure tmpdir is world-readable and world-executable so the + // UID inside the container can use it. + fi, err = os.Stat(s.tmpdir) + c.Check(err, check.IsNil) + c.Check(fi.Mode()&os.ModePerm, check.Equals, os.FileMode(0755)) } // Commit 5ebfab0 is not the tip of any branch or tag, but is @@ -167,6 +176,15 @@ func (s *GitMountSuite) TestInvalid(c *check.C) { }, matcher: ".*UUID.*", }, + { + gm: gitMount{ + Path: "/", + UUID: arvadostest.Repository2UUID, + Commit: "5ebfab0522851df01fec11ec55a6d0f4877b542e", + Writable: true, + }, + matcher: ".*writable.*", + }, } { err := trial.gm.extractTree(&ArvTestClient{}, s.tmpdir, arvadostest.ActiveToken) c.Check(err, check.NotNil) @@ -188,7 +206,11 @@ func (s *GitMountSuite) checkTmpdirContents(c *check.C, expect []string) { func (*GitMountSuite) useTestGitServer(c *check.C) { git_client.InstallProtocol("https", git_http.NewClient(arvados.InsecureHTTPClient)) - port, err := ioutil.ReadFile("../../tmp/arv-git-httpd-ssl.port") + loader := config.NewLoader(nil, ctxlog.TestLogger(c)) + cfg, err := loader.Load() c.Assert(err, check.IsNil) - discoveryMap["gitUrl"] = "https://localhost:" + string(port) + cluster, err := cfg.GetCluster("") + c.Assert(err, check.IsNil) + + discoveryMap["gitUrl"] = (*url.URL)(&cluster.Services.GitHTTP.ExternalURL).String() }