You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@skywalking.apache.org by ke...@apache.org on 2023/03/01 11:29:06 UTC
[skywalking-eyes] branch main updated: Remove space characters in license for cargo. (#154)
This is an automated email from the ASF dual-hosted git repository.
kezhenxu94 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/skywalking-eyes.git
The following commit(s) were added to refs/heads/main by this push:
new d299844 Remove space characters in license for cargo. (#154)
d299844 is described below
commit d299844e334855087f18ae1fe3c81ae8d22bc282
Author: jmjoy <jm...@apache.org>
AuthorDate: Wed Mar 1 19:28:59 2023 +0800
Remove space characters in license for cargo. (#154)
---
pkg/deps/cargo.go | 1 +
pkg/deps/cargo_test.go | 65 +++++++++++++++++++++++++++++++++++++++-----------
2 files changed, 52 insertions(+), 14 deletions(-)
diff --git a/pkg/deps/cargo.go b/pkg/deps/cargo.go
index 5d900cd..70a2f03 100644
--- a/pkg/deps/cargo.go
+++ b/pkg/deps/cargo.go
@@ -167,6 +167,7 @@ func normalizeLicense(licenseStr string) string {
segs := make(map[string]struct{})
for _, ss := range strings.Split(licenseStr, "/") {
for _, s := range strings.Split(ss, " OR ") {
+ s = strings.TrimSpace(s)
segs[s] = struct{}{}
}
}
diff --git a/pkg/deps/cargo_test.go b/pkg/deps/cargo_test.go
index 469d32d..a36a55a 100644
--- a/pkg/deps/cargo_test.go
+++ b/pkg/deps/cargo_test.go
@@ -61,7 +61,7 @@ license = "Apache-2.0"
Excludes: []deps.Exclude{},
}
- report := resolveTmpCargo(t, cargoToml, &config)
+ report := resolveTmpCargo(t, cargoToml, "", &config)
if len(report.Resolved) != 1 {
t.Error("len(report.Resolved) != 1")
}
@@ -87,7 +87,7 @@ license = "Apache-2.0"
Excludes: []deps.Exclude{{Name: "foo", Version: "0.0.0"}},
}
- report := resolveTmpCargo(t, cargoToml, &config)
+ report := resolveTmpCargo(t, cargoToml, "", &config)
if len(report.Resolved) != 0 {
t.Error("len(report.Resolved) != 0")
}
@@ -116,7 +116,7 @@ license = "Apache-2.0"
Excludes: []deps.Exclude{},
}
- report := resolveTmpCargo(t, cargoToml, &config)
+ report := resolveTmpCargo(t, cargoToml, "", &config)
if len(report.Resolved) != 1 {
t.Error("len(report.Resolved) != 1")
}
@@ -137,6 +137,40 @@ license = "Apache-2.0"
[dependencies]
libc = "0.2.126" # actual license: MIT OR Apache-2.0
bitflags = "1.3.2" # actual license: MIT/Apache-2.0
+fnv = "1.0.7" # actual license: Apache-2.0 / MIT
+`
+
+ cargoLock := `
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "fnv"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+[[package]]
+name = "foo"
+version = "0.0.0"
+dependencies = [
+ "bitflags",
+ "fnv",
+ "libc",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.126"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
`
config := deps.ConfigDeps{
@@ -146,26 +180,21 @@ bitflags = "1.3.2" # actual license: MIT/Apache-2.0
Excludes: []deps.Exclude{},
}
- report := resolveTmpCargo(t, cargoToml, &config)
- if len(report.Resolved) != 3 {
- t.Error("len(report.Resolved) != 3")
+ report := resolveTmpCargo(t, cargoToml, cargoLock, &config)
+ if len(report.Resolved) != 4 {
+ t.Error("len(report.Resolved) != 4")
}
for _, result := range report.Resolved {
- if result.Dependency == "libc" {
+ if result.Dependency == "libc" || result.Dependency == "bitflags" || result.Dependency == "fnv" {
if result.LicenseSpdxID != "Apache-2.0 OR MIT" || result.LicenseContent == "" {
- t.Error("Resolve dependency libc failed")
- }
- }
- if result.Dependency == "bitflags" {
- if result.LicenseSpdxID != "Apache-2.0 OR MIT" || result.LicenseContent == "" {
- t.Error("Resolve dependency libc failed")
+ t.Errorf("Resolve dependency %s failed", result.Dependency)
}
}
}
}
}
-func resolveTmpCargo(t *testing.T, cargoTomlContent string, config *deps.ConfigDeps) *deps.Report {
+func resolveTmpCargo(t *testing.T, cargoTomlContent string, cargoLockContent string, config *deps.ConfigDeps) *deps.Report {
dir, err := os.MkdirTemp("", "skywalking-eyes-test-cargo-")
if err != nil {
t.Error("Make temp dir failed", err)
@@ -194,6 +223,14 @@ func resolveTmpCargo(t *testing.T, cargoTomlContent string, config *deps.ConfigD
return nil
}
+ if cargoLockContent != "" {
+ cargoLockFile := filepath.Join(dir, "Cargo.lock")
+ if err := os.WriteFile(cargoLockFile, []byte(cargoLockContent), 0644); err != nil {
+ t.Error("Write Cargo.lock failed", err)
+ return nil
+ }
+ }
+
resolver := new(deps.CargoTomlResolver)
var report deps.Report