package integration import ( "testing" "github.com/anchore/stereoscope/pkg/imagetest" "github.com/anchore/syft/syft" "github.com/anchore/syft/syft/distro" "github.com/anchore/syft/syft/source" "github.com/go-test/deep" ) func TestDistroImage(t *testing.T) { fixtureImageName := "image-distro-id" _, cleanup := imagetest.GetFixtureImage(t, "docker-archive", fixtureImageName) tarPath := imagetest.GetFixtureImageTarPath(t, fixtureImageName) defer cleanup() _, _, actualDistro, err := syft.Catalog("docker-archive:"+tarPath, source.AllLayersScope) if err != nil { t.Fatalf("failed to catalog image: %+v", err) } if actualDistro == nil { t.Fatalf("could not find distro") } expected, err := distro.NewDistro(distro.Busybox, "1.31.1", "") if err != nil { t.Fatalf("could not create distro: %+v", err) } diffs := deep.Equal(*actualDistro, expected) if len(diffs) != 0 { for _, d := range diffs { t.Errorf("found distro difference: %+v", d) } } }