16306: Accept -package-version arg to testinstall.
authorTom Clegg <tom@curii.com>
Wed, 27 Jan 2021 08:14:44 +0000 (03:14 -0500)
committerTom Clegg <tom@curii.com>
Wed, 27 Jan 2021 08:14:44 +0000 (03:14 -0500)
Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@curii.com>

cmd/arvados-package/build.go
cmd/arvados-package/build_test.go
cmd/arvados-package/install.go

index cf9cbfa6c322fc6b3730e1d3c078605288f94fe5..e826408c1ab5e418b5dd6b99da692fd0df4ef510 100644 (file)
@@ -126,7 +126,7 @@ func build(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Wr
                return err
        }
 
                return err
        }
 
-       cmd = exec.CommandContext(ctx, "bash", "-c", "dpkg-scanpackages . | gzip > Packages.gz.tmp && mv Packages.gz.tmp Packages.gz")
+       cmd = exec.CommandContext(ctx, "bash", "-c", "dpkg-scanpackages --multiversion . | gzip > Packages.gz.tmp && mv Packages.gz.tmp Packages.gz")
        cmd.Stdout = stdout
        cmd.Stderr = stderr
        cmd.Dir = opts.PackageDir
        cmd.Stdout = stdout
        cmd.Stderr = stderr
        cmd.Dir = opts.PackageDir
index b4ad68b1df0455d833b8a6ca9782314989471d43..75e8f7604e8cbbdb22b4ebbd575c0ff5bf9ca537 100644 (file)
@@ -56,6 +56,7 @@ func (s *BuildSuite) TestBuildAndInstall(c *check.C) {
        cmd = exec.Command("go", "run", ".",
                "testinstall",
                "-package-dir", tmpdir,
        cmd = exec.Command("go", "run", ".",
                "testinstall",
                "-package-dir", tmpdir,
+               "-package-version", "1.2.3~rc4",
        )
        cmd.Stdout = os.Stderr
        cmd.Stderr = os.Stderr
        )
        cmd.Stdout = os.Stderr
        cmd.Stderr = os.Stderr
index 774771efb07b8aba70cd32a8b6c0b6c1165125ab..984779950479afa87d216d636f4368139c48874b 100644 (file)
@@ -6,7 +6,6 @@ package main
 
 import (
        "context"
 
 import (
        "context"
-       "errors"
        "fmt"
        "io"
        "io/ioutil"
        "fmt"
        "io"
        "io/ioutil"
@@ -20,9 +19,6 @@ import (
 )
 
 func testinstall(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Writer) error {
 )
 
 func testinstall(ctx context.Context, opts opts, stdin io.Reader, stdout, stderr io.Writer) error {
-       if opts.PackageVersion != "" {
-               return errors.New("not implemented: package version was specified, but I only know how to test the latest version in pkgdir")
-       }
        depsImageName := "arvados-package-deps-" + opts.TargetOS
        depsCtrName := strings.Replace(depsImageName, ":", "-", -1)
 
        depsImageName := "arvados-package-deps-" + opts.TargetOS
        depsCtrName := strings.Replace(depsImageName, ":", "-", -1)
 
@@ -77,6 +73,10 @@ eatmydata apt-get remove -y arvados-server-easy
                }
        }
 
                }
        }
 
+       versionsuffix := ""
+       if opts.PackageVersion != "" {
+               versionsuffix = "=" + opts.PackageVersion
+       }
        cmd := exec.CommandContext(ctx, "docker", "run", "--rm",
                "--tmpfs", "/tmp:exec,mode=01777",
                "-v", opts.PackageDir+":/pkg:ro",
        cmd := exec.CommandContext(ctx, "docker", "run", "--rm",
                "--tmpfs", "/tmp:exec,mode=01777",
                "-v", opts.PackageDir+":/pkg:ro",
@@ -87,7 +87,7 @@ eatmydata apt-get remove -y arvados-server-easy
 set -e
 PATH="/var/lib/arvados/bin:$PATH"
 apt-get update
 set -e
 PATH="/var/lib/arvados/bin:$PATH"
 apt-get update
-eatmydata apt-get install --reinstall -y --no-install-recommends arvados-server-easy
+eatmydata apt-get install --reinstall -y --no-install-recommends arvados-server-easy`+versionsuffix+`
 apt-get -y autoremove
 /etc/init.d/postgresql start
 arvados-server init -cluster-id x1234
 apt-get -y autoremove
 /etc/init.d/postgresql start
 arvados-server init -cluster-id x1234