6716bf018c
Cleans up a whole bunch of things I wanted to get out of the door right away: * depot internal references to //third_party/nixery have been replaced with //tools/nixery * cleaned up files from Github * fixed SPDX & Copyright headers * code formatting and inclusion in //tools/depotfmt checks Change-Id: Iea79f0fdf3aa04f71741d4f4032f88605ae415bb Reviewed-on: https://cl.tvl.fyi/c/depot/+/5486 Tested-by: BuildkiteCI Reviewed-by: tazjin <tazjin@tvl.su> Autosubmit: tazjin <tazjin@tvl.su>
112 lines
2.3 KiB
Go
112 lines
2.3 KiB
Go
// Copyright 2022 The TVL Contributors
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
package builder
|
|
|
|
import (
|
|
"github.com/google/go-cmp/cmp"
|
|
"github.com/google/go-cmp/cmp/cmpopts"
|
|
"testing"
|
|
)
|
|
|
|
var ignoreArch = cmpopts.IgnoreFields(Image{}, "Arch")
|
|
|
|
func TestImageFromNameSimple(t *testing.T) {
|
|
image := ImageFromName("hello", "latest")
|
|
expected := Image{
|
|
Name: "hello",
|
|
Tag: "latest",
|
|
Packages: []string{
|
|
"cacert",
|
|
"hello",
|
|
"iana-etc",
|
|
},
|
|
}
|
|
|
|
if diff := cmp.Diff(expected, image, ignoreArch); diff != "" {
|
|
t.Fatalf("Image(\"hello\", \"latest\") mismatch:\n%s", diff)
|
|
}
|
|
}
|
|
|
|
func TestImageFromNameMultiple(t *testing.T) {
|
|
image := ImageFromName("hello/git/htop", "latest")
|
|
expected := Image{
|
|
Name: "git/hello/htop",
|
|
Tag: "latest",
|
|
Packages: []string{
|
|
"cacert",
|
|
"git",
|
|
"hello",
|
|
"htop",
|
|
"iana-etc",
|
|
},
|
|
}
|
|
|
|
if diff := cmp.Diff(expected, image, ignoreArch); diff != "" {
|
|
t.Fatalf("Image(\"hello/git/htop\", \"latest\") mismatch:\n%s", diff)
|
|
}
|
|
}
|
|
|
|
func TestImageFromNameShell(t *testing.T) {
|
|
image := ImageFromName("shell", "latest")
|
|
expected := Image{
|
|
Name: "shell",
|
|
Tag: "latest",
|
|
Packages: []string{
|
|
"bashInteractive",
|
|
"cacert",
|
|
"coreutils",
|
|
"iana-etc",
|
|
"moreutils",
|
|
"nano",
|
|
},
|
|
}
|
|
|
|
if diff := cmp.Diff(expected, image, ignoreArch); diff != "" {
|
|
t.Fatalf("Image(\"shell\", \"latest\") mismatch:\n%s", diff)
|
|
}
|
|
}
|
|
|
|
func TestImageFromNameShellMultiple(t *testing.T) {
|
|
image := ImageFromName("shell/htop", "latest")
|
|
expected := Image{
|
|
Name: "htop/shell",
|
|
Tag: "latest",
|
|
Packages: []string{
|
|
"bashInteractive",
|
|
"cacert",
|
|
"coreutils",
|
|
"htop",
|
|
"iana-etc",
|
|
"moreutils",
|
|
"nano",
|
|
},
|
|
}
|
|
|
|
if diff := cmp.Diff(expected, image, ignoreArch); diff != "" {
|
|
t.Fatalf("Image(\"shell/htop\", \"latest\") mismatch:\n%s", diff)
|
|
}
|
|
}
|
|
|
|
func TestImageFromNameShellArm64(t *testing.T) {
|
|
image := ImageFromName("shell/arm64", "latest")
|
|
expected := Image{
|
|
Name: "arm64/shell",
|
|
Tag: "latest",
|
|
Packages: []string{
|
|
"bashInteractive",
|
|
"cacert",
|
|
"coreutils",
|
|
"iana-etc",
|
|
"moreutils",
|
|
"nano",
|
|
},
|
|
}
|
|
|
|
if diff := cmp.Diff(expected, image, ignoreArch); diff != "" {
|
|
t.Fatalf("Image(\"shell/arm64\", \"latest\") mismatch:\n%s", diff)
|
|
}
|
|
|
|
if image.Arch.imageArch != "arm64" {
|
|
t.Fatal("Image(\"shell/arm64\"): Expected arch arm64")
|
|
}
|
|
}
|