// Copyright (C) The Arvados Authors. All rights reserved. // // SPDX-License-Identifier: AGPL-3.0 package main import ( "os" "os/exec" "testing" "gopkg.in/check.v1" ) var buildimage string func init() { os.Args = append(os.Args, "-test.timeout=30m") // kludge } type BuildSuite struct{} var _ = check.Suite(&BuildSuite{}) func Test(t *testing.T) { check.TestingT(t) } func (s *BuildSuite) TestBuildAndInstall(c *check.C) { if testing.Short() { c.Skip("skipping docker tests in short mode") } 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.Chmod(tmpdir, 0755) c.Assert(err, check.IsNil) 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.Check(err, check.IsNil) 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("go", "run", ".", "testinstall", "-package-dir", tmpdir, "-package-version", "1.2.3~rc4", ) cmd.Stdout = os.Stderr cmd.Stderr = os.Stderr err = cmd.Run() c.Check(err, check.IsNil) err = os.RemoveAll(tmpdir) c.Check(err, check.IsNil) }