1
0
out-of-tree/distro/debian/debian_test.go

77 lines
1.9 KiB
Go

package debian
import (
"testing"
// "github.com/cavaliergopher/grab/v3"
// "code.dumpstack.io/tools/out-of-tree/config"
)
// func TestMatchImagePkg(t *testing.T) {
// km := config.KernelMask{
// ReleaseMask: "3.2.0-4",
// DistroRelease: "7",
// }
// resp, err := grab.Get(tmp, fileurl)
// if err != nil {
// t.Fatal(err)
// }
// pkgs, err := MatchImagePkg(km)
// if err != nil {
// t.Fatal(err)
// }
// if len(pkgs) == 0 {
// t.Fatal("no packages")
// }
// }
func TestParseKernelMajorMinor(t *testing.T) {
type testcase struct {
Deb string
Major, Minor int
}
for _, tc := range []testcase{
testcase{"linux-image-4.17.0-2-amd64", 4, 17},
testcase{"linux-image-6.1.0-8-amd64-unsigned", 6, 1},
testcase{"linux-image-6.1.0-0.deb11.7-amd64-unsigned", 6, 1},
testcase{"linux-image-3.2.0-0.bpo.4-amd64_3.2.41-2+deb7u2~bpo60+1_amd64", 3, 2},
testcase{"linux-image-5.16.0-rc5-amd64-unsigned_5.16~rc5-1~exp1_amd64", 5, 16},
testcase{"linux-image-3.6-trunk-amd64_3.8.4-1~experimental.1_amd64", 3, 6},
} {
major, minor, err := parseKernelMajorMinor(tc.Deb)
if err != nil {
t.Fatal(err)
}
if major != tc.Major || minor != tc.Minor {
t.Fatalf("%v -> %v.%v != %v.%v", tc.Deb, major, minor,
tc.Major, tc.Minor)
}
}
}
func TestKernelRelease(t *testing.T) {
type testcase struct {
Deb string
Release Release
}
for _, tc := range []testcase{
testcase{"linux-image-4.17.0-2-amd64", Stretch},
testcase{"linux-image-6.1.0-8-amd64-unsigned", Bullseye},
testcase{"linux-image-6.1.0-0.deb11.7-amd64-unsigned", Bullseye},
testcase{"linux-image-3.2.0-0.bpo.4-amd64_3.2.41-2+deb7u2~bpo60+1_amd64", Wheezy},
testcase{"linux-image-5.16.0-rc5-amd64-unsigned_5.16~rc5-1~exp1_amd64", Bullseye},
} {
r, err := kernelRelease(tc.Deb)
if err != nil {
t.Fatal(err)
}
if r != tc.Release {
t.Fatalf("%v -> %v != %v", tc.Deb, r, tc.Release)
}
}
}