syft/syft/pkg/cataloger/kernel/cataloger_test.go
Alex Goodman 1cfc4c7387
Normalize cataloger configuration patterns (#2365)
* normalize cataloger patterns

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

* remove central reference for maven configurable

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>

---------

Signed-off-by: Alex Goodman <wagoodman@users.noreply.github.com>
2023-11-28 17:02:43 +00:00

96 lines
2.6 KiB
Go

package kernel
import (
"testing"
"github.com/anchore/syft/syft/artifact"
"github.com/anchore/syft/syft/file"
"github.com/anchore/syft/syft/pkg"
"github.com/anchore/syft/syft/pkg/cataloger/internal/pkgtest"
)
func Test_KernelCataloger(t *testing.T) {
kernelPkg := pkg.Package{
Name: "linux-kernel",
Version: "6.0.7-301.fc37.x86_64",
FoundBy: "linux-kernel-cataloger",
Locations: file.NewLocationSet(
file.NewVirtualLocation(
"/lib/modules/6.0.7-301.fc37.x86_64/vmlinuz",
"/lib/modules/6.0.7-301.fc37.x86_64/vmlinuz",
),
),
Type: pkg.LinuxKernelPkg,
PURL: "pkg:generic/linux-kernel@6.0.7-301.fc37.x86_64",
Metadata: pkg.LinuxKernel{
Name: "",
Architecture: "x86",
Version: "6.0.7-301.fc37.x86_64",
ExtendedVersion: "6.0.7-301.fc37.x86_64 (mockbuild@bkernel01.iad2.fedoraproject.org) #1 SMP PREEMPT_DYNAMIC Fri Nov 4 18:35:48 UTC 2022",
BuildTime: "",
Author: "",
Format: "bzImage",
RWRootFS: false,
SwapDevice: 0,
RootDevice: 0,
VideoMode: "Video mode 65535",
},
}
kernelModulePkg := pkg.Package{
Name: "ttynull",
Version: "",
FoundBy: "linux-kernel-cataloger",
Locations: file.NewLocationSet(
file.NewVirtualLocation("/lib/modules/6.0.7-301.fc37.x86_64/kernel/drivers/tty/ttynull.ko",
"/lib/modules/6.0.7-301.fc37.x86_64/kernel/drivers/tty/ttynull.ko",
),
),
Licenses: pkg.NewLicenseSet(
pkg.NewLicenseFromLocations("GPL v2",
file.NewVirtualLocation(
"/lib/modules/6.0.7-301.fc37.x86_64/kernel/drivers/tty/ttynull.ko",
"/lib/modules/6.0.7-301.fc37.x86_64/kernel/drivers/tty/ttynull.ko",
),
),
),
Type: pkg.LinuxKernelModulePkg,
PURL: "pkg:generic/ttynull",
Metadata: pkg.LinuxKernelModule{
Name: "ttynull",
Version: "",
SourceVersion: "",
License: "GPL v2",
Path: "/lib/modules/6.0.7-301.fc37.x86_64/kernel/drivers/tty/ttynull.ko",
Description: "",
KernelVersion: "6.0.7-301.fc37.x86_64",
VersionMagic: "6.0.7-301.fc37.x86_64 SMP preempt mod_unload ",
Parameters: map[string]pkg.LinuxKernelModuleParameter{},
},
}
expectedPkgs := []pkg.Package{
kernelPkg,
kernelModulePkg,
}
expectedRelationships := []artifact.Relationship{
{
From: kernelPkg,
To: kernelModulePkg,
Type: artifact.DependencyOfRelationship,
},
}
pkgtest.NewCatalogTester().
WithImageResolver(t, "image-kernel-and-modules").
IgnoreLocationLayer().
Expects(expectedPkgs, expectedRelationships).
TestCataloger(t,
NewLinuxKernelCataloger(
LinuxKernelCatalogerConfig{
CatalogModules: true,
},
),
)
}