X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/41305b5ac71cc9a306dc654c42c11ffcc4258a47..13f6d45704efc68ca8419e8917376aa44fdee1be:/cmd/arvados-package/build_test.go diff --git a/cmd/arvados-package/build_test.go b/cmd/arvados-package/build_test.go index abb54532d0..7130e3394b 100644 --- a/cmd/arvados-package/build_test.go +++ b/cmd/arvados-package/build_test.go @@ -5,10 +5,8 @@ package main import ( - "flag" "os" "os/exec" - "path/filepath" "testing" "gopkg.in/check.v1" @@ -18,13 +16,6 @@ var buildimage string func init() { os.Args = append(os.Args, "-test.timeout=30m") // kludge - - // This enables a hack to speed up repeated tests: hit "docker - // commit --pause {containername} checkpointtag" after the - // test container has downloaded/compiled some stuff, then run - // tests with "-test.buildimage=checkpointtag" next time to - // retry/resume/update from that point. - flag.StringVar(&buildimage, "test.buildimage", "debian:10", "docker image to use when running buildpackage") } type BuildSuite struct{} @@ -39,39 +30,40 @@ func (s *BuildSuite) TestBuildAndInstall(c *check.C) { } else if _, err := exec.Command("docker", "info").CombinedOutput(); err != nil { c.Skip("skipping docker tests because docker is not available") } + tmpdir := c.MkDir() defer os.RemoveAll(tmpdir) - - err := os.Mkdir(tmpdir+"/pkg", 0755) - c.Assert(err, check.IsNil) - err = os.Mkdir(tmpdir+"/bin", 0755) + err := os.Chmod(tmpdir, 0755) c.Assert(err, check.IsNil) - cmd := exec.Command("go", "install") - cmd.Env = append(append([]string(nil), os.Environ()...), "GOPATH="+tmpdir) - cmd.Stdout = os.Stdout + cmd := exec.Command("go", "run", ".", + "build", + "-package-dir", tmpdir, + "-package-version", "1.2.3~rc4", + "-source", "../..", + ) + cmd.Stdout = os.Stderr cmd.Stderr = os.Stderr err = cmd.Run() - c.Assert(err, check.IsNil) + c.Check(err, check.IsNil) - srctree, err := filepath.Abs("../..") + fi, err := os.Stat(tmpdir + "/arvados-server-easy_1.2.3~rc4_amd64.deb") c.Assert(err, check.IsNil) + c.Logf("%#v", fi) + + buf, _ := exec.Command("ls", "-l", tmpdir).CombinedOutput() + c.Logf("%s", buf) - cmd = exec.Command("docker", "run", "--rm", - "-v", tmpdir+"/pkg:/pkg", - "-v", tmpdir+"/bin/arvados-package:/arvados-package:ro", - "-v", srctree+":/usr/local/src/arvados:ro", - buildimage, - "/arvados-package", "build", - "-package-version", "0.9.99", - "-source", "/usr/local/src/arvados", - "-output-directory", "/pkg") - cmd.Stdout = os.Stdout + cmd = exec.Command("go", "run", ".", + "testinstall", + "-package-dir", tmpdir, + "-package-version", "1.2.3~rc4", + ) + cmd.Stdout = os.Stderr cmd.Stderr = os.Stderr err = cmd.Run() - c.Assert(err, check.IsNil) + c.Check(err, check.IsNil) - fi, err := os.Stat(tmpdir + "/pkg/arvados-server-easy_0.9.99_amd64.deb") - c.Assert(err, check.IsNil) - c.Logf("%#v", fi) + err = os.RemoveAll(tmpdir) + c.Check(err, check.IsNil) }