chore: fix flaky license sorting (#1690)

Signed-off-by: Keith Zantow <kzantow@gmail.com>
This commit is contained in:
Keith Zantow 2023-03-22 14:41:49 -04:00 committed by GitHub
parent 168c5aed51
commit 11e926ab2f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 5 deletions

View File

@ -9,6 +9,8 @@ import (
"time" "time"
"github.com/spdx/tools-golang/spdx" "github.com/spdx/tools-golang/spdx"
"golang.org/x/exp/maps"
"golang.org/x/exp/slices"
"github.com/anchore/syft/internal" "github.com/anchore/syft/internal"
"github.com/anchore/syft/internal/log" "github.com/anchore/syft/internal/log"
@ -521,8 +523,12 @@ func toOtherLicenses(catalog *pkg.Catalog) []*spdx.OtherLicense {
} }
} }
} }
var result []*spdx.OtherLicense var result []*spdx.OtherLicense
for license := range licenses {
sorted := maps.Keys(licenses)
slices.Sort(sorted)
for _, license := range sorted {
// separate the actual ID from the prefix // separate the actual ID from the prefix
name := strings.TrimPrefix(license, spdxlicense.LicenseRefPrefix) name := strings.TrimPrefix(license, spdxlicense.LicenseRefPrefix)
result = append(result, &spdx.OtherLicense{ result = append(result, &spdx.OtherLicense{

View File

@ -473,13 +473,13 @@ func Test_OtherLicenses(t *testing.T) {
}, },
expected: []*spdx.OtherLicense{ expected: []*spdx.OtherLicense{
{ {
LicenseIdentifier: "LicenseRef-un-known", LicenseIdentifier: "LicenseRef-not-known--s",
LicenseName: "un known", LicenseName: "not known %s",
ExtractedText: NONE, ExtractedText: NONE,
}, },
{ {
LicenseIdentifier: "LicenseRef-not-known--s", LicenseIdentifier: "LicenseRef-un-known",
LicenseName: "not known %s", LicenseName: "un known",
ExtractedText: NONE, ExtractedText: NONE,
}, },
}, },