16306: Update tests.
[arvados.git] / cmd / arvados-package / build_test.go
1 // Copyright (C) The Arvados Authors. All rights reserved.
2 //
3 // SPDX-License-Identifier: AGPL-3.0
4
5 package main
6
7 import (
8         "os"
9         "os/exec"
10         "testing"
11
12         "gopkg.in/check.v1"
13 )
14
15 var buildimage string
16
17 func init() {
18         os.Args = append(os.Args, "-test.timeout=30m") // kludge
19 }
20
21 type BuildSuite struct{}
22
23 var _ = check.Suite(&BuildSuite{})
24
25 func Test(t *testing.T) { check.TestingT(t) }
26
27 func (s *BuildSuite) TestBuildAndInstall(c *check.C) {
28         if testing.Short() {
29                 c.Skip("skipping docker tests in short mode")
30         } else if _, err := exec.Command("docker", "info").CombinedOutput(); err != nil {
31                 c.Skip("skipping docker tests because docker is not available")
32         }
33         tmpdir := c.MkDir()
34         defer os.RemoveAll(tmpdir)
35
36         cmd := exec.Command("go", "run", ".",
37                 "build",
38                 "-package-dir", tmpdir,
39                 "-package-version", "1.2.3~rc4",
40                 "-source", "../..",
41         )
42         cmd.Stdout = os.Stderr
43         cmd.Stderr = os.Stderr
44         err := cmd.Run()
45         c.Check(err, check.IsNil)
46
47         fi, err := os.Stat(tmpdir + "/arvados-server-easy_1.2.3~rc4_amd64.deb")
48         c.Assert(err, check.IsNil)
49         c.Logf("%#v", fi)
50
51         cmd = exec.Command("go", "run", ".",
52                 "testinstall",
53                 "-package-dir", tmpdir,
54         )
55         cmd.Stdout = os.Stderr
56         cmd.Stderr = os.Stderr
57         err = cmd.Run()
58         c.Check(err, check.IsNil)
59
60         err = os.RemoveAll(tmpdir)
61         c.Check(err, check.IsNil)
62 }