Skip to content

Commit 7b17bb1

Browse files
committed
Correct license tests
Signed-off-by: Philippe Ombredanne <pombredanne@nexb.com>
1 parent f61a5c8 commit 7b17bb1

File tree

6 files changed

+60
-98
lines changed

6 files changed

+60
-98
lines changed

tests/licensedcode/data/plugin_license/license_reference/scan-ref.expected.json

Lines changed: 27 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,12 @@
11
{
22
"license_detections": [
33
{
4-
"identifier": "mit-20c01557-97bd-0022-052e-56c5ed8465ea",
4+
"identifier": "mit-6fc93e6a-0319-6943-7be7-2e20513a43e0",
55
"license_expression": "mit",
66
"license_expression_spdx": "MIT",
77
"detection_count": 1,
8-
"detection_log": [
9-
"unknown-reference-to-local-file"
10-
],
8+
"detection_log": [],
119
"reference_matches": [
12-
{
13-
"license_expression": "unknown-license-reference",
14-
"license_expression_spdx": "LicenseRef-scancode-unknown-license-reference",
15-
"from_file": "scan-ref/license-notice.txt",
16-
"start_line": 34,
17-
"end_line": 34,
18-
"matcher": "2-aho",
19-
"score": 100.0,
20-
"matched_length": 5,
21-
"match_coverage": 100.0,
22-
"rule_relevance": 100,
23-
"rule_identifier": "unknown-license-reference_25.RULE",
24-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_25.RULE",
25-
"matched_text": " \"license\": \"SEE LICENSE IN LICENSE.txt\",",
26-
"matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE."
27-
},
2810
{
2911
"license_expression": "mit",
3012
"license_expression_spdx": "MIT",
@@ -44,27 +26,27 @@
4426
]
4527
},
4628
{
47-
"identifier": "mit-6fc93e6a-0319-6943-7be7-2e20513a43e0",
48-
"license_expression": "mit",
49-
"license_expression_spdx": "MIT",
29+
"identifier": "unknown_license_reference-8637bfcb-e3d3-84a6-a4f2-cf82132b6a78",
30+
"license_expression": "unknown-license-reference",
31+
"license_expression_spdx": "LicenseRef-scancode-unknown-license-reference",
5032
"detection_count": 1,
5133
"detection_log": [],
5234
"reference_matches": [
5335
{
54-
"license_expression": "mit",
55-
"license_expression_spdx": "MIT",
56-
"from_file": "scan-ref/LICENSE",
57-
"start_line": 1,
58-
"end_line": 1,
59-
"matcher": "1-hash",
36+
"license_expression": "unknown-license-reference",
37+
"license_expression_spdx": "LicenseRef-scancode-unknown-license-reference",
38+
"from_file": "scan-ref/license-notice.txt",
39+
"start_line": 34,
40+
"end_line": 34,
41+
"matcher": "2-aho",
6042
"score": 100.0,
61-
"matched_length": 10,
43+
"matched_length": 6,
6244
"match_coverage": 100.0,
6345
"rule_relevance": 100,
64-
"rule_identifier": "mit_66.RULE",
65-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_66.RULE",
66-
"matched_text": "that is licensed under [MIT](http://opensource.org/licenses/MIT).",
67-
"matched_text_diagnostics": "that is licensed under [MIT](http://opensource.org/licenses/MIT)."
46+
"rule_identifier": "unknown-license-reference_417.RULE",
47+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_417.RULE",
48+
"matched_text": " \"license\": \"SEE LICENSE IN LICENSE.txt\",",
49+
"matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE.txt\","
6850
}
6951
]
7052
}
@@ -108,12 +90,12 @@
10890
{
10991
"path": "license-notice.txt",
11092
"type": "file",
111-
"detected_license_expression": "mit",
112-
"detected_license_expression_spdx": "MIT",
93+
"detected_license_expression": "unknown-license-reference",
94+
"detected_license_expression_spdx": "LicenseRef-scancode-unknown-license-reference",
11395
"license_detections": [
11496
{
115-
"license_expression": "mit",
116-
"license_expression_spdx": "MIT",
97+
"license_expression": "unknown-license-reference",
98+
"license_expression_spdx": "LicenseRef-scancode-unknown-license-reference",
11799
"matches": [
118100
{
119101
"license_expression": "unknown-license-reference",
@@ -123,39 +105,21 @@
123105
"end_line": 34,
124106
"matcher": "2-aho",
125107
"score": 100.0,
126-
"matched_length": 5,
108+
"matched_length": 6,
127109
"match_coverage": 100.0,
128110
"rule_relevance": 100,
129-
"rule_identifier": "unknown-license-reference_25.RULE",
130-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_25.RULE",
111+
"rule_identifier": "unknown-license-reference_417.RULE",
112+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_417.RULE",
131113
"matched_text": " \"license\": \"SEE LICENSE IN LICENSE.txt\",",
132-
"matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE."
133-
},
134-
{
135-
"license_expression": "mit",
136-
"license_expression_spdx": "MIT",
137-
"from_file": "scan-ref/LICENSE",
138-
"start_line": 1,
139-
"end_line": 1,
140-
"matcher": "1-hash",
141-
"score": 100.0,
142-
"matched_length": 10,
143-
"match_coverage": 100.0,
144-
"rule_relevance": 100,
145-
"rule_identifier": "mit_66.RULE",
146-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/mit_66.RULE",
147-
"matched_text": "that is licensed under [MIT](http://opensource.org/licenses/MIT).",
148-
"matched_text_diagnostics": "that is licensed under [MIT](http://opensource.org/licenses/MIT)."
114+
"matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE.txt\","
149115
}
150116
],
151-
"detection_log": [
152-
"unknown-reference-to-local-file"
153-
],
154-
"identifier": "mit-20c01557-97bd-0022-052e-56c5ed8465ea"
117+
"detection_log": [],
118+
"identifier": "unknown_license_reference-8637bfcb-e3d3-84a6-a4f2-cf82132b6a78"
155119
}
156120
],
157121
"license_clues": [],
158-
"percentage_of_license_text": 0.2,
122+
"percentage_of_license_text": 0.25,
159123
"scan_errors": []
160124
}
161125
]

tests/licensedcode/data/plugin_license/license_reference/scan-wref.expected.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"license_detections": [
33
{
4-
"identifier": "unknown_license_reference-8dac7670-e286-f6de-27a1-f2b5c87524ff",
4+
"identifier": "unknown_license_reference-8637bfcb-e3d3-84a6-a4f2-cf82132b6a78",
55
"license_expression": "unknown-license-reference",
66
"license_expression_spdx": "LicenseRef-scancode-unknown-license-reference",
77
"detection_count": 1,
@@ -15,13 +15,13 @@
1515
"end_line": 34,
1616
"matcher": "2-aho",
1717
"score": 100.0,
18-
"matched_length": 5,
18+
"matched_length": 6,
1919
"match_coverage": 100.0,
2020
"rule_relevance": 100,
21-
"rule_identifier": "unknown-license-reference_25.RULE",
22-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_25.RULE",
21+
"rule_identifier": "unknown-license-reference_417.RULE",
22+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_417.RULE",
2323
"matched_text": " \"license\": \"SEE LICENSE IN LICENSE.txt\",",
24-
"matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE."
24+
"matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE.txt\","
2525
}
2626
]
2727
}
@@ -45,21 +45,21 @@
4545
"end_line": 34,
4646
"matcher": "2-aho",
4747
"score": 100.0,
48-
"matched_length": 5,
48+
"matched_length": 6,
4949
"match_coverage": 100.0,
5050
"rule_relevance": 100,
51-
"rule_identifier": "unknown-license-reference_25.RULE",
52-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_25.RULE",
51+
"rule_identifier": "unknown-license-reference_417.RULE",
52+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_417.RULE",
5353
"matched_text": " \"license\": \"SEE LICENSE IN LICENSE.txt\",",
54-
"matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE."
54+
"matched_text_diagnostics": "license\": \"SEE LICENSE IN LICENSE.txt\","
5555
}
5656
],
5757
"detection_log": [],
58-
"identifier": "unknown_license_reference-8dac7670-e286-f6de-27a1-f2b5c87524ff"
58+
"identifier": "unknown_license_reference-8637bfcb-e3d3-84a6-a4f2-cf82132b6a78"
5959
}
6060
],
6161
"license_clues": [],
62-
"percentage_of_license_text": 0.2,
62+
"percentage_of_license_text": 0.25,
6363
"scan_errors": []
6464
}
6565
]

tests/licensedcode/test_license_models.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
from licensedcode.models import rules_data_dir
2020
from licensedcode.spans import Span
2121
from licensedcode.tokenize import get_existing_required_phrase_spans
22+
from licensedcode.tokenize import InvalidRuleRequiredPhrase
2223
from licensedcode_test_utils import create_rule_from_text_and_expression
2324
from licensedcode_test_utils import create_rule_from_text_file_and_expression
2425
from scancode.cli_test_utils import check_json
2526

2627
TEST_DATA_DIR = os.path.join(os.path.dirname(__file__), 'data')
2728

2829

29-
3030
def as_sorted_mapping_seq(licenses, include_text=False):
3131
"""
3232
Given a `licenses` iterator of to_dict()'able objects, return a sorted list
@@ -577,9 +577,7 @@ def test_Rule__validate_with_invalid_language(self):
577577
validations.extend(rule.validate())
578578
expected = [
579579
'Unknown language: foobar',
580-
'Invalid rule is_license_* flags. Only one allowed.',
581580
'At least one is_license_* flag is needed.',
582-
'Invalid rule is_license_* flags. Only one allowed.',
583581
'At least one is_license_* flag is needed.',
584582
]
585583
assert validations == expected
@@ -590,7 +588,7 @@ def test_key_phrases_yields_spans(self):
590588
'Which is a license originating at Massachusetts Institute of Technology (MIT).'
591589
)
592590
rule = models.Rule(license_expression='mit', text=rule_text)
593-
key_phrase_spans = list(rule.build_key_phrase_spans())
591+
key_phrase_spans = list(rule.build_required_phrase_spans())
594592
assert key_phrase_spans == [Span(4), Span(7, 9)]
595593

596594
def test_key_phrases_raises_exception_when_markup_is_not_closed(self):
@@ -601,7 +599,7 @@ def test_key_phrases_raises_exception_when_markup_is_not_closed(self):
601599
rule = models.Rule(license_expression='mit', text=rule_text)
602600

603601
try:
604-
list(rule.build_key_phrase_spans())
602+
list(rule.build_required_phrase_spans())
605603
raise Exception('Exception should be raised')
606604
except InvalidRule:
607605
pass
@@ -629,7 +627,7 @@ def test_get_key_phrases_raises_exception_key_phrase_markup_is_not_closed(self):
629627
try:
630628
list(get_existing_required_phrase_spans(text))
631629
raise Exception('Exception should be raised')
632-
except InvalidRule:
630+
except InvalidRuleRequiredPhrase:
633631
pass
634632

635633
def test_get_key_phrases_ignores_stopwords_in_positions(self):
@@ -647,7 +645,7 @@ def test_get_key_phrases_does_not_yield_empty_spans(self):
647645
try:
648646
list(get_existing_required_phrase_spans(text))
649647
raise Exception('Exception should be raised')
650-
except InvalidRule:
648+
except InvalidRuleRequiredPhrase:
651649
pass
652650

653651
def test_get_key_phrases_only_considers_outer_key_phrase_markup(self):
@@ -660,5 +658,5 @@ def test_get_key_phrases_ignores_nested_key_phrase_markup(self):
660658
try:
661659
list(get_existing_required_phrase_spans(text))
662660
raise Exception('Exception should be raised')
663-
except InvalidRule:
661+
except InvalidRuleRequiredPhrase:
664662
pass

tests/licensedcode/test_plugin_license_detection.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,4 +312,4 @@ def test_match_reference_license():
312312
from commoncode.resource import VirtualCodebase
313313
codebase = VirtualCodebase(scan_loc)
314314
resource = codebase.get_resource(path='scan-ref/license-notice.txt')
315-
assert len(resource.license_detections[0]["matches"]) == 2
315+
assert len(resource.license_detections[0]["matches"]) == 1

tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/c/clamav/stable_copyright-detailed.expected.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -635,13 +635,13 @@ other_license_detections:
635635
end_line: 533
636636
matcher: 2-aho
637637
score: '100.0'
638-
matched_length: 5
638+
matched_length: 9
639639
match_coverage: '100.0'
640640
rule_relevance: 100
641-
rule_identifier: public-domain_45.RULE
642-
rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_45.RULE
643-
matched_text: placed in the public domain
644-
identifier: public_domain-f03547dd-ab14-17f3-8260-38458dca67ee
641+
rule_identifier: public-domain_543.RULE
642+
rule_url: https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/public-domain_543.RULE
643+
matched_text: SDK is written and placed in the public domain
644+
identifier: public_domain-71dc09e0-0068-ae2b-8a12-f6fa8092a1cd
645645
- license_expression: x11-tiff
646646
license_expression_spdx: libtiff
647647
matches:

tests/packagedcode/data/npm/workspace/crystal.expected.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1586,17 +1586,17 @@
15861586
"from_file": "crystal/utils/graphile/package.json",
15871587
"start_line": 1,
15881588
"end_line": 1,
1589-
"matcher": "2-aho",
1589+
"matcher": "1-hash",
15901590
"score": 100.0,
1591-
"matched_length": 4,
1591+
"matched_length": 5,
15921592
"match_coverage": 100.0,
15931593
"rule_relevance": 100,
1594-
"rule_identifier": "unknown-license-reference_41.RULE",
1595-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_41.RULE",
1594+
"rule_identifier": "unknown-license-reference_419.RULE",
1595+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_419.RULE",
15961596
"matched_text": "SEE LICENSE IN LICENSE.md"
15971597
}
15981598
],
1599-
"identifier": "unknown_license_reference-26bf01e8-0c66-d888-2936-9512f0dce7bc"
1599+
"identifier": "unknown_license_reference-b99f36c5-9829-bf8e-a6ef-4bd8b38a2a63"
16001600
}
16011601
],
16021602
"other_license_expression": null,
@@ -20872,17 +20872,17 @@
2087220872
"from_file": "crystal/utils/graphile/package.json",
2087320873
"start_line": 1,
2087420874
"end_line": 1,
20875-
"matcher": "2-aho",
20875+
"matcher": "1-hash",
2087620876
"score": 100.0,
20877-
"matched_length": 4,
20877+
"matched_length": 5,
2087820878
"match_coverage": 100.0,
2087920879
"rule_relevance": 100,
20880-
"rule_identifier": "unknown-license-reference_41.RULE",
20881-
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_41.RULE",
20880+
"rule_identifier": "unknown-license-reference_419.RULE",
20881+
"rule_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/rules/unknown-license-reference_419.RULE",
2088220882
"matched_text": "SEE LICENSE IN LICENSE.md"
2088320883
}
2088420884
],
20885-
"identifier": "unknown_license_reference-26bf01e8-0c66-d888-2936-9512f0dce7bc"
20885+
"identifier": "unknown_license_reference-b99f36c5-9829-bf8e-a6ef-4bd8b38a2a63"
2088620886
}
2088720887
],
2088820888
"other_license_expression": null,

0 commit comments

Comments
 (0)