github.com/anchore/syft@v1.4.2-0.20240516191711-1bec1fc5d397/syft/pkg/cataloger/cpp/parse_conanfile_test.go (about) 1 package cpp 2 3 import ( 4 "testing" 5 6 "github.com/anchore/syft/syft/artifact" 7 "github.com/anchore/syft/syft/file" 8 "github.com/anchore/syft/syft/pkg" 9 "github.com/anchore/syft/syft/pkg/cataloger/internal/pkgtest" 10 ) 11 12 func TestParseConanfile(t *testing.T) { 13 fixture := "test-fixtures/conanfile.txt" 14 fixtureLocationSet := file.NewLocationSet(file.NewLocation(fixture)) 15 expected := []pkg.Package{ 16 { 17 Name: "catch2", 18 Version: "2.13.8", 19 PURL: "pkg:conan/catch2@2.13.8", 20 Locations: fixtureLocationSet, 21 Language: pkg.CPP, 22 Type: pkg.ConanPkg, 23 Metadata: pkg.ConanfileEntry{ 24 Ref: "catch2/2.13.8", 25 }, 26 }, 27 { 28 Name: "docopt.cpp", 29 Version: "0.6.3", 30 PURL: "pkg:conan/docopt.cpp@0.6.3", 31 Locations: fixtureLocationSet, 32 Language: pkg.CPP, 33 Type: pkg.ConanPkg, 34 Metadata: pkg.ConanfileEntry{ 35 Ref: "docopt.cpp/0.6.3", 36 }, 37 }, 38 { 39 Name: "fmt", 40 Version: "8.1.1", 41 PURL: "pkg:conan/fmt@8.1.1", 42 Locations: fixtureLocationSet, 43 Language: pkg.CPP, 44 Type: pkg.ConanPkg, 45 Metadata: pkg.ConanfileEntry{ 46 Ref: "fmt/8.1.1", 47 }, 48 }, 49 { 50 Name: "spdlog", 51 Version: "1.9.2", 52 PURL: "pkg:conan/my_user/spdlog@1.9.2?channel=my_channel", 53 Locations: fixtureLocationSet, 54 Language: pkg.CPP, 55 Type: pkg.ConanPkg, 56 Metadata: pkg.ConanfileEntry{ 57 Ref: "spdlog/1.9.2@my_user/my_channel#1234567%%987654", 58 }, 59 }, 60 { 61 Name: "sdl", 62 Version: "2.0.20", 63 PURL: "pkg:conan/sdl@2.0.20", 64 Locations: fixtureLocationSet, 65 Language: pkg.CPP, 66 Type: pkg.ConanPkg, 67 Metadata: pkg.ConanfileEntry{ 68 Ref: "sdl/2.0.20#1234567%%987654", 69 }, 70 }, 71 { 72 Name: "fltk", 73 Version: "1.3.8", 74 PURL: "pkg:conan/my_user/fltk@1.3.8?channel=my_channel", 75 Locations: fixtureLocationSet, 76 Language: pkg.CPP, 77 Type: pkg.ConanPkg, 78 Metadata: pkg.ConanfileEntry{ 79 Ref: "fltk/1.3.8@my_user/my_channel", 80 }, 81 }, 82 } 83 84 // TODO: relationships are not under test 85 var expectedRelationships []artifact.Relationship 86 87 pkgtest.TestFileParser(t, fixture, parseConanfile, expected, expectedRelationships) 88 }