From 78660022bf2f76e807ce40546bb22c18005e63aa Mon Sep 17 00:00:00 2001 From: Christopher Angelo Phillips <32073428+spiffcs@users.noreply.github.com> Date: Fri, 4 Aug 2023 13:04:36 -0400 Subject: [PATCH] test: add coverage for new rpmdb paths (#1999) Signed-off-by: Christopher Phillips --- syft/pkg/cataloger/rpm/cataloger_test.go | 3 +++ .../glob-paths/usr/lib/sysimage/rpm/Packages | 0 .../usr/lib/sysimage/rpm/Packages.db | 0 .../usr/lib/sysimage/rpm/rpmdb.sqlite | 0 .../regression_photon_package_test.go | 20 +++++++++++++++++++ .../image-photon-all-layers/Dockerfile | 1 + 6 files changed, 24 insertions(+) create mode 100644 syft/pkg/cataloger/rpm/test-fixtures/glob-paths/usr/lib/sysimage/rpm/Packages create mode 100644 syft/pkg/cataloger/rpm/test-fixtures/glob-paths/usr/lib/sysimage/rpm/Packages.db create mode 100644 syft/pkg/cataloger/rpm/test-fixtures/glob-paths/usr/lib/sysimage/rpm/rpmdb.sqlite create mode 100644 test/integration/regression_photon_package_test.go create mode 100644 test/integration/test-fixtures/image-photon-all-layers/Dockerfile diff --git a/syft/pkg/cataloger/rpm/cataloger_test.go b/syft/pkg/cataloger/rpm/cataloger_test.go index 92b920532cd..31b7bf11b4b 100644 --- a/syft/pkg/cataloger/rpm/cataloger_test.go +++ b/syft/pkg/cataloger/rpm/cataloger_test.go @@ -23,6 +23,9 @@ func Test_DBCataloger_Globs(t *testing.T) { "var/lib/rpm/Packages.db", "var/lib/rpm/rpmdb.sqlite", "var/lib/rpmmanifest/container-manifest-2", + "usr/lib/sysimage/rpm/Packages", + "usr/lib/sysimage/rpm/Packages.db", + "usr/lib/sysimage/rpm/rpmdb.sqlite", }, }, } diff --git a/syft/pkg/cataloger/rpm/test-fixtures/glob-paths/usr/lib/sysimage/rpm/Packages b/syft/pkg/cataloger/rpm/test-fixtures/glob-paths/usr/lib/sysimage/rpm/Packages new file mode 100644 index 00000000000..e69de29bb2d diff --git a/syft/pkg/cataloger/rpm/test-fixtures/glob-paths/usr/lib/sysimage/rpm/Packages.db b/syft/pkg/cataloger/rpm/test-fixtures/glob-paths/usr/lib/sysimage/rpm/Packages.db new file mode 100644 index 00000000000..e69de29bb2d diff --git a/syft/pkg/cataloger/rpm/test-fixtures/glob-paths/usr/lib/sysimage/rpm/rpmdb.sqlite b/syft/pkg/cataloger/rpm/test-fixtures/glob-paths/usr/lib/sysimage/rpm/rpmdb.sqlite new file mode 100644 index 00000000000..e69de29bb2d diff --git a/test/integration/regression_photon_package_test.go b/test/integration/regression_photon_package_test.go new file mode 100644 index 00000000000..dc8360a8efd --- /dev/null +++ b/test/integration/regression_photon_package_test.go @@ -0,0 +1,20 @@ +package integration + +import ( + "testing" + + "github.com/anchore/syft/syft/pkg" + "github.com/anchore/syft/syft/source" +) + +func TestPhotonPackageRegression(t *testing.T) { // Regression: https://github.com/anchore/syft/pull/1997 + sbom, _ := catalogFixtureImage(t, "image-photon-all-layers", source.AllLayersScope, nil) + var packages []pkg.Package + for p := range sbom.Artifacts.Packages.Enumerate() { + packages = append(packages, p) + } + + if len(packages) < 1 { + t.Errorf("failed to find packages for photon distro; wanted > 0 got 0") + } +} diff --git a/test/integration/test-fixtures/image-photon-all-layers/Dockerfile b/test/integration/test-fixtures/image-photon-all-layers/Dockerfile new file mode 100644 index 00000000000..ab09f97ad4b --- /dev/null +++ b/test/integration/test-fixtures/image-photon-all-layers/Dockerfile @@ -0,0 +1 @@ +FROM photon:5.0-20230729