From a6ee6d55111c941d75529727091345dbe8bcf923 Mon Sep 17 00:00:00 2001 From: Bob Badour Date: Fri, 16 Dec 2022 13:50:41 -0800 Subject: [PATCH] Fix tests so they can fail. Expected values were overwriting actual values. Origin no longer tracked. Bug: 261787132 Test: m droid dist Test: m compliance_checkshare Change-Id: Ie1fbc3d596cb08c6f0935a79441d8b00a4d1eb97 --- tools/compliance/policy_policy.go | 2 +- .../compliance/policy_resolvenotices_test.go | 221 ++++++------- .../compliance/policy_resolveprivacy_test.go | 4 +- tools/compliance/policy_resolveshare_test.go | 50 +-- tools/compliance/policy_walk_test.go | 299 ++++++++---------- tools/compliance/readgraph.go | 2 +- tools/compliance/resolutionset_test.go | 64 ++-- tools/compliance/test_util.go | 32 +- 8 files changed, 309 insertions(+), 365 deletions(-) diff --git a/tools/compliance/policy_policy.go b/tools/compliance/policy_policy.go index 23e25c6bcb..368a162694 100644 --- a/tools/compliance/policy_policy.go +++ b/tools/compliance/policy_policy.go @@ -114,7 +114,7 @@ func init() { // LicenseConditionSetFromNames returns a set containing the recognized `names` and // silently ignoring or discarding the unrecognized `names`. -func LicenseConditionSetFromNames(tn *TargetNode, names ...string) LicenseConditionSet { +func LicenseConditionSetFromNames(names ...string) LicenseConditionSet { cs := NewLicenseConditionSet() for _, name := range names { if lc, ok := RecognizedConditionNames[name]; ok { diff --git a/tools/compliance/policy_resolvenotices_test.go b/tools/compliance/policy_resolvenotices_test.go index b62d62f002..b23e587c57 100644 --- a/tools/compliance/policy_resolvenotices_test.go +++ b/tools/compliance/policy_resolvenotices_test.go @@ -33,8 +33,8 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheLib.meta_lic", "notice"}, }, }, { @@ -44,7 +44,7 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, }, }, { @@ -54,8 +54,8 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, }, }, { @@ -66,11 +66,9 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice|restricted"}, + {"apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "notice|restricted"}, }, }, { @@ -81,8 +79,8 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "notice"}, }, }, { @@ -96,22 +94,17 @@ func TestResolveNotices(t *testing.T) { {"mitBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "mitBin.meta_lic", "mitBin.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "mplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "mplLib.meta_lic", "mplLib.meta_lic", "reciprocal"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "mplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "mplLib.meta_lic", "mplLib.meta_lic", "reciprocal"}, - {"mitBin.meta_lic", "mitBin.meta_lic", "mitBin.meta_lic", "notice"}, - {"mitBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice|restricted"}, + {"apacheContainer.meta_lic", "apacheBin.meta_lic", "notice|restricted"}, + {"apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheContainer.meta_lic", "mitBin.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "mitLib.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "mplLib.meta_lic", "reciprocal|restricted"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice|restricted"}, + {"apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "mplLib.meta_lic", "reciprocal|restricted"}, + {"mitBin.meta_lic", "mitBin.meta_lic", "notice"}, + {"mitBin.meta_lic", "mitLib.meta_lic", "notice"}, }, }, { @@ -122,12 +115,11 @@ func TestResolveNotices(t *testing.T) { {"apacheContainer.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"gplLib.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice|restricted"}, + {"apacheContainer.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, }, }, { @@ -138,8 +130,8 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "restricted"}, }, }, { @@ -150,11 +142,9 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"mitLib.meta_lic", "mitLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"mitLib.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice|restricted"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "restricted"}, + {"mitLib.meta_lic", "mitLib.meta_lic", "notice|restricted"}, }, }, { @@ -168,14 +158,11 @@ func TestResolveNotices(t *testing.T) { {"mitBin.meta_lic", "mitLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "mitBin.meta_lic", "mitBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, - {"mitBin.meta_lic", "mitBin.meta_lic", "mitBin.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice|restricted"}, + {"apacheContainer.meta_lic", "apacheBin.meta_lic", "notice|restricted"}, + {"apacheContainer.meta_lic", "mitBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice|restricted"}, + {"mitBin.meta_lic", "mitBin.meta_lic", "notice"}, }, }, { @@ -186,10 +173,9 @@ func TestResolveNotices(t *testing.T) { {"apacheContainer.meta_lic", "gplLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice|restricted"}, + {"apacheContainer.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, }, }, { @@ -200,12 +186,11 @@ func TestResolveNotices(t *testing.T) { {"apacheContainer.meta_lic", "gplLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"gplLib.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice|restricted"}, + {"apacheContainer.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, }, }, { @@ -216,11 +201,9 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, - {"apacheBin.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice|restricted_if_statically_linked"}, + {"apacheBin.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "notice|restricted_if_statically_linked"}, }, }, { @@ -231,8 +214,8 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "notice"}, }, }, { @@ -243,9 +226,9 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, - {"lgplBin.meta_lic", "lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "notice"}, + {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -257,18 +240,13 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, - {"apacheContainer.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, - {"apacheContainer.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "mitLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, - {"apacheBin.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice|restricted_if_statically_linked"}, + {"apacheContainer.meta_lic", "apacheBin.meta_lic", "notice|restricted_if_statically_linked"}, + {"apacheContainer.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, + {"apacheContainer.meta_lic", "mitLib.meta_lic", "notice|restricted_if_statically_linked"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice|restricted_if_statically_linked"}, + {"apacheBin.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "notice|restricted_if_statically_linked"}, }, }, { @@ -279,12 +257,11 @@ func TestResolveNotices(t *testing.T) { {"apacheContainer.meta_lic", "lgplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"lgplLib.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice|restricted_if_statically_linked"}, + {"apacheContainer.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -295,8 +272,8 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "notice"}, }, }, { @@ -307,9 +284,9 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, - {"lgplLib.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "notice"}, + {"lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -320,9 +297,9 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "lgplLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, }, }, { @@ -333,10 +310,10 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "lgplLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"lgplLib.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -347,9 +324,9 @@ func TestResolveNotices(t *testing.T) { {"apacheContainer.meta_lic", "lgplLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, }, }, { @@ -360,10 +337,10 @@ func TestResolveNotices(t *testing.T) { {"apacheContainer.meta_lic", "lgplLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"lgplLib.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"lgplLib.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -374,9 +351,9 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "notice"}, }, }, { @@ -387,9 +364,9 @@ func TestResolveNotices(t *testing.T) { {"dependentModule.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"dependentModule.meta_lic", "dependentModule.meta_lic", "dependentModule.meta_lic", "notice"}, - {"dependentModule.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, - {"dependentModule.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"dependentModule.meta_lic", "dependentModule.meta_lic", "notice"}, + {"dependentModule.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, + {"dependentModule.meta_lic", "mitLib.meta_lic", "notice"}, }, }, { @@ -400,8 +377,8 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "notice"}, }, }, { @@ -412,9 +389,9 @@ func TestResolveNotices(t *testing.T) { {"apacheBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, - {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "mitLib.meta_lic", "notice"}, + {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, }, }, { @@ -425,8 +402,8 @@ func TestResolveNotices(t *testing.T) { {"dependentModule.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"dependentModule.meta_lic", "dependentModule.meta_lic", "dependentModule.meta_lic", "notice"}, - {"dependentModule.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"dependentModule.meta_lic", "dependentModule.meta_lic", "notice"}, + {"dependentModule.meta_lic", "mitLib.meta_lic", "notice"}, }, }, { @@ -437,9 +414,9 @@ func TestResolveNotices(t *testing.T) { {"dependentModule.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"dependentModule.meta_lic", "dependentModule.meta_lic", "dependentModule.meta_lic", "notice"}, - {"dependentModule.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, - {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, + {"dependentModule.meta_lic", "dependentModule.meta_lic", "notice"}, + {"dependentModule.meta_lic", "mitLib.meta_lic", "notice"}, + {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, }, }, } diff --git a/tools/compliance/policy_resolveprivacy_test.go b/tools/compliance/policy_resolveprivacy_test.go index e8c953a8fe..d4d196774f 100644 --- a/tools/compliance/policy_resolveprivacy_test.go +++ b/tools/compliance/policy_resolveprivacy_test.go @@ -57,7 +57,7 @@ func TestResolveSourcePrivacy(t *testing.T) { {"proprietary.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"proprietary.meta_lic", "proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, + {"proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, }, }, { @@ -67,7 +67,7 @@ func TestResolveSourcePrivacy(t *testing.T) { {"gplBin.meta_lic", "proprietary.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, + {"gplBin.meta_lic", "proprietary.meta_lic", "proprietary"}, }, }, } diff --git a/tools/compliance/policy_resolveshare_test.go b/tools/compliance/policy_resolveshare_test.go index faade8804c..4abd96065a 100644 --- a/tools/compliance/policy_resolveshare_test.go +++ b/tools/compliance/policy_resolveshare_test.go @@ -73,8 +73,8 @@ func TestResolveSourceSharing(t *testing.T) { {"lgplBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"lgplBin.meta_lic", "lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, - {"lgplBin.meta_lic", "apacheLib.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, + {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, + {"lgplBin.meta_lic", "apacheLib.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -84,7 +84,7 @@ func TestResolveSourceSharing(t *testing.T) { {"lgplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"lgplBin.meta_lic", "lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, + {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -94,7 +94,7 @@ func TestResolveSourceSharing(t *testing.T) { {"lgplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"lgplBin.meta_lic", "lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, + {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -104,8 +104,8 @@ func TestResolveSourceSharing(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"gplBin.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "apacheLib.meta_lic", "restricted"}, }, }, { @@ -115,9 +115,9 @@ func TestResolveSourceSharing(t *testing.T) { {"gplContainer.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplContainer.meta_lic", "gplContainer.meta_lic", "gplContainer.meta_lic", "restricted"}, - {"gplContainer.meta_lic", "apacheLib.meta_lic", "gplContainer.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "gplContainer.meta_lic", "restricted"}, + {"gplContainer.meta_lic", "gplContainer.meta_lic", "restricted"}, + {"gplContainer.meta_lic", "apacheLib.meta_lic", "restricted"}, + {"apacheLib.meta_lic", "apacheLib.meta_lic", "restricted"}, }, }, { @@ -128,9 +128,9 @@ func TestResolveSourceSharing(t *testing.T) { {"apacheContainer.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"gplLib.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "restricted"}, + {"apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, + {"gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, }, }, { @@ -141,9 +141,9 @@ func TestResolveSourceSharing(t *testing.T) { {"apacheBin.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "apacheLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "apacheLib.meta_lic", "restricted"}, }, }, { @@ -153,7 +153,7 @@ func TestResolveSourceSharing(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, }, }, { @@ -163,9 +163,9 @@ func TestResolveSourceSharing(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"gplBin.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "apacheLib.meta_lic", "restricted"}, + {"apacheLib.meta_lic", "apacheLib.meta_lic", "restricted"}, }, }, { @@ -207,8 +207,8 @@ func TestResolveSourceSharing(t *testing.T) { {"proprietary.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"proprietary.meta_lic", "proprietary.meta_lic", "gplLib.meta_lic", "restricted"}, - {"proprietary.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"proprietary.meta_lic", "proprietary.meta_lic", "restricted"}, + {"proprietary.meta_lic", "gplLib.meta_lic", "restricted"}, }, }, { @@ -218,8 +218,8 @@ func TestResolveSourceSharing(t *testing.T) { {"gplBin.meta_lic", "proprietary.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"gplBin.meta_lic", "proprietary.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "proprietary.meta_lic", "restricted"}, }, }, { @@ -245,7 +245,7 @@ func TestResolveSourceSharing(t *testing.T) { {"mitBin.meta_lic", "mplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"mitBin.meta_lic", "mplLib.meta_lic", "mplLib.meta_lic", "reciprocal"}, + {"mitBin.meta_lic", "mplLib.meta_lic", "reciprocal"}, }, }, { @@ -255,7 +255,7 @@ func TestResolveSourceSharing(t *testing.T) { {"mplBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"mplBin.meta_lic", "mplBin.meta_lic", "mplBin.meta_lic", "reciprocal"}, + {"mplBin.meta_lic", "mplBin.meta_lic", "reciprocal"}, }, }, } diff --git a/tools/compliance/policy_walk_test.go b/tools/compliance/policy_walk_test.go index 0bc37f8460..2b1130bbf1 100644 --- a/tools/compliance/policy_walk_test.go +++ b/tools/compliance/policy_walk_test.go @@ -48,8 +48,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheLib.meta_lic", "notice"}, }, }, { @@ -60,8 +60,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"mitBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"mitBin.meta_lic", "mitBin.meta_lic", "mitBin.meta_lic", "notice"}, - {"mitBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"mitBin.meta_lic", "mitBin.meta_lic", "notice"}, + {"mitBin.meta_lic", "mitLib.meta_lic", "notice"}, }, }, { @@ -72,9 +72,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "lgplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "lgplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "lgplLib.meta_lic", "lgplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice|restricted_if_statically_linked"}, + {"apacheBin.meta_lic", "lgplLib.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -85,7 +84,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "lgplLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, }, }, { @@ -96,7 +95,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "gplWithClasspathException.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, }, }, { @@ -116,8 +115,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "gplWithClasspathException.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, }, }, { @@ -137,7 +136,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"dependentModule.meta_lic", "gplWithClasspathException.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"dependentModule.meta_lic", "dependentModule.meta_lic", "dependentModule.meta_lic", "notice"}, + {"dependentModule.meta_lic", "dependentModule.meta_lic", "notice"}, }, }, { @@ -157,9 +156,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"lgplBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"lgplBin.meta_lic", "lgplBin.meta_lic", "lgplBin.meta_lic", "restricted"}, - {"lgplBin.meta_lic", "apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"lgplBin.meta_lic", "apacheLib.meta_lic", "lgplBin.meta_lic", "restricted"}, + {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, + {"lgplBin.meta_lic", "apacheLib.meta_lic", "notice|restricted_if_statically_linked"}, }, }, { @@ -170,8 +168,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"lgplBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"lgplBin.meta_lic", "lgplBin.meta_lic", "lgplBin.meta_lic", "restricted"}, - {"lgplBin.meta_lic", "apacheLib.meta_lic", "lgplBin.meta_lic", "restricted"}, + {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, + {"lgplBin.meta_lic", "apacheLib.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -182,7 +180,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"lgplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"lgplBin.meta_lic", "lgplBin.meta_lic", "lgplBin.meta_lic", "restricted"}, + {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -193,7 +191,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"lgplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"lgplBin.meta_lic", "lgplBin.meta_lic", "lgplBin.meta_lic", "restricted"}, + {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -204,9 +202,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"gplBin.meta_lic", "apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"gplBin.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "apacheLib.meta_lic", "notice|restricted"}, }, }, { @@ -217,8 +214,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"gplBin.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "apacheLib.meta_lic", "restricted"}, }, }, { @@ -229,11 +226,9 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplContainer.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplContainer.meta_lic", "gplContainer.meta_lic", "gplContainer.meta_lic", "restricted"}, - {"gplContainer.meta_lic", "apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"gplContainer.meta_lic", "apacheLib.meta_lic", "gplContainer.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "gplContainer.meta_lic", "restricted"}, + {"gplContainer.meta_lic", "gplContainer.meta_lic", "restricted"}, + {"gplContainer.meta_lic", "apacheLib.meta_lic", "notice|restricted"}, + {"apacheLib.meta_lic", "apacheLib.meta_lic", "notice|restricted"}, }, }, { @@ -244,9 +239,9 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplContainer.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplContainer.meta_lic", "gplContainer.meta_lic", "gplContainer.meta_lic", "restricted"}, - {"gplContainer.meta_lic", "apacheLib.meta_lic", "gplContainer.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "gplContainer.meta_lic", "restricted"}, + {"gplContainer.meta_lic", "gplContainer.meta_lic", "restricted"}, + {"gplContainer.meta_lic", "apacheLib.meta_lic", "restricted"}, + {"apacheLib.meta_lic", "apacheLib.meta_lic", "restricted"}, }, }, { @@ -258,12 +253,11 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"apacheContainer.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"gplLib.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice|restricted"}, + {"apacheContainer.meta_lic", "apacheLib.meta_lic", "notice"}, + {"apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, + {"gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, }, }, { @@ -275,9 +269,9 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"apacheContainer.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheContainer.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"gplLib.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "restricted"}, + {"apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, + {"gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, }, }, { @@ -289,11 +283,9 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"apacheBin.meta_lic", "apacheLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice|restricted"}, + {"apacheBin.meta_lic", "apacheLib.meta_lic", "notice|restricted"}, + {"apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, }, }, { @@ -305,9 +297,9 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "apacheLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheBin.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "apacheBin.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "apacheLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, }, }, { @@ -318,7 +310,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, }, }, { @@ -329,7 +321,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, }, }, { @@ -340,9 +332,9 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"gplBin.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "apacheLib.meta_lic", "restricted"}, + {"apacheLib.meta_lic", "apacheLib.meta_lic", "restricted"}, }, }, { @@ -353,7 +345,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplWithClasspathException.meta_lic", "apacheBin.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, + {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, }, }, { @@ -382,8 +374,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplWithClasspathException.meta_lic", "apacheBin.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, - {"gplWithClasspathException.meta_lic", "apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, + {"gplWithClasspathException.meta_lic", "apacheBin.meta_lic", "notice"}, }, }, { @@ -403,7 +395,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplWithClasspathException.meta_lic", "dependentModule.meta_lic", []string{"dynamic"}}, }, expectedResolutions: []res{ - {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, + {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, }, }, { @@ -432,9 +424,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"proprietary.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"proprietary.meta_lic", "proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, - {"proprietary.meta_lic", "proprietary.meta_lic", "gplLib.meta_lic", "restricted"}, - {"proprietary.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"proprietary.meta_lic", "proprietary.meta_lic", "restricted|proprietary"}, + {"proprietary.meta_lic", "gplLib.meta_lic", "restricted"}, }, }, { @@ -445,8 +436,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"proprietary.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"proprietary.meta_lic", "gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"proprietary.meta_lic", "proprietary.meta_lic", "gplLib.meta_lic", "restricted"}, + {"proprietary.meta_lic", "gplLib.meta_lic", "restricted"}, + {"proprietary.meta_lic", "proprietary.meta_lic", "restricted"}, }, }, { @@ -457,7 +448,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"proprietary.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"proprietary.meta_lic", "proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, + {"proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, }, }, { @@ -468,9 +459,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplBin.meta_lic", "proprietary.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"gplBin.meta_lic", "proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, - {"gplBin.meta_lic", "proprietary.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "proprietary.meta_lic", "restricted|proprietary"}, }, }, { @@ -481,8 +471,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplBin.meta_lic", "proprietary.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"gplBin.meta_lic", "proprietary.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "proprietary.meta_lic", "restricted"}, }, }, { @@ -493,7 +483,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"gplBin.meta_lic", "proprietary.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"gplBin.meta_lic", "proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, + {"gplBin.meta_lic", "proprietary.meta_lic", "proprietary"}, }, }, { @@ -504,8 +494,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"mitBin.meta_lic", "by_exception.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"mitBin.meta_lic", "mitBin.meta_lic", "mitBin.meta_lic", "notice"}, - {"mitBin.meta_lic", "by_exception.meta_lic", "by_exception.meta_lic", "by_exception_only"}, + {"mitBin.meta_lic", "mitBin.meta_lic", "notice"}, + {"mitBin.meta_lic", "by_exception.meta_lic", "by_exception_only"}, }, }, { @@ -525,7 +515,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"mitBin.meta_lic", "by_exception.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"mitBin.meta_lic", "by_exception.meta_lic", "by_exception.meta_lic", "by_exception_only"}, + {"mitBin.meta_lic", "by_exception.meta_lic", "by_exception_only"}, }, }, { @@ -536,8 +526,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"by_exception.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"by_exception.meta_lic", "by_exception.meta_lic", "by_exception.meta_lic", "by_exception_only"}, - {"by_exception.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"by_exception.meta_lic", "by_exception.meta_lic", "by_exception_only"}, + {"by_exception.meta_lic", "mitLib.meta_lic", "notice"}, }, }, { @@ -557,7 +547,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"by_exception.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"by_exception.meta_lic", "by_exception.meta_lic", "by_exception.meta_lic", "by_exception_only"}, + {"by_exception.meta_lic", "by_exception.meta_lic", "by_exception_only"}, }, }, { @@ -568,8 +558,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"mitBin.meta_lic", "mplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"mitBin.meta_lic", "mitBin.meta_lic", "mitBin.meta_lic", "notice"}, - {"mitBin.meta_lic", "mplLib.meta_lic", "mplLib.meta_lic", "reciprocal"}, + {"mitBin.meta_lic", "mitBin.meta_lic", "notice"}, + {"mitBin.meta_lic", "mplLib.meta_lic", "reciprocal"}, }, }, { @@ -580,7 +570,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"mitBin.meta_lic", "mplLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"mitBin.meta_lic", "mplLib.meta_lic", "mplLib.meta_lic", "reciprocal"}, + {"mitBin.meta_lic", "mplLib.meta_lic", "reciprocal"}, }, }, { @@ -591,8 +581,8 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"mplBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"mplBin.meta_lic", "mplBin.meta_lic", "mplBin.meta_lic", "reciprocal"}, - {"mplBin.meta_lic", "mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"mplBin.meta_lic", "mplBin.meta_lic", "reciprocal"}, + {"mplBin.meta_lic", "mitLib.meta_lic", "notice"}, }, }, { @@ -603,7 +593,7 @@ func TestWalkResolutionsForCondition(t *testing.T) { {"mplBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedResolutions: []res{ - {"mplBin.meta_lic", "mplBin.meta_lic", "mplBin.meta_lic", "reciprocal"}, + {"mplBin.meta_lic", "mplBin.meta_lic", "reciprocal"}, }, }, } @@ -639,8 +629,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, + {"apacheBin.meta_lic", "notice"}, + {"apacheLib.meta_lic", "notice"}, }, }, { @@ -651,8 +641,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"mitBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"mitBin.meta_lic", "mitBin.meta_lic", "notice"}, - {"mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"mitBin.meta_lic", "notice"}, + {"mitLib.meta_lic", "notice"}, }, }, { @@ -663,9 +653,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "lgplLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "lgplLib.meta_lic", "restricted"}, - {"lgplLib.meta_lic", "lgplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "notice"}, + {"lgplLib.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -676,7 +665,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "lgplLib.meta_lic", []string{"dynamic"}}, }, expectedActions: []act{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "notice"}, }, }, { @@ -687,7 +676,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "gplWithClasspathException.meta_lic", []string{"dynamic"}}, }, expectedActions: []act{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"apacheBin.meta_lic", "notice"}, }, }, { @@ -707,8 +696,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "gplWithClasspathException.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, + {"apacheBin.meta_lic", "notice"}, + {"gplWithClasspathException.meta_lic", "permissive"}, }, }, { @@ -728,7 +717,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"dependentModule.meta_lic", "gplWithClasspathException.meta_lic", []string{"dynamic"}}, }, expectedActions: []act{ - {"dependentModule.meta_lic", "dependentModule.meta_lic", "notice"}, + {"dependentModule.meta_lic", "notice"}, }, }, { @@ -748,9 +737,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"lgplBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"apacheLib.meta_lic", "lgplBin.meta_lic", "restricted"}, + {"lgplBin.meta_lic", "restricted_if_statically_linked"}, + {"apacheLib.meta_lic", "notice|restricted_if_statically_linked"}, }, }, { @@ -761,8 +749,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"lgplBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "lgplBin.meta_lic", "restricted"}, + {"lgplBin.meta_lic", "restricted_if_statically_linked"}, + {"apacheLib.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -773,7 +761,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"lgplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedActions: []act{ - {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted"}, + {"lgplBin.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -784,7 +772,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"lgplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedActions: []act{ - {"lgplBin.meta_lic", "lgplBin.meta_lic", "restricted"}, + {"lgplBin.meta_lic", "restricted_if_statically_linked"}, }, }, { @@ -795,9 +783,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"apacheLib.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "restricted"}, + {"apacheLib.meta_lic", "notice|restricted"}, }, }, { @@ -808,8 +795,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "restricted"}, + {"apacheLib.meta_lic", "restricted"}, }, }, { @@ -820,11 +807,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplContainer.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"gplContainer.meta_lic", "gplContainer.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"apacheLib.meta_lic", "gplContainer.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"apacheLib.meta_lic", "gplContainer.meta_lic", "restricted"}, + {"gplContainer.meta_lic", "restricted"}, + {"apacheLib.meta_lic", "notice|restricted"}, }, }, { @@ -835,9 +819,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplContainer.meta_lic", "apacheLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"gplContainer.meta_lic", "gplContainer.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "gplContainer.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "gplContainer.meta_lic", "restricted"}, + {"gplContainer.meta_lic", "restricted"}, + {"apacheLib.meta_lic", "restricted"}, }, }, { @@ -849,11 +832,9 @@ func TestWalkActionsForCondition(t *testing.T) { {"apacheContainer.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"apacheContainer.meta_lic", "apacheContainer.meta_lic", "notice"}, - {"apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheContainer.meta_lic", "notice|restricted"}, + {"apacheLib.meta_lic", "notice"}, + {"gplLib.meta_lic", "restricted"}, }, }, { @@ -865,8 +846,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"apacheContainer.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"apacheContainer.meta_lic", "gplLib.meta_lic", "restricted"}, - {"gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheContainer.meta_lic", "restricted"}, + {"gplLib.meta_lic", "restricted"}, }, }, { @@ -878,11 +859,9 @@ func TestWalkActionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, - {"apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "apacheLib.meta_lic", "notice"}, - {"apacheLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "notice|restricted"}, + {"apacheLib.meta_lic", "notice|restricted"}, + {"gplLib.meta_lic", "restricted"}, }, }, { @@ -894,9 +873,9 @@ func TestWalkActionsForCondition(t *testing.T) { {"apacheBin.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"apacheBin.meta_lic", "gplLib.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"apacheBin.meta_lic", "restricted"}, + {"apacheLib.meta_lic", "restricted"}, + {"gplLib.meta_lic", "restricted"}, }, }, { @@ -907,7 +886,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedActions: []act{ - {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "restricted"}, }, }, { @@ -918,7 +897,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedActions: []act{ - {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "restricted"}, }, }, { @@ -929,8 +908,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplBin.meta_lic", "apacheLib.meta_lic", []string{"dynamic"}}, }, expectedActions: []act{ - {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"apacheLib.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "restricted"}, + {"apacheLib.meta_lic", "restricted"}, }, }, { @@ -941,7 +920,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplWithClasspathException.meta_lic", "apacheBin.meta_lic", []string{"dynamic"}}, }, expectedActions: []act{ - {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, + {"gplWithClasspathException.meta_lic", "permissive"}, }, }, { @@ -970,8 +949,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplWithClasspathException.meta_lic", "apacheBin.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, - {"apacheBin.meta_lic", "apacheBin.meta_lic", "notice"}, + {"gplWithClasspathException.meta_lic", "permissive"}, + {"apacheBin.meta_lic", "notice"}, }, }, { @@ -991,7 +970,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplWithClasspathException.meta_lic", "dependentModule.meta_lic", []string{"dynamic"}}, }, expectedActions: []act{ - {"gplWithClasspathException.meta_lic", "gplWithClasspathException.meta_lic", "permissive"}, + {"gplWithClasspathException.meta_lic", "permissive"}, }, }, { @@ -1020,9 +999,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"proprietary.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, - {"proprietary.meta_lic", "gplLib.meta_lic", "restricted"}, - {"gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, + {"proprietary.meta_lic", "restricted|proprietary"}, + {"gplLib.meta_lic", "restricted"}, }, }, { @@ -1033,8 +1011,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"proprietary.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"gplLib.meta_lic", "gplLib.meta_lic", "restricted"}, - {"proprietary.meta_lic", "gplLib.meta_lic", "restricted"}, + {"gplLib.meta_lic", "restricted"}, + {"proprietary.meta_lic", "restricted"}, }, }, { @@ -1045,7 +1023,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"proprietary.meta_lic", "gplLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, + {"proprietary.meta_lic", "proprietary"}, }, }, { @@ -1056,9 +1034,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplBin.meta_lic", "proprietary.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, - {"proprietary.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "restricted"}, + {"proprietary.meta_lic", "restricted|proprietary"}, }, }, { @@ -1069,8 +1046,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplBin.meta_lic", "proprietary.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"gplBin.meta_lic", "gplBin.meta_lic", "restricted"}, - {"proprietary.meta_lic", "gplBin.meta_lic", "restricted"}, + {"gplBin.meta_lic", "restricted"}, + {"proprietary.meta_lic", "restricted"}, }, }, { @@ -1081,7 +1058,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"gplBin.meta_lic", "proprietary.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"proprietary.meta_lic", "proprietary.meta_lic", "proprietary"}, + {"proprietary.meta_lic", "proprietary"}, }, }, { @@ -1092,8 +1069,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"mitBin.meta_lic", "by_exception.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"mitBin.meta_lic", "mitBin.meta_lic", "notice"}, - {"by_exception.meta_lic", "by_exception.meta_lic", "by_exception_only"}, + {"mitBin.meta_lic", "notice"}, + {"by_exception.meta_lic", "by_exception_only"}, }, }, { @@ -1113,7 +1090,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"mitBin.meta_lic", "by_exception.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"by_exception.meta_lic", "by_exception.meta_lic", "by_exception_only"}, + {"by_exception.meta_lic", "by_exception_only"}, }, }, { @@ -1124,8 +1101,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"by_exception.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"by_exception.meta_lic", "by_exception.meta_lic", "by_exception_only"}, - {"mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"by_exception.meta_lic", "by_exception_only"}, + {"mitLib.meta_lic", "notice"}, }, }, { @@ -1145,7 +1122,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"by_exception.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"by_exception.meta_lic", "by_exception.meta_lic", "by_exception_only"}, + {"by_exception.meta_lic", "by_exception_only"}, }, }, { @@ -1156,8 +1133,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"mitBin.meta_lic", "mplLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"mitBin.meta_lic", "mitBin.meta_lic", "notice"}, - {"mplLib.meta_lic", "mplLib.meta_lic", "reciprocal"}, + {"mitBin.meta_lic", "notice"}, + {"mplLib.meta_lic", "reciprocal"}, }, }, { @@ -1168,7 +1145,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"mitBin.meta_lic", "mplLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"mplLib.meta_lic", "mplLib.meta_lic", "reciprocal"}, + {"mplLib.meta_lic", "reciprocal"}, }, }, { @@ -1179,8 +1156,8 @@ func TestWalkActionsForCondition(t *testing.T) { {"mplBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"mplBin.meta_lic", "mplBin.meta_lic", "reciprocal"}, - {"mitLib.meta_lic", "mitLib.meta_lic", "notice"}, + {"mplBin.meta_lic", "reciprocal"}, + {"mitLib.meta_lic", "notice"}, }, }, { @@ -1191,7 +1168,7 @@ func TestWalkActionsForCondition(t *testing.T) { {"mplBin.meta_lic", "mitLib.meta_lic", []string{"static"}}, }, expectedActions: []act{ - {"mplBin.meta_lic", "mplBin.meta_lic", "reciprocal"}, + {"mplBin.meta_lic", "reciprocal"}, }, }, } diff --git a/tools/compliance/readgraph.go b/tools/compliance/readgraph.go index bf364e66cd..a413ebef31 100644 --- a/tools/compliance/readgraph.go +++ b/tools/compliance/readgraph.go @@ -175,7 +175,7 @@ func ReadLicenseGraph(rootFS fs.FS, stderr io.Writer, files []string) (*LicenseG } lg.edges = make(TargetEdgeList, 0, esize) for _, tn := range lg.targets { - tn.licenseConditions = LicenseConditionSetFromNames(tn, tn.proto.LicenseConditions...) + tn.licenseConditions = LicenseConditionSetFromNames(tn.proto.LicenseConditions...) err = addDependencies(lg, tn) if err != nil { return nil, fmt.Errorf("error indexing dependencies for %q: %w", tn.name, err) diff --git a/tools/compliance/resolutionset_test.go b/tools/compliance/resolutionset_test.go index 89cdfebb8f..efdff82bc5 100644 --- a/tools/compliance/resolutionset_test.go +++ b/tools/compliance/resolutionset_test.go @@ -27,48 +27,44 @@ var ( // binc represents a compiler or other toolchain binary used for // building the other binaries. bottomUp = []res{ - {"image", "image", "image", "notice"}, - {"image", "image", "bin2", "restricted"}, - {"image", "bin1", "bin1", "reciprocal"}, - {"image", "bin2", "bin2", "restricted"}, - {"image", "lib1", "lib1", "notice"}, - {"image", "lib2", "lib2", "notice"}, - {"binc", "binc", "binc", "proprietary"}, - {"bin1", "bin1", "bin1", "reciprocal"}, - {"bin1", "lib1", "lib1", "notice"}, - {"bin2", "bin2", "bin2", "restricted"}, - {"bin2", "lib2", "lib2", "notice"}, - {"lib1", "lib1", "lib1", "notice"}, - {"lib2", "lib2", "lib2", "notice"}, + {"image", "image", "notice|restricted"}, + {"image", "bin1", "reciprocal"}, + {"image", "bin2", "restricted"}, + {"image", "lib1", "notice"}, + {"image", "lib2", "notice"}, + {"binc", "binc", "proprietary"}, + {"bin1", "bin1", "reciprocal"}, + {"bin1", "lib1", "notice"}, + {"bin2", "bin2", "restricted"}, + {"bin2", "lib2", "notice"}, + {"lib1", "lib1", "notice"}, + {"lib2", "lib2", "notice"}, } // notice describes bottomUp after a top-down notice resolve. notice = []res{ - {"image", "image", "image", "notice"}, - {"image", "image", "bin2", "restricted"}, - {"image", "bin1", "bin1", "reciprocal"}, - {"image", "bin2", "bin2", "restricted"}, - {"image", "lib1", "lib1", "notice"}, - {"image", "lib2", "bin2", "restricted"}, - {"image", "lib2", "lib2", "notice"}, - {"bin1", "bin1", "bin1", "reciprocal"}, - {"bin1", "lib1", "lib1", "notice"}, - {"bin2", "bin2", "bin2", "restricted"}, - {"bin2", "lib2", "bin2", "restricted"}, - {"bin2", "lib2", "lib2", "notice"}, - {"lib1", "lib1", "lib1", "notice"}, - {"lib2", "lib2", "lib2", "notice"}, + {"image", "image", "notice|restricted"}, + {"image", "bin1", "reciprocal"}, + {"image", "bin2", "restricted"}, + {"image", "lib1", "notice"}, + {"image", "lib2", "notice|restricted"}, + {"bin1", "bin1", "reciprocal"}, + {"bin1", "lib1", "notice"}, + {"bin2", "bin2", "restricted"}, + {"bin2", "lib2", "notice|restricted"}, + {"lib1", "lib1", "notice"}, + {"lib2", "lib2", "notice"}, } // share describes bottomUp after a top-down share resolve. share = []res{ - {"image", "image", "bin2", "restricted"}, - {"image", "bin1", "bin1", "reciprocal"}, - {"image", "bin2", "bin2", "restricted"}, - {"image", "lib2", "bin2", "restricted"}, - {"bin1", "bin1", "bin1", "reciprocal"}, - {"bin2", "bin2", "bin2", "restricted"}, - {"bin2", "lib2", "bin2", "restricted"}, + {"image", "image", "restricted"}, + {"image", "bin1", "reciprocal"}, + {"image", "bin2", "restricted"}, + {"image", "lib2", "restricted"}, + {"bin1", "bin1", "reciprocal"}, + {"bin2", "bin2", "restricted"}, + {"bin2", "lib2", "restricted"}, } // proprietary describes bottomUp after a top-down proprietary resolve. diff --git a/tools/compliance/test_util.go b/tools/compliance/test_util.go index f0242e2e98..053b3980e1 100644 --- a/tools/compliance/test_util.go +++ b/tools/compliance/test_util.go @@ -121,28 +121,24 @@ func newTestNode(lg *LicenseGraph, targetName string) *TargetNode { return tn } -// newTestCondition constructs a test license condition in the license graph. -func newTestCondition(lg *LicenseGraph, targetName string, conditionName string) LicenseCondition { - tn := newTestNode(lg, targetName) - cl := LicenseConditionSetFromNames(tn, conditionName).AsList() +// newTestCondition constructs a test license condition. +func newTestCondition(conditionName string) LicenseCondition { + cl := LicenseConditionSetFromNames(conditionName).AsList() if len(cl) == 0 { panic(fmt.Errorf("attempt to create unrecognized condition: %q", conditionName)) } else if len(cl) != 1 { panic(fmt.Errorf("unexpected multiple conditions from condition name: %q: got %d, want 1", conditionName, len(cl))) } lc := cl[0] - tn.licenseConditions = tn.licenseConditions.Plus(lc) return lc } -// newTestConditionSet constructs a test license condition set in the license graph. -func newTestConditionSet(lg *LicenseGraph, targetName string, conditionName []string) LicenseConditionSet { - tn := newTestNode(lg, targetName) - cs := LicenseConditionSetFromNames(tn, conditionName...) +// newTestConditionSet constructs a test license condition set. +func newTestConditionSet(conditionName []string) LicenseConditionSet { + cs := LicenseConditionSetFromNames(conditionName...) if cs.IsEmpty() { panic(fmt.Errorf("attempt to create unrecognized condition: %q", conditionName)) } - tn.licenseConditions = tn.licenseConditions.Union(cs) return cs } @@ -283,12 +279,12 @@ func (l byAnnotatedEdge) Less(i, j int) bool { // act describes test data resolution actions to define test action sets. type act struct { - actsOn, origin, condition string + actsOn, condition string } // String returns a human-readable string representing the test action. func (a act) String() string { - return fmt.Sprintf("%s{%s:%s}", a.actsOn, a.origin, a.condition) + return fmt.Sprintf("%s{%s}", a.actsOn, a.condition) } // toActionSet converts a list of act test data into a test action set. @@ -296,7 +292,7 @@ func toActionSet(lg *LicenseGraph, data []act) ActionSet { as := make(ActionSet) for _, a := range data { actsOn := newTestNode(lg, a.actsOn) - cs := newTestConditionSet(lg, a.origin, strings.Split(a.condition, "|")) + cs := newTestConditionSet(strings.Split(a.condition, "|")) as[actsOn] = cs } return as @@ -304,7 +300,7 @@ func toActionSet(lg *LicenseGraph, data []act) ActionSet { // res describes test data resolutions to define test resolution sets. type res struct { - attachesTo, actsOn, origin, condition string + attachesTo, actsOn, condition string } // toResolutionSet converts a list of res test data into a test resolution set. @@ -316,7 +312,7 @@ func toResolutionSet(lg *LicenseGraph, data []res) ResolutionSet { if _, ok := rmap[attachesTo]; !ok { rmap[attachesTo] = make(ActionSet) } - cs := newTestConditionSet(lg, r.origin, strings.Split(r.condition, ":")) + cs := newTestConditionSet(strings.Split(r.condition, "|")) rmap[attachesTo][actsOn] |= cs } return rmap @@ -416,15 +412,13 @@ func toConflictList(lg *LicenseGraph, data []confl) []SourceSharePrivacyConflict result := make([]SourceSharePrivacyConflict, 0, len(data)) for _, c := range data { fields := strings.Split(c.share, ":") - oshare := fields[0] cshare := fields[1] fields = strings.Split(c.privacy, ":") - oprivacy := fields[0] cprivacy := fields[1] result = append(result, SourceSharePrivacyConflict{ newTestNode(lg, c.sourceNode), - newTestCondition(lg, oshare, cshare), - newTestCondition(lg, oprivacy, cprivacy), + newTestCondition(cshare), + newTestCondition(cprivacy), }) } return result