PB?PUIg@8!@PBPeBaNJ0AP>2D6gCo7CP$Gk4DPK0`8l4zI2HY5q2gPAElGFPMEPGPn:HP$UPPSPQPB2;JKPOPs8H;&4TPLPcNx;MPRPUPNP!6M0"6A2%UyKnIt8/?7NXJ87%Bd2S=YP^P\PWP/BZP]P[P]JXP.?sK_P`P$=mPPG6IhPpJ62lPfPoPRAD8\GG`nP]EcPv8u8aPZQ~F4A@QAQ,Hx8;OBQ&6L<'4OQMQ=LNQZIPQQQRQ_EVQTQUQSQc:WQjLdNXQ(@YQZ=ZQ|C?N`EER[Q%tE6\Q^Kh=|B^QdF_Q`Q.3aQ'6LFz1P=!HbQaEO?cQ,JZ@"4)4dQfQ:7eQsNi==HLJgQxMhQiQ~EjQ)@~:t7kQI;o9fDmQ'Bo:nQoQ0AlQqQ6Kd9pQu7^:mGtQrQ{Ij>{Qd3uQsQOAwQvQD3`7|Q-NxQ}QzQyQONy8C2tNu=XEe9"R#ReN+O%Rz8$R/3&RVK)RgJ-R*@*RP6+R+4.7.R/R0R1R[<{8^LhLwFqJ2R3R5R7R6R8R=2LK|:9RYA">)6:R[H;RR$Ih6e0?F?R==i@AR@R#>a8CR>HDR\H4BnB(6nF1CnGNKFRj@57GRHR,1u0m4(BQ5qMKR72JR*6LRqLMRRN|868NRPROR_?91^1QRRR78SRn52;TRtK5:Z5'MPA?H}\RZRD2fB8L!9yMGE~8/7gRc6JK]HfR^4aRbRdReR[5a?-JcR_Rc8`R$OrJhDb8p9hR]FlR~Si:13yR%Sv0$S%0JI"S|RwR}RH:&Sw0/S'S(S%>iK-S,S/E.S+S416:0?)SbE*S"04S#M'>:S9S0SCB1SoB6S&>3SdL<77S8S5S;S2SASFSBS=SGS1AIS"9?S}CCS31WS^2bS|>^S\S]S_S=19AYSZSz3aSo4dS`ScS.JUF8HfSeSE3gSjSiShS9GkSlSnSmSpSsSqSoSrStSuSvSwSxSEQ|?T@T>TBT8Gh0VICT}>9<]Gp4k:YK2Fx7OBATDTDBETFTHTiD.4!ta1sJl>HEf:NT=J]Nt2JT:AMTcEIEdE9HMDI:ITv16EKTGTP?OTN=-6PThJ}AFDRTOKSTXT/JWTQTTTVT&:IJYTECu2m>[TZTh9\T^T]T`TUTbTaT_TN;Q?TAcT<@m0dG[DeTdTfTgThTiTQJjTF2kT~T%C}T3Jw=[E!U%9"U!G^HQL%G+U85EM/L,V#U&UEB8KJE'UeKJ:*>(UP;O;90H8+@Q0,U-U*U81/4)UEL1I(0y0Q;R0#02U0U4U,OLG6U':9UXI:U5U;L^G;U2IUy7LUEUBUdCAUCUDUFUGUr4IUHUJUn>MU\DE1KUNUOURUPUQUR;SU&9TUz;8BUUVUZ;'9RL(5I8WUX3XU9BYU#VZU[U\U^U_U`UpB'1iH2bUFMI=drUsUS0:BR?tU3F.>/>uUm@0>vUwU`LxUF6"=yUzU\<,?tFT?xH"GI6{Uo5|U~6OF02S;}U"V!V}6~U8E0BKEHVGVFVEVAV@VDVxJKVHVJVrMIV?Vs?LV7:MVNVQVPVOVhE:VWVSVRVTVUVXVfNYVVVZV`4[V]V\V^V_Vn@#=d=cA)98:*9p5`V9:J8aV&LCGbV+9,4'CR6T;[IAHcVu4fV!DeVdVgVkDc?U;J@SB"5"DhViVo>9KlVkVjV}IsVZKmVoVkKnVpV(HqV>JrV34?J/GtVuV,944vV88DM)Mv4xV#D-91>_H2>x=lDyJ9E.9\IyVYEB:K8mDC0n=/9GMzV{VQG|VwN-O~V}VG3!W$W%W#W@I3>'W&W"W(W)W*W-W+W,W.Wd1nD/Wz7v26G0W{F[J1W.O2W@J5W!P1P0W@WvEAWBWCW4W3WDWA7'IL:7I&DKIEW4>F1FWGWrL`HJW}1,@IWHWB7TBNWLWKW'Ne8y=MWLE>=@FQWPWOWRWf8SW|I[=TWyHAF'D0EUW+54?,Iw4&GVWV;:K;K~1[WiCXWw2-XZW0GYWWWz9]WcWiWaW\EfW]I`WeWgNW;UB^W^5hW-@e1bWx2gW16dWjWlWvWtWqWpWxNrW2619z=yWkWoW_Wz2sWuWQC(:82mWxWwW36)Bf3C7nWzW}W!X=<'XpD{W%Xy2#X$X~W"Xg8*M54Y1&X:G-0aH\W,X0XeL)XiE.Xp>/XWFGO+X1X{9K@T0*X(XZA|W4;FB=X[A8X5X6Xf<9XX?XU03Xr6&064;XCXBXGXHXFXIXAXEXJXKX@X|;DXVB292X5?XXiJNXOXPXWXVX}K74TXE743QX8NSXV0UXLXRXYXD7MX]M+M\X`X~AyNaX^X[XZX_X0J4FF7bX]XcX{712kX84iXjX):hXfXeXlXdXnX{2pXoX(DsXqXgX|7rXvXuXwXtXxXyXzXjJ|X{X?=.@f2|2}X?0L@~XCl!Ya7"Yo@#Y$Y:5%Y&Y'YWBM8aL;50Y7Y6>1YDG^M3Y4Y8YjE5Y39^@FY4HrBdH-ZzJqDuK;Y!2jCDY4C>YEY@YGYCYBYoGAYRGr5H3g3!?IYNYJY}7OY";i9&==Y};LYX;MYD0HY)Ds546KY'0C:6?rDTHQY^A*B+;RYTYPYaJ=D\A{JN<`Y_Yx?~7YY9>hF1GWY]Ax<\Y8>VY[YSGUY!7]3]Y+NN:5CZY\@59d?f15Z9Z7Z8ZpY;Z:ZxYZ@Z?ZAZ~269|J/@N8CZFZRI_5EZDZTGGZ56IZHZ:46;XFI7t?JZ0@(E_IKZLZMZ8J]UF@LIX:eHCHMEANOZP_Z;>@L*:W0N@fZ1@G1U=fKr:<>'@eZcZdZkC&[jZ~;89hZiZ8?gZ/;lZkZpZqZmZ"3nZoZUHaIJ7rZ2@=>RCG6sZwZK2tZvZuZk=HCE0xZyZ*DqNC;kJ=K"[{Z~Z}ZzZ![^F|Z#[l=$[KMxG%['[([)[J6H199*[+[q=bAXR>A=AXBG:rPn7-M~J~I,[s:?D-[/O>K+D.[|4/[0[ZL$LvK\K%;2[k;[NE9[+B:[r>]L<[=[hMB[:9UG?[lE^ZbZO5GGA[>>DHG[zH>[D[C[O@mKSNgKL2^;HOF[u?E[@[O8L[J[M2H[N[T[HBAJV["IU[pG?K;4w@@=SD.MQ[P[R[O[W[M[K[S[I[lCxLFmTh8|Mh[tD#3-:`[p[a3n[r[nE~42\ILw[}4~[@K!\#\'\y[*CoE+\|[(\"\9?,\3@*\=4POv[&\X0x[:L}["?GDs[%\z?/\q3!81\z[0\)\{[-\.\?\NF$\;\=\XDLMvI8\JB>\?A5\B\A\oF@\jFD\7\H6:\]=`G<\K64\6\3\0OZ39\C\53g:]1T\1OW\:?V\U\R\F\c\E\X\P\K\H\I\Q\"tN\=9HDdAL\G\J\MMjKO\Y\a\Z\g\e\`\_\PDeA]\[\b\h\uHn\i\l\f\tC8I\\d\@>OLx\k\"8#2_3S\A>p\w\y4=]<]>]N27C?]?4A]@]B]C]D]_;5@!:pIbJDOu;P:rNE]F]`;G]H]J]I]XK^=l9SCi]q]j]ABb5r]h7%5p]n]k]`M@DYFl]t]s]#7-2;:m]o]WKtBwK|]}]O2(J}L!^#x]~]h176u]z]t@qGgHw]!Ky]$^"^{]"KHGc5%EmC%^#^YBv]K1NM0^/^v@,^lM6F&^EDL1?9)^'=.^-^(^+^h3*^IG.Nt>u@6^4^MI1^3^:1@92O=3bIaM$3;?5^:^C>0M7^2^8^^NsEBF63U1>^A^CNdMH^B^?^TNE^J=G^L^qEJ^D^8CK^@^F^M^|0C^N^=^B=L7<^R^m=:8a^[^t5OEV^_^/02192X^,BO^Q^A9b^]^U^\^+LZ^^^P8E>9CT^/MW^P^rES^Y^QO><~Kc^.Ho^;8`=e^/NB9r^n0p^d^j^l^OMg^.Ei^q^k^GLf^"<~^j3h^m^n^lBZBv^|^z^)E#_w^x^`^y5:I?_<_?_B_;_j9(G9^tM=_A_uB@_+_ioE_I_G_C_D_H_F_NIN_K_J_M_TFO_uCmB%@P_R_Q_u^S_gFT_P2tE%3d5^3AF>{Nj_y@f_k_l1i_aGe_h_H>QHl_Q59`:`$8HH<`u>;`86=`?`>`@`Q8A`i6@A}9C`D`B`m7IHc`~`i`=8e5f`}M0NvBh`j`VNW6|HJGk`m`p`l`o`j8M1q`p?n`\Nt`$tr`u`g`s`<:v`w`~Mx`y`e`z`D4%<{`|`}`;1!a;I"a$4#a$a%a'a(a&aSI*a)a,a+a-a.a0a/ay92a1aE4S?aVHAaBa[0v>GaDamFCa&5JaEaFaIaHa%IBAAA?5KaLaMaOaNaV1WahHQaSaUa>?VaTa@YaXaZa&DjA=bb=J>@b?b>b}HG4)8FbCb??2LBbDbEbAbGbHb/Dc4eCIbJbMbg?DFNbSKKbLbQbPbObSbRbTbVbUbMJV=FNWb7FXbYb]b[b\bZb^b_b`bab7LbbpLcbNCjGk6;Cdb:6P@eb=:fbgb&8U:ibVEV:N5$KKGWE\9kbK>2NE9'8#Hmbobk8nbvDqb73lbjH01l:ROpbrbKJY@tbubsbN3{bzb'<|bwb}bxbXHvbyb"c!caK~bk0$c#cL>%cCA'c&c(chbjb*c)c(ckHEAAcBciGA??caC@cN>\0)5CcxDDcG@-L#IEcFcUCGNHcGcoScO3Ucj7f5Vcu6Wc|@MF`@u:XcbCkAZc\cYc[c"7]c&7g5RM_c`c.1ccv3bcacec^cfc)NgchctTjcickclc5NmcopO>ncocW=8Fpc(Cqcxcyc+Ezc^3Z?dI|chBwc{c}c{:&d.I&HyEZ6%d#d5H~c^C{EzEv:8d(d*d-d.d+d,d)d'd!dOJU25d2d7d6dsG'L;;0d9d4d3d/d1dI4=C}@"H>d$Ha@;dOH?dSJ[C:djdhdfdndmdldkdodpd:@qdsdrdR88Aud|Etdvd5JlAG9wdHNydzd{d|de;}dO7j5*5!esLH9~d$efL0:)e*=>8HA%e+e&eP7.e2ek7-e6eJ9mM<03ek50e1e}E/e,e(3d@(88e5e7e4eQ73B9enAFeBeC?e=0JL>e[6lHmAPNo=neHe~@DeIeKeyDNeJeTJK4KL^0Me}NLeo1lFOeVePeWeSe{GJf;fO)HkfS>*IlfjfN4T8h;nH*8CKofmfN9O9i0h:YG_0tf@CXG[Bvfrfufpfsf&KU8}0qfxfyf9F;6&g=Gi;<6H@FO.LwfT@S5zf|f{f}f&C>G1D#g"g~fU?eI%g$gP9SO5g)g*gp<(gx9'g+g2D"J#A\B/g0g,g-g.gQ96g2gfIlK(I1g4g3gDK7g8g7A9g;g?gg22Eg@gAgBg!BDgCgFgGgHgC?i2IgWN+<-=j;WCJgKg11LgMgNgOgPg=6*ZQge@RgKh0h|GiM9hOhGh{?F5]6Bh[2T>EhZ:QEJhnJAhZ2V8)IKh?hHhRhChDh:FIhFh(KLh`0@hNhMhkGTh_h~3bhPhUhnM^hUM*NxCk3rIdh!F10]hYhrASh[h`h,G*0XhahxI\hWhU>/=,ehjhsAfhmh_CnhVMch83ihlh,Lohhhkh)K!OshzhrhCI<#i>6$iyI}hVh|hOO"FsI+i1i2i%ivG/i'i)i3i(i,ir1eF-i0i&i&A*i';E?07tLyLr=7i5iNO4iuM6i8i9ii@i?i1]"]EiDivMj@j?jBjAjZiFjCjDjEjGjl7IjHj0=T9'^JjQ=93KjR1W>LjU9Mja0=INjj?UjRjoCSjPj^6OjVj67^B\jXj5BWjZjQj[j]joHYj^j`jS8TjA0_j[:vNajbjuA"Ncj5MdjejdJfj@:#NkjljX>jjgMgjij=@~?hjmj#Jojnjl3+Kpj|jrjsjtjujyjzjxjvjqjwj{j7p(2~j_6}j"k!k$k#k%k1=&k'k(k>@WM)k$JFG*k+k+8,5,kk;AG-kP3.k0kwM/kF?1k2k3kQ44k5k6k7kQ38k9k:kr2(?;kkW7V?Ak$F@k17?kwB-5BkCkY>m7Dk,K_@v5uLJAEkG?pCZ>FkIkJk>:BBHk[>>IGkl;S1NkX7n;m;MOMkLk'AM5CO:3\>KkPkQkOkX8@Mo;'GTk@@BC6MWkl8?@SkXkm8UkVkRkb@IF/C]2pHC54D[kYkLCA@R4Zk[?JN@O\kgk5Dfkckkkdk`k|D_k]k!Mp;ak^kekt=A8zBEKZ1b0%FikhkfFmkbklknk,8jkV9U$ln8%l&l>;NZ'l(l2=)l*l+l,l-l+C.l0l/l&F1l-K2l3l4l5lZF]>6lk9.P7l8l?I9lAl:ll?l@lBl-3gDiIb:W9OI_2NHElS4U@DlIlyCcLGlHl.5JlcG_BqH=EFlGKl2Ll(OBDEOq;Kl1B\l(AxFPIOl?;r;^>eG-8NlMljIAm?m@m=mAmVEDmGm4n47;nRnPnQnTnSnz>UnVnWnPHS:a[9HKd6F="o$oS6EIb<#O~nx:?O&o%o'o}niFUEWD,oCC(o)o-7+o08*oa>y30o?:yAJD;3.o/oCD-o1o7o:o9o-E2o3o6o8o@6;o5o4o?o@oAo>o=ob>*F#1YN+p.n*p.p,p-p/p0plN1p2pI@;H}?g4:Mm28=[85p4ps;6p3p(;:p-jVRw?8p%NqF+1c@6<7J@1mNkM;pEE{<pnN9p@pBpAp?pCpDpzAb2Ep8LFpGp*O1[HpIpJpNpKpLpMpOpD@wLE@PpsHQpSsLLRpSpTpW3VpY?Wp$7Xp\pZp[ps3Yp]p^pH0_p`pd>apG5dpcpbpqk\JepfpgphpipjpZ4kplp#Gnp;2qppp$1A6GJ:D":`9g=\?sprpBMh4RH\F|?NN[7vpupKK,FP1wptpQIjMxpyp{pjB[3\3zpi428j4?E`N\8|p}p~p!q#q"qwI$q%q&q'q)q(q*qtHLf)?25+q,q,R;]SH{0;0t;0K~>-q_L.q\MB1A;/qn20q1q3q4q6q2q5q[47q8q9q:q;q=qq@qAqCqB6s3OGGqHqZCkFIq}GLBX1n6o6sCNqp6o2MqKqLqJqXqOqPqQqRqTqSqY=UqWq35Vq{A38YqMBZq-F[q`q^q]q_q\qbqaqdqC6cqeqfqhqgqiqkqjq|9lqmq<3nqoqq?pqqqrqsqb9tquqvqwqxq1Hzq&I{qyq}q|q~q!r"r#r$r%r&r'r(r)r*r+r,r-r.r5]/rxd45!32:1r0r%L3r4r2r5rbK6r{5%O7r9r>0:r+J8r;rr?rnK-;z:/A@rCrArDrq8BrErFrGrKr*;dBLrIrHrJr_7PrOrNr30ZrVrWrSrYrUrb3LOXrTrRrQr\r_r^r]rII[rs0`rbro3Mr71drcrar-CpKZNerfrgrhrir;Djr7Horkrlr1KDLPFprqr>Fnrmr*2yrxru1vrursr{3rr2<)2c9|r{rzrwr}r~r%s$s&s-1!s"st99L#s2K+s's,s)s(s\7-s.s/s*str0saD4s5s3s2s8s1s6s7s:s9ssIO;skBm:?s@sAsBsCs48DsEs/O@OBOHOIOKOLOROTOVOXO_OcOjOlOnOqOwOxOyOzO}O~O
diff --git a/tests/cluecode/test_finder.py b/tests/cluecode/test_finder.py
index 2a743a7ae52..8625bba4fac 100644
--- a/tests/cluecode/test_finder.py
+++ b/tests/cluecode/test_finder.py
@@ -12,10 +12,10 @@
import re
from unittest.case import expectedFailure
-import pytest
-
from commoncode.testcase import FileBasedTesting
+
from cluecode import finder
+from cluecode import finder_data
from cluecode.finder import find
from cluecode.finder import urls_regex
@@ -161,6 +161,18 @@ def test_emails_does_filter_junk_domains(self):
result = find_emails_tester(test_file)
assert result == expected
+ def test_emails_does_filter_junk_gibberish_domains(self):
+ test_file = self.get_test_loc('finder/email/gibberish-bug-6H.txt')
+ expected = []
+ result = find_emails_tester(test_file)
+ assert result == expected
+
+ def test_finder_classify_host_as_ok_for_gibberish(self):
+ assert finder_data.classify_host("FO.LwfT")
+
+ def test_is_good_email_domain_classify_host_as_bad_for_gibberish(self):
+ assert not finder.is_good_email_domain("foo@FO.LwfT")
+
def test_emails_for_ignored_hosts(self):
test_string = '''
Perhaps an email host that should be ignored from ignored_hosts
diff --git a/tests/formattedcode/data/spdx/license_known/expected.tv b/tests/formattedcode/data/spdx/license_known/expected.tv
index 0405f108a94..451413a545b 100644
--- a/tests/formattedcode/data/spdx/license_known/expected.tv
+++ b/tests/formattedcode/data/spdx/license_known/expected.tv
@@ -3,7 +3,7 @@ SPDXVersion: SPDX-2.2
DataLicense: CC0-1.0
DocumentNamespace: http://spdx.org/spdxdocs/scan
DocumentName: SPDX Document created by ScanCode Toolkit
-LicenseListVersion: 3.15
+LicenseListVersion: 3.16
SPDXID: SPDXRef-DOCUMENT
DocumentComment: Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied. No content created from
diff --git a/tests/formattedcode/data/spdx/license_known/expected_with_text.tv b/tests/formattedcode/data/spdx/license_known/expected_with_text.tv
index 0405f108a94..451413a545b 100644
--- a/tests/formattedcode/data/spdx/license_known/expected_with_text.tv
+++ b/tests/formattedcode/data/spdx/license_known/expected_with_text.tv
@@ -3,7 +3,7 @@ SPDXVersion: SPDX-2.2
DataLicense: CC0-1.0
DocumentNamespace: http://spdx.org/spdxdocs/scan
DocumentName: SPDX Document created by ScanCode Toolkit
-LicenseListVersion: 3.15
+LicenseListVersion: 3.16
SPDXID: SPDXRef-DOCUMENT
DocumentComment: Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied. No content created from
diff --git a/tests/formattedcode/data/spdx/license_ref/expected.tv b/tests/formattedcode/data/spdx/license_ref/expected.tv
index 370e13d4beb..728511d48df 100644
--- a/tests/formattedcode/data/spdx/license_ref/expected.tv
+++ b/tests/formattedcode/data/spdx/license_ref/expected.tv
@@ -3,7 +3,7 @@ SPDXVersion: SPDX-2.2
DataLicense: CC0-1.0
DocumentNamespace: http://spdx.org/spdxdocs/scan
DocumentName: SPDX Document created by ScanCode Toolkit
-LicenseListVersion: 3.15
+LicenseListVersion: 3.16
SPDXID: SPDXRef-DOCUMENT
DocumentComment: Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied. No content created from
diff --git a/tests/formattedcode/data/spdx/license_ref/expected_with_text.tv b/tests/formattedcode/data/spdx/license_ref/expected_with_text.tv
index 1c569ded826..2e53157cf94 100644
--- a/tests/formattedcode/data/spdx/license_ref/expected_with_text.tv
+++ b/tests/formattedcode/data/spdx/license_ref/expected_with_text.tv
@@ -3,7 +3,7 @@ SPDXVersion: SPDX-2.2
DataLicense: CC0-1.0
DocumentNamespace: http://spdx.org/spdxdocs/scan
DocumentName: SPDX Document created by ScanCode Toolkit
-LicenseListVersion: 3.15
+LicenseListVersion: 3.16
SPDXID: SPDXRef-DOCUMENT
DocumentComment: Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied. No content created from
diff --git a/tests/formattedcode/data/spdx/simple/expected.tv b/tests/formattedcode/data/spdx/simple/expected.tv
index be16a588cec..e85ae9e70b5 100644
--- a/tests/formattedcode/data/spdx/simple/expected.tv
+++ b/tests/formattedcode/data/spdx/simple/expected.tv
@@ -3,7 +3,7 @@ SPDXVersion: SPDX-2.2
DataLicense: CC0-1.0
DocumentNamespace: http://spdx.org/spdxdocs/simple
DocumentName: SPDX Document created by ScanCode Toolkit
-LicenseListVersion: 3.15
+LicenseListVersion: 3.16
SPDXID: SPDXRef-DOCUMENT
DocumentComment: Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied. No content created from
diff --git a/tests/formattedcode/data/spdx/tree/expected.tv b/tests/formattedcode/data/spdx/tree/expected.tv
index 1f5340fcbeb..6c963f257fb 100644
--- a/tests/formattedcode/data/spdx/tree/expected.tv
+++ b/tests/formattedcode/data/spdx/tree/expected.tv
@@ -3,7 +3,7 @@ SPDXVersion: SPDX-2.2
DataLicense: CC0-1.0
DocumentNamespace: http://spdx.org/spdxdocs/scan
DocumentName: SPDX Document created by ScanCode Toolkit
-LicenseListVersion: 3.15
+LicenseListVersion: 3.16
SPDXID: SPDXRef-DOCUMENT
DocumentComment: Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied. No content created from
diff --git a/tests/formattedcode/data/spdx/unicode/expected.tv b/tests/formattedcode/data/spdx/unicode/expected.tv
index 9c176436372..8154da154b0 100644
--- a/tests/formattedcode/data/spdx/unicode/expected.tv
+++ b/tests/formattedcode/data/spdx/unicode/expected.tv
@@ -3,7 +3,7 @@ SPDXVersion: SPDX-2.2
DataLicense: CC0-1.0
DocumentNamespace: http://spdx.org/spdxdocs/unicode
DocumentName: SPDX Document created by ScanCode Toolkit
-LicenseListVersion: 3.15
+LicenseListVersion: 3.16
SPDXID: SPDXRef-DOCUMENT
DocumentComment: Generated with ScanCode and provided on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied. No content created from
diff --git a/tests/licensedcode/data/datadriven/external/atarashi/CECILL-C.c.yml b/tests/licensedcode/data/datadriven/external/atarashi/CECILL-C.c.yml
index f840a5fc417..48002d467c4 100644
--- a/tests/licensedcode/data/datadriven/external/atarashi/CECILL-C.c.yml
+++ b/tests/licensedcode/data/datadriven/external/atarashi/CECILL-C.c.yml
@@ -1,3 +1,3 @@
license_expressions:
- cecill-c
- - cecill-c
+ - cecill-c-en
diff --git a/tests/licensedcode/data/datadriven/external/atarashi/LAL-1.2.c.yml b/tests/licensedcode/data/datadriven/external/atarashi/LAL-1.2.c.yml
index b474050dd82..285e8b9185e 100644
--- a/tests/licensedcode/data/datadriven/external/atarashi/LAL-1.2.c.yml
+++ b/tests/licensedcode/data/datadriven/external/atarashi/LAL-1.2.c.yml
@@ -1,4 +1,4 @@
license_expressions:
- lal-1.2
-expected_failure: yes
+ - lal-1.2
notes: we do not handle yet the non-english licenses
diff --git a/tests/licensedcode/data/datadriven/external/fossology-licenses/cecill-b.txt.yml b/tests/licensedcode/data/datadriven/external/fossology-licenses/cecill-b.txt.yml
index 46a1a867345..761dcc3d04e 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-licenses/cecill-b.txt.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-licenses/cecill-b.txt.yml
@@ -1,3 +1,3 @@
license_expressions:
- - cecill-b
+ - cecill-b-en
notes: this is a license from fossology license reference CECILL-B (CeCILL-B License) http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
diff --git a/tests/licensedcode/data/datadriven/external/fossology-licenses/cecill-c.txt.yml b/tests/licensedcode/data/datadriven/external/fossology-licenses/cecill-c.txt.yml
index 93220b14a80..6228c8969b2 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-licenses/cecill-c.txt.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-licenses/cecill-c.txt.yml
@@ -1,3 +1,3 @@
license_expressions:
- - cecill-c
+ - cecill-c-en
notes: this is a license from fossology license reference CECILL-C (CeCILL-C License) http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.txt
diff --git a/tests/licensedcode/data/datadriven/external/fossology-licenses/oasis.txt.yml b/tests/licensedcode/data/datadriven/external/fossology-licenses/oasis.txt.yml
index aff78e1b1b0..43867702c0a 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-licenses/oasis.txt.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-licenses/oasis.txt.yml
@@ -1 +1,3 @@
+license_expressions:
+ - proprietary-license
notes: this is a license from fossology license reference OASIS (OASIS License) http://logiciels.cnes.fr/OASIS/en/accept2.htm
diff --git a/tests/licensedcode/data/datadriven/external/fossology-licenses/opl.txt.yml b/tests/licensedcode/data/datadriven/external/fossology-licenses/opl.txt.yml
index 4cdd09f7d08..38b3294f5c8 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-licenses/opl.txt.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-licenses/opl.txt.yml
@@ -1,3 +1,4 @@
license_expressions:
- opl-1.0
+ - opl-1.0
notes: this is a license from fossology license reference OPL (OpenContent License 1.0) http://www.opencontent.org/opl.shtml
diff --git a/tests/licensedcode/data/datadriven/external/fossology-licenses/piriform.txt.yml b/tests/licensedcode/data/datadriven/external/fossology-licenses/piriform.txt.yml
index 28d5457e7bf..8992b16932f 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-licenses/piriform.txt.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-licenses/piriform.txt.yml
@@ -1,3 +1,5 @@
license_expressions:
- unknown-license-reference
+ - unknown-license-reference
+ - unknown-license-reference
notes: this is a license from fossology license reference Piriform (Piriform EULA) http://www.piriform.com/business/support-license
diff --git a/tests/licensedcode/data/datadriven/external/fossology-licenses/skype-eula.txt.yml b/tests/licensedcode/data/datadriven/external/fossology-licenses/skype-eula.txt.yml
index 1f9cc4e395a..eeccd76ebfb 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-licenses/skype-eula.txt.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-licenses/skype-eula.txt.yml
@@ -1,11 +1,14 @@
license_expressions:
- proprietary-license
+ - unknown-license-reference
- proprietary-license
- unknown-license-reference
- proprietary-license
- unknown-license-reference
- unknown-license-reference
- unknown-license-reference
+ - unknown-license-reference
+ - unknown-license-reference
- unknown
- unknown-license-reference
- proprietary-license
diff --git a/tests/licensedcode/data/datadriven/external/fossology-licenses/yahoo-eula.txt.yml b/tests/licensedcode/data/datadriven/external/fossology-licenses/yahoo-eula.txt.yml
index 12cff25d8ae..ea634a61a3d 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-licenses/yahoo-eula.txt.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-licenses/yahoo-eula.txt.yml
@@ -1,5 +1,5 @@
license_expressions:
- - unknown
+ - proprietary-license
- unknown-license-reference
- proprietary-license
- other-permissive
diff --git a/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/Epl.h.yml b/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/Epl.h.yml
index 651f92bb369..b7cb55ace83 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/Epl.h.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/Epl.h.yml
@@ -1,2 +1,3 @@
license_expressions:
- bsd-new
+ - proprietary-license
diff --git a/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/net-snmp-license.txt b/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/net-snmp-license.txt
index a2292425c15..7b61589159b 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/net-snmp-license.txt
+++ b/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/net-snmp-license.txt
@@ -295,4 +295,4 @@ OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGE.
\ No newline at end of file
+DAMAGE.
diff --git a/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/net-snmp-license.txt.yml b/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/net-snmp-license.txt.yml
index 5e5bdb00591..f3a5de53c92 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/net-snmp-license.txt.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-tests/BSD/net-snmp-license.txt.yml
@@ -4,7 +4,6 @@ license_expressions:
- bsd-new
- bsd-new
- bsd-new
- - bsd-new-nomod
- bsd-new
- bsd-new
- bsd-new
@@ -12,11 +11,9 @@ license_expressions:
- bsd-new
- bsd-new
- bsd-new
- - bsd-new-nomod
- bsd-new
- bsd-new
- bsd-new
- bsd-new
-notes: this is a net-snmp but we do not detect well large composite yet
-expected_failure: yes
-
+ - bsd-new
+ - bsd-new
diff --git a/tests/licensedcode/data/datadriven/external/fossology-tests/LGPL/valaprojectgenerator.c.yml b/tests/licensedcode/data/datadriven/external/fossology-tests/LGPL/valaprojectgenerator.c.yml
index e19e2d81c65..d464b42779c 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-tests/LGPL/valaprojectgenerator.c.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-tests/LGPL/valaprojectgenerator.c.yml
@@ -2,9 +2,7 @@ license_expressions:
- lgpl-2.1-plus
- gpl-2.0
- gpl-2.0-plus
- - gpl-2.0-plus
- gpl-3.0-plus
- lgpl-2.1-plus
- lgpl-3.0-plus
-expected_failure: yes
diff --git a/tests/licensedcode/data/datadriven/external/fossology-tests/MS/MS-LPL.txt.yml b/tests/licensedcode/data/datadriven/external/fossology-tests/MS/MS-LPL.txt.yml
index bf903d005a8..85bf83a64bb 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-tests/MS/MS-LPL.txt.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-tests/MS/MS-LPL.txt.yml
@@ -1,2 +1,2 @@
license_expressions:
- - ms-lpl
+ - ms-office-extensible-file
diff --git a/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LAL-1.2.spdx.txt.yml b/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LAL-1.2.spdx.txt.yml
index b30327c1af1..d6413805166 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LAL-1.2.spdx.txt.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LAL-1.2.spdx.txt.yml
@@ -1,2 +1,2 @@
license_expressions:
- - unknown-spdx
+ - lal-1.2
diff --git a/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LAL-1.3.yml b/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LAL-1.3.yml
index b30327c1af1..e58ab16b4a0 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LAL-1.3.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LAL-1.3.yml
@@ -1,2 +1,2 @@
license_expressions:
- - unknown-spdx
+ - lal-1.3
diff --git a/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-P-1.1.yml b/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-P-1.1.yml
index b30327c1af1..3aefbb7b328 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-P-1.1.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-P-1.1.yml
@@ -1,2 +1,2 @@
license_expressions:
- - unknown-spdx
+ - liliq-p-1.1
diff --git a/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-R-1.1.yml b/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-R-1.1.yml
index b30327c1af1..ca53f5fc719 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-R-1.1.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-R-1.1.yml
@@ -1,2 +1,2 @@
license_expressions:
- - unknown-spdx
+ - liliq-r-1.1
diff --git a/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-Rplus-1.1.yml b/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-Rplus-1.1.yml
index b30327c1af1..102739f4ac9 100644
--- a/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-Rplus-1.1.yml
+++ b/tests/licensedcode/data/datadriven/external/fossology-tests/SPDX/LiLiQ-Rplus-1.1.yml
@@ -1,2 +1,2 @@
license_expressions:
- - unknown-spdx
+ - liliq-rplus-1.1
diff --git a/tests/licensedcode/data/datadriven/external/glc/Apache-2.0-Header.t14.yml b/tests/licensedcode/data/datadriven/external/glc/Apache-2.0-Header.t14.yml
index 9945ff29140..84f697a599c 100644
--- a/tests/licensedcode/data/datadriven/external/glc/Apache-2.0-Header.t14.yml
+++ b/tests/licensedcode/data/datadriven/external/glc/Apache-2.0-Header.t14.yml
@@ -1,4 +1,5 @@
license_expressions:
+ - free-unknown
- apache-2.0
notes: |
License test derived from a file of the BSD-licensed repository at:
@@ -6,5 +7,3 @@ notes: |
originally expected to be detected as Apache-2.0
with coverage of 68.8
Example: https://github.com/donnemartin/saws
-expected_failure: yes
-
diff --git a/tests/licensedcode/data/datadriven/external/glc/CECILL-B.t1.yml b/tests/licensedcode/data/datadriven/external/glc/CECILL-B.t1.yml
index 0cc9536fc67..2f527acffd8 100644
--- a/tests/licensedcode/data/datadriven/external/glc/CECILL-B.t1.yml
+++ b/tests/licensedcode/data/datadriven/external/glc/CECILL-B.t1.yml
@@ -1,5 +1,5 @@
license_expressions:
- - cecill-b
+ - cecill-b-en
notes: |
License test derived from a file of the BSD-licensed repository at:
https://raw.githubusercontent.com/google/licensecheck/v0.3.1/testdata/CECILL-B.t1
diff --git a/tests/licensedcode/data/datadriven/external/glc/CECILL-C.t1.yml b/tests/licensedcode/data/datadriven/external/glc/CECILL-C.t1.yml
index 1ec1af6e964..c4e64fff262 100644
--- a/tests/licensedcode/data/datadriven/external/glc/CECILL-C.t1.yml
+++ b/tests/licensedcode/data/datadriven/external/glc/CECILL-C.t1.yml
@@ -1,5 +1,5 @@
license_expressions:
- - cecill-c
+ - cecill-c-en
notes: |
License test derived from a file of the BSD-licensed repository at:
https://raw.githubusercontent.com/google/licensecheck/v0.3.1/testdata/CECILL-C.t1
diff --git a/tests/licensedcode/data/datadriven/external/glc/LAL-1.2.t1.yml b/tests/licensedcode/data/datadriven/external/glc/LAL-1.2.t1.yml
index cdc32158e0f..8a40011c947 100644
--- a/tests/licensedcode/data/datadriven/external/glc/LAL-1.2.t1.yml
+++ b/tests/licensedcode/data/datadriven/external/glc/LAL-1.2.t1.yml
@@ -1,6 +1,5 @@
license_expressions:
- - unknown
-expected_failure: yes
+ - lal-1.2
notes: |
License test derived from a file of the BSD-licensed repository at:
https://raw.githubusercontent.com/google/licensecheck/v0.3.1/testdata/LAL-1.2.t1
diff --git a/tests/licensedcode/data/datadriven/external/glc/LAL-1.3.t1.yml b/tests/licensedcode/data/datadriven/external/glc/LAL-1.3.t1.yml
index e4db39f1157..5de91926dbf 100644
--- a/tests/licensedcode/data/datadriven/external/glc/LAL-1.3.t1.yml
+++ b/tests/licensedcode/data/datadriven/external/glc/LAL-1.3.t1.yml
@@ -1,6 +1,5 @@
license_expressions:
- - unknown
-expected_failure: yes
+ - lal-1.3
notes: |
License test derived from a file of the BSD-licensed repository at:
https://raw.githubusercontent.com/google/licensecheck/v0.3.1/testdata/LAL-1.3.t1
diff --git a/tests/licensedcode/data/datadriven/external/glc/LiLiQ-P-1.1.t1.yml b/tests/licensedcode/data/datadriven/external/glc/LiLiQ-P-1.1.t1.yml
index 75677d28a71..ac4577f6298 100644
--- a/tests/licensedcode/data/datadriven/external/glc/LiLiQ-P-1.1.t1.yml
+++ b/tests/licensedcode/data/datadriven/external/glc/LiLiQ-P-1.1.t1.yml
@@ -1,6 +1,5 @@
license_expressions:
- - unknown
-expected_failure: yes
+ - liliq-p-1.1
notes: |
License test derived from a file of the BSD-licensed repository at:
https://raw.githubusercontent.com/google/licensecheck/v0.3.1/testdata/LiLiQ-P-1.1.t1
diff --git a/tests/licensedcode/data/datadriven/external/glc/LiLiQ-R-1.1.t1.yml b/tests/licensedcode/data/datadriven/external/glc/LiLiQ-R-1.1.t1.yml
index 79454db2e94..e4b84267c3b 100644
--- a/tests/licensedcode/data/datadriven/external/glc/LiLiQ-R-1.1.t1.yml
+++ b/tests/licensedcode/data/datadriven/external/glc/LiLiQ-R-1.1.t1.yml
@@ -1,6 +1,5 @@
license_expressions:
- - unknown
-expected_failure: yes
+ - liliq-r-1.1
notes: |
License test derived from a file of the BSD-licensed repository at:
https://raw.githubusercontent.com/google/licensecheck/v0.3.1/testdata/LiLiQ-R-1.1.t1
diff --git a/tests/licensedcode/data/datadriven/external/glc/LiLiQ-Rplus-1.1.t1.yml b/tests/licensedcode/data/datadriven/external/glc/LiLiQ-Rplus-1.1.t1.yml
index 616b3b0b88c..8a73d5acea3 100644
--- a/tests/licensedcode/data/datadriven/external/glc/LiLiQ-Rplus-1.1.t1.yml
+++ b/tests/licensedcode/data/datadriven/external/glc/LiLiQ-Rplus-1.1.t1.yml
@@ -1,6 +1,5 @@
license_expressions:
- - unknown
-expected_failure: yes
+ - liliq-rplus-1.1
notes: |
License test derived from a file of the BSD-licensed repository at:
https://raw.githubusercontent.com/google/licensecheck/v0.3.1/testdata/LiLiQ-Rplus-1.1.t1
diff --git a/tests/licensedcode/data/datadriven/external/glc/Net-SNMP.t1.yml b/tests/licensedcode/data/datadriven/external/glc/Net-SNMP.t1.yml
index 90bd7da62e8..545381fa250 100644
--- a/tests/licensedcode/data/datadriven/external/glc/Net-SNMP.t1.yml
+++ b/tests/licensedcode/data/datadriven/external/glc/Net-SNMP.t1.yml
@@ -17,10 +17,9 @@ license_expressions:
- bsd-new
- bsd-new
- bsd-new
+expected_failure: yes
notes: |
License test derived from a file of the BSD-licensed repository at:
https://raw.githubusercontent.com/google/licensecheck/v0.3.1/testdata/Net-SNMP.t1
originally expected to be detected as Net-SNMP
with coverage of 100.0
-expected_failure: yes
-
diff --git a/tests/licensedcode/data/datadriven/external/glc/etalab-2.0.t1.yml b/tests/licensedcode/data/datadriven/external/glc/etalab-2.0.t1.yml
index 7ec7146d7a0..2d1614b0fd8 100644
--- a/tests/licensedcode/data/datadriven/external/glc/etalab-2.0.t1.yml
+++ b/tests/licensedcode/data/datadriven/external/glc/etalab-2.0.t1.yml
@@ -1,6 +1,5 @@
license_expressions:
- - etalab-2.0
-expected_failure: yes
+ - etalab-2.0-fr
notes: |
License test derived from a file of the BSD-licensed repository at:
https://raw.githubusercontent.com/google/licensecheck/v0.3.1/testdata/etalab-2.0.t1
diff --git a/tests/licensedcode/data/datadriven/lic1/french_gfdl.docbook.yml b/tests/licensedcode/data/datadriven/lic1/french_gfdl.docbook.yml
index 4bee3c7fbea..8bfa33fcd95 100644
--- a/tests/licensedcode/data/datadriven/lic1/french_gfdl.docbook.yml
+++ b/tests/licensedcode/data/datadriven/lic1/french_gfdl.docbook.yml
@@ -1,6 +1,7 @@
+language: fr
license_expressions:
- gfdl-1.1
- gfdl-1.1
- - gfdl-1.1-plus
+ - gfdl-1.1
+ - gfdl-1.1
- gpl-1.0-plus
-
diff --git a/tests/licensedcode/data/datadriven/lic2/aes-128-3.0_and_bsd-new_and_bsd-original-uc_and_bsd-simplified_and_other.txt.yml b/tests/licensedcode/data/datadriven/lic2/aes-128-3.0_and_bsd-new_and_bsd-original-uc_and_bsd-simplified_and_other.txt.yml
index 10906ec27db..7e19ae5b5d6 100644
--- a/tests/licensedcode/data/datadriven/lic2/aes-128-3.0_and_bsd-new_and_bsd-original-uc_and_bsd-simplified_and_other.txt.yml
+++ b/tests/licensedcode/data/datadriven/lic2/aes-128-3.0_and_bsd-new_and_bsd-original-uc_and_bsd-simplified_and_other.txt.yml
@@ -79,7 +79,7 @@ license_expressions:
- bsd-original-uc
- pcre
- pcre
- - x11-xconsortium_veillard
+ - x11-xconsortium-veillard
- bsd-simplified
- libpng
- bsd-new AND lgpl-2.0
diff --git a/tests/licensedcode/data/datadriven/lic2/boost-1.0_and_bsd-simplified_and_cddl-1.0_and_gpl-2.0-classpath_and_other.txt.yml b/tests/licensedcode/data/datadriven/lic2/boost-1.0_and_bsd-simplified_and_cddl-1.0_and_gpl-2.0-classpath_and_other.txt.yml
index 2ecd82dd7ad..9c12ed1821b 100644
--- a/tests/licensedcode/data/datadriven/lic2/boost-1.0_and_bsd-simplified_and_cddl-1.0_and_gpl-2.0-classpath_and_other.txt.yml
+++ b/tests/licensedcode/data/datadriven/lic2/boost-1.0_and_bsd-simplified_and_cddl-1.0_and_gpl-2.0-classpath_and_other.txt.yml
@@ -53,7 +53,7 @@ license_expressions:
- unknown-license-reference
- x11-xconsortium
- mpl-1.1
- - x11-xconsortium_veillard
+ - x11-xconsortium-veillard
- lgpl-2.1
- other-permissive
- apache-2.0
@@ -75,7 +75,7 @@ license_expressions:
- unknown-license-reference
- x11-xconsortium
- mpl-1.1
- - x11-xconsortium_veillard
+ - x11-xconsortium-veillard
- lgpl-2.1
- other-permissive
- apache-2.0
diff --git a/tests/licensedcode/data/datadriven/lic3/libxslt-1.1.26-10.fc17.x86_64.rpm.Copyright.txt.yml b/tests/licensedcode/data/datadriven/lic3/libxslt-1.1.26-10.fc17.x86_64.rpm.Copyright.txt.yml
index 01fc1cb472d..c9188267248 100644
--- a/tests/licensedcode/data/datadriven/lic3/libxslt-1.1.26-10.fc17.x86_64.rpm.Copyright.txt.yml
+++ b/tests/licensedcode/data/datadriven/lic3/libxslt-1.1.26-10.fc17.x86_64.rpm.Copyright.txt.yml
@@ -1,3 +1,3 @@
license_expressions:
- - x11-xconsortium_veillard
+ - x11-xconsortium-veillard
- x11-xconsortium
diff --git a/tests/licensedcode/data/datadriven/lic3/nysl-0.9982.txt.yml b/tests/licensedcode/data/datadriven/lic3/nysl-0.9982.txt.yml
index 0c73bfc3733..2979c0cbd9d 100644
--- a/tests/licensedcode/data/datadriven/lic3/nysl-0.9982.txt.yml
+++ b/tests/licensedcode/data/datadriven/lic3/nysl-0.9982.txt.yml
@@ -1,3 +1,4 @@
+language: jp
license_expressions:
- - nysl-0.9982
+ - nysl-0.9982-jp
- nysl-0.9982
diff --git a/tests/licensedcode/data/datadriven/lic3/nysl-0.9982_jp.txt.yml b/tests/licensedcode/data/datadriven/lic3/nysl-0.9982_jp.txt.yml
index 92fa16c5ea3..b6a7c1e3d8c 100644
--- a/tests/licensedcode/data/datadriven/lic3/nysl-0.9982_jp.txt.yml
+++ b/tests/licensedcode/data/datadriven/lic3/nysl-0.9982_jp.txt.yml
@@ -1,2 +1,3 @@
+language: jp
license_expressions:
- - nysl-0.9982
+ - nysl-0.9982-jp
diff --git a/tests/licensedcode/data/datadriven/lic4/D-FSL-1.0.yml b/tests/licensedcode/data/datadriven/lic4/D-FSL-1.0.yml
index 678dd4d7051..51c007a027f 100644
--- a/tests/licensedcode/data/datadriven/lic4/D-FSL-1.0.yml
+++ b/tests/licensedcode/data/datadriven/lic4/D-FSL-1.0.yml
@@ -1,2 +1,3 @@
+language: de
license_expressions:
- - d-fsl-1.0-en
+ - d-fsl-1.0-de
diff --git a/tests/licensedcode/data/datadriven/lic4/quickfix.LICENSE.txt b/tests/licensedcode/data/datadriven/lic4/quickfix.LICENSE.txt
new file mode 100644
index 00000000000..7e5349963b3
--- /dev/null
+++ b/tests/licensedcode/data/datadriven/lic4/quickfix.LICENSE.txt
@@ -0,0 +1,45 @@
+The QuickFIX Software License, Version 1.0
+
+Copyright (c) 2001-2005 quickfixengine.org All rights
+reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+3. The end-user documentation included with the redistribution,
+ if any, must include the following acknowledgment:
+ "This product includes software developed by
+ quickfixengine.org (http://www.quickfixengine.org/)."
+ Alternately, this acknowledgment may appear in the software itself,
+ if and wherever such third-party acknowledgments normally appear.
+
+4. The names "QuickFIX" and "quickfixengine.org" must
+ not be used to endorse or promote products derived from this
+ software without prior written permission. For written
+ permission, please contact ask@quickfixengine.org
+
+5. Products derived from this software may not be called "QuickFIX",
+ nor may "QuickFIX" appear in their name, without prior written
+ permission of quickfixengine.org
+
+THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL QUICKFIXENGINE.ORG OR
+ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGE.
diff --git a/tests/licensedcode/data/datadriven/lic4/quickfix.LICENSE.txt.yml b/tests/licensedcode/data/datadriven/lic4/quickfix.LICENSE.txt.yml
new file mode 100644
index 00000000000..fa53e2e64c0
--- /dev/null
+++ b/tests/licensedcode/data/datadriven/lic4/quickfix.LICENSE.txt.yml
@@ -0,0 +1,3 @@
+license_expressions:
+ - quickfix-1.0
+
diff --git a/tests/licensedcode/data/datadriven/lic4/sun-jsr-spec-04-2006_1.txt.yml b/tests/licensedcode/data/datadriven/lic4/sun-jsr-spec-04-2006_1.txt.yml
index 35ed391502a..be9434bce60 100644
--- a/tests/licensedcode/data/datadriven/lic4/sun-jsr-spec-04-2006_1.txt.yml
+++ b/tests/licensedcode/data/datadriven/lic4/sun-jsr-spec-04-2006_1.txt.yml
@@ -1,7 +1,6 @@
license_expressions:
- - proprietary-license
-notes: this is not really the EJB or SDk spec but is essentially the same license
- as the sun-jsr-spec-04-2006 but from BEA. The detection is not perfect, but we
- do not want to add such a rare full text for now.
+ - proprietary-license
expected_failure: yes
-
+notes: this is not really the EJB or SDk spec but is essentially the same license as the sun-jsr-spec-04-2006
+ but from BEA. The detection is not perfect, but we do not want to add such a rare full text
+ for now.
diff --git a/tests/licensedcode/data/datadriven/lic4/x11-sequence.txt.yml b/tests/licensedcode/data/datadriven/lic4/x11-sequence.txt.yml
index dc369bbac66..dd82896e7fa 100644
--- a/tests/licensedcode/data/datadriven/lic4/x11-sequence.txt.yml
+++ b/tests/licensedcode/data/datadriven/lic4/x11-sequence.txt.yml
@@ -1,2 +1,2 @@
license_expressions:
- - x11-xconsortium_veillard
+ - x11-xconsortium-veillard
diff --git a/tests/licensedcode/data/datadriven/lic4/x11-xconsortium_veillard.txt.yml b/tests/licensedcode/data/datadriven/lic4/x11-xconsortium_veillard.txt.yml
index dc369bbac66..dd82896e7fa 100644
--- a/tests/licensedcode/data/datadriven/lic4/x11-xconsortium_veillard.txt.yml
+++ b/tests/licensedcode/data/datadriven/lic4/x11-xconsortium_veillard.txt.yml
@@ -1,2 +1,2 @@
license_expressions:
- - x11-xconsortium_veillard
+ - x11-xconsortium-veillard
diff --git a/tests/licensedcode/data/datadriven/unknown/README.md.yml b/tests/licensedcode/data/datadriven/unknown/README.md.yml
index 4a6f36c08b6..60e999987f5 100644
--- a/tests/licensedcode/data/datadriven/unknown/README.md.yml
+++ b/tests/licensedcode/data/datadriven/unknown/README.md.yml
@@ -1,4 +1,4 @@
license_expressions:
- - unknown-license-reference
- - unknown-license-reference
-
+ - unknown-license-reference
+ - unknown-license-reference
+ - unknown-license-reference
diff --git a/tests/licensedcode/data/datadriven/unknown/cclrc.txt.yml b/tests/licensedcode/data/datadriven/unknown/cclrc.txt.yml
index 08c47be739c..dc2f68b8416 100644
--- a/tests/licensedcode/data/datadriven/unknown/cclrc.txt.yml
+++ b/tests/licensedcode/data/datadriven/unknown/cclrc.txt.yml
@@ -1,4 +1,3 @@
license_expressions:
- - unknown
- - warranty-disclaimer
+ - cclrc
notes: this is a license from fossology license reference CCLRC (CCLRC License) http://www2-pcmdi.llnl.gov/cdat/docs/cdat-license
diff --git a/tests/licensedcode/data/datadriven/unknown/cigna-go-you-mobile-app-eula.txt.yml b/tests/licensedcode/data/datadriven/unknown/cigna-go-you-mobile-app-eula.txt.yml
index 36499863193..806f7809f00 100644
--- a/tests/licensedcode/data/datadriven/unknown/cigna-go-you-mobile-app-eula.txt.yml
+++ b/tests/licensedcode/data/datadriven/unknown/cigna-go-you-mobile-app-eula.txt.yml
@@ -5,5 +5,8 @@ license_expressions:
- unknown-license-reference
- warranty-disclaimer
- warranty-disclaimer
+ - unknown-license-reference
- warranty-disclaimer
+ - unknown-license-reference
+ - unknown-license-reference
notes: this is using unknwown license detection
diff --git a/tests/licensedcode/data/datadriven/unknown/citrix.txt.yml b/tests/licensedcode/data/datadriven/unknown/citrix.txt.yml
index 89b7f757c6e..46ac36063ce 100644
--- a/tests/licensedcode/data/datadriven/unknown/citrix.txt.yml
+++ b/tests/licensedcode/data/datadriven/unknown/citrix.txt.yml
@@ -5,6 +5,7 @@ license_expressions:
- warranty-disclaimer
- free-unknown
- free-unknown
+ - unknown-license-reference
- commercial-license
- unknown
notes: this is a license from fossology license reference Citrix (CITRIX LICENSE AGREEMENT)
diff --git a/tests/licensedcode/data/datadriven/unknown/majordomo-1.1.txt.yml b/tests/licensedcode/data/datadriven/unknown/majordomo-1.1.txt.yml
index 7f99306c75e..b353a602e56 100644
--- a/tests/licensedcode/data/datadriven/unknown/majordomo-1.1.txt.yml
+++ b/tests/licensedcode/data/datadriven/unknown/majordomo-1.1.txt.yml
@@ -1,6 +1,8 @@
license_expressions:
+ - unknown-license-reference
- unknown-license-reference
- warranty-disclaimer
- unknown
+ - unknown-license-reference
notes: this is a license from fossology license reference Majordomo-1.1 (Majordomo License Agreement)
http://www.greatcircle.com/majordomo/LICENSE
diff --git a/tests/licensedcode/data/datadriven/unknown/opl-1.0.txt.yml b/tests/licensedcode/data/datadriven/unknown/opl-1.0.txt.yml
index 3a7648a4787..ba8a97c6ffa 100644
--- a/tests/licensedcode/data/datadriven/unknown/opl-1.0.txt.yml
+++ b/tests/licensedcode/data/datadriven/unknown/opl-1.0.txt.yml
@@ -1,12 +1,3 @@
license_expressions:
- - mpl-1.1
- - mpl-1.1
- - unknown-license-reference
- - unknown
- - free-unknown
- - warranty-disclaimer
- - unknown
- - unknown-license-reference
- - generic-trademark
+ - openi-pl-1.0
notes: this is an mpl-1.1 derivative which is very rare.
-
diff --git a/tests/licensedcode/data/datadriven/unknown/qt.commercial.txt.yml b/tests/licensedcode/data/datadriven/unknown/qt.commercial.txt.yml
index efb2f8caeb8..c495bde56c2 100644
--- a/tests/licensedcode/data/datadriven/unknown/qt.commercial.txt.yml
+++ b/tests/licensedcode/data/datadriven/unknown/qt.commercial.txt.yml
@@ -7,6 +7,7 @@ license_expressions:
- lgpl-2.0-plus AND gpl-1.0-plus
- lgpl-2.1 AND gpl-2.0 AND gpl-3.0
- unknown
+ - unknown-license-reference
- commercial-license
- unknown
- commercial-license
diff --git a/tests/licensedcode/data/plugin_license/license_reference/license-ref-see-copying.expected.json b/tests/licensedcode/data/plugin_license/license_reference/license-ref-see-copying.expected.json
new file mode 100644
index 00000000000..665a7562620
--- /dev/null
+++ b/tests/licensedcode/data/plugin_license/license_reference/license-ref-see-copying.expected.json
@@ -0,0 +1,169 @@
+{
+ "headers": [
+ {
+ "tool_name": "scancode-toolkit",
+ "options": {
+ "input": "",
+ "--json": "",
+ "--license": true,
+ "--license-text": true,
+ "--license-text-diagnostics": true,
+ "--strip-root": true,
+ "--unknown-licenses": true
+ },
+ "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
+ "output_format_version": "2.0.0",
+ "message": null,
+ "errors": [],
+ "extra_data": {
+ "spdx_license_list_version": "3.16",
+ "OUTDATED": "WARNING: Outdated ScanCode Toolkit version! You are using an outdated version of ScanCode Toolkit: 31.0.0 released on: 2021-09-24. A new version is available with important improvements including bug and security fixes, updated license, copyright and package detection, and improved scanning accuracy. Please download and install the latest version of ScanCode. Visit https://github.com/nexB/scancode-toolkit/releases for details.",
+ "files_count": 2
+ }
+ }
+ ],
+ "files": [
+ {
+ "path": "COPYING",
+ "type": "file",
+ "licenses": [
+ {
+ "key": "apache-2.0",
+ "score": 100.0,
+ "name": "Apache License 2.0",
+ "short_name": "Apache 2.0",
+ "category": "Permissive",
+ "is_exception": false,
+ "is_unknown": false,
+ "owner": "Apache Software Foundation",
+ "homepage_url": "http://www.apache.org/licenses/",
+ "text_url": "http://www.apache.org/licenses/LICENSE-2.0",
+ "reference_url": "https://scancode-licensedb.aboutcode.org/apache-2.0",
+ "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE",
+ "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.yml",
+ "spdx_license_key": "Apache-2.0",
+ "spdx_url": "https://spdx.org/licenses/Apache-2.0",
+ "start_line": 1,
+ "end_line": 1,
+ "matched_rule": {
+ "identifier": "apache-2.0_65.RULE",
+ "license_expression": "apache-2.0",
+ "licenses": [
+ "apache-2.0"
+ ],
+ "referenced_filenames": [],
+ "is_license_text": false,
+ "is_license_notice": false,
+ "is_license_reference": false,
+ "is_license_tag": true,
+ "is_license_intro": false,
+ "has_unknown": false,
+ "matcher": "1-hash",
+ "rule_length": 4,
+ "matched_length": 4,
+ "match_coverage": 100.0,
+ "rule_relevance": 100
+ },
+ "matched_text": "license: apache 2.0"
+ }
+ ],
+ "license_expressions": [
+ "apache-2.0"
+ ],
+ "percentage_of_license_text": 100.0,
+ "scan_errors": []
+ },
+ {
+ "path": "ref",
+ "type": "file",
+ "licenses": [
+ {
+ "key": "unknown-license-reference",
+ "score": 100.0,
+ "name": "Unknown License file reference",
+ "short_name": "Unknown License reference",
+ "category": "Unstated License",
+ "is_exception": false,
+ "is_unknown": true,
+ "owner": "Unspecified",
+ "homepage_url": null,
+ "text_url": "",
+ "reference_url": "https://scancode-licensedb.aboutcode.org/unknown-license-reference",
+ "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unknown-license-reference.LICENSE",
+ "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unknown-license-reference.yml",
+ "spdx_license_key": "LicenseRef-scancode-unknown-license-reference",
+ "spdx_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/unknown-license-reference.LICENSE",
+ "start_line": 1,
+ "end_line": 1,
+ "matched_rule": {
+ "identifier": "unknown-license-reference_91.RULE",
+ "license_expression": "unknown-license-reference",
+ "licenses": [
+ "unknown-license-reference"
+ ],
+ "referenced_filenames": [
+ "COPYING"
+ ],
+ "is_license_text": false,
+ "is_license_notice": false,
+ "is_license_reference": true,
+ "is_license_tag": false,
+ "is_license_intro": false,
+ "has_unknown": true,
+ "matcher": "1-hash",
+ "rule_length": 8,
+ "matched_length": 8,
+ "match_coverage": 100.0,
+ "rule_relevance": 100
+ },
+ "matched_text": "This is free software. See COPYING for details."
+ },
+ {
+ "key": "apache-2.0",
+ "score": 100.0,
+ "name": "Apache License 2.0",
+ "short_name": "Apache 2.0",
+ "category": "Permissive",
+ "is_exception": false,
+ "is_unknown": false,
+ "owner": "Apache Software Foundation",
+ "homepage_url": "http://www.apache.org/licenses/",
+ "text_url": "http://www.apache.org/licenses/LICENSE-2.0",
+ "reference_url": "https://scancode-licensedb.aboutcode.org/apache-2.0",
+ "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE",
+ "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.yml",
+ "spdx_license_key": "Apache-2.0",
+ "spdx_url": "https://spdx.org/licenses/Apache-2.0",
+ "start_line": 1,
+ "end_line": 1,
+ "matched_rule": {
+ "identifier": "apache-2.0_65.RULE",
+ "license_expression": "apache-2.0",
+ "licenses": [
+ "apache-2.0"
+ ],
+ "referenced_filenames": [],
+ "is_license_text": false,
+ "is_license_notice": false,
+ "is_license_reference": false,
+ "is_license_tag": true,
+ "is_license_intro": false,
+ "has_unknown": false,
+ "matcher": "1-hash",
+ "rule_length": 4,
+ "matched_length": 4,
+ "match_coverage": 100.0,
+ "rule_relevance": 100
+ },
+ "matched_text": "license: apache 2.0"
+ }
+ ],
+ "license_expressions": [
+ "unknown-license-reference",
+ "apache-2.0"
+ ],
+ "percentage_of_license_text": 100.0,
+ "scan_errors": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/licensedcode/data/plugin_license/license_reference/scan/license-ref-see-copying/COPYING b/tests/licensedcode/data/plugin_license/license_reference/scan/license-ref-see-copying/COPYING
new file mode 100644
index 00000000000..4c97e9d77e4
--- /dev/null
+++ b/tests/licensedcode/data/plugin_license/license_reference/scan/license-ref-see-copying/COPYING
@@ -0,0 +1 @@
+license: apache 2.0
diff --git a/tests/licensedcode/data/plugin_license/license_reference/scan/license-ref-see-copying/ref b/tests/licensedcode/data/plugin_license/license_reference/scan/license-ref-see-copying/ref
new file mode 100644
index 00000000000..a0d70dfc8aa
--- /dev/null
+++ b/tests/licensedcode/data/plugin_license/license_reference/scan/license-ref-see-copying/ref
@@ -0,0 +1 @@
+This is free software. See COPYING for details.
diff --git a/tests/licensedcode/data/plugin_licenses_reference/scan.expected.json b/tests/licensedcode/data/plugin_licenses_reference/scan.expected.json
new file mode 100644
index 00000000000..bdd4f647626
--- /dev/null
+++ b/tests/licensedcode/data/plugin_licenses_reference/scan.expected.json
@@ -0,0 +1,417 @@
+{
+ "headers": [
+ {
+ "tool_name": "scancode-toolkit",
+ "options": {
+ "input": "",
+ "--json-pp": "",
+ "--license": true,
+ "--licenses-reference": true,
+ "--package": true
+ },
+ "notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
+ "output_format_version": "2.0.0",
+ "message": null,
+ "errors": [],
+ "extra_data": {
+ "spdx_license_list_version": "3.16",
+ "OUTDATED": "WARNING: Outdated ScanCode Toolkit version! You are using an outdated version of ScanCode Toolkit: 31.0.0 released on: 2021-09-24. A new version is available with important improvements including bug and security fixes, updated license, copyright and package detection, and improved scanning accuracy. Please download and install the latest version of ScanCode. Visit https://github.com/nexB/scancode-toolkit/releases for details.",
+ "files_count": 2
+ }
+ }
+ ],
+ "packages": [
+ {
+ "type": "npm",
+ "namespace": null,
+ "name": "npm",
+ "version": "2.13.5",
+ "qualifiers": {},
+ "subpath": null,
+ "primary_language": "JavaScript",
+ "description": "a package manager for JavaScript",
+ "release_date": null,
+ "parties": [
+ {
+ "type": "person",
+ "role": "author",
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
+ "url": "http://blog.izs.me"
+ }
+ ],
+ "keywords": [
+ "package manager",
+ "modules",
+ "install",
+ "package.json"
+ ],
+ "homepage_url": "https://docs.npmjs.com/",
+ "download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz",
+ "size": null,
+ "sha1": "a124386bce4a90506f28ad4b1d1a804a17baaf32",
+ "md5": null,
+ "sha256": null,
+ "sha512": null,
+ "bug_tracking_url": "http://github.com/npm/npm/issues",
+ "code_view_url": null,
+ "vcs_url": "git+https://github.com/npm/npm.git",
+ "copyright": null,
+ "license_expression": "artistic-2.0 OR mit",
+ "declared_license": [
+ "Artistic-2.0 OR MIT"
+ ],
+ "notice_text": null,
+ "root_path": "scan",
+ "dependencies": [],
+ "contains_source_code": null,
+ "source_packages": [],
+ "extra_data": {},
+ "purl": "pkg:npm/npm@2.13.5",
+ "repository_homepage_url": "https://www.npmjs.com/package/npm",
+ "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz",
+ "api_data_url": "https://registry.npmjs.org/npm/2.13.5"
+ }
+ ],
+ "licenses_reference": [
+ {
+ "key": "apache-2.0",
+ "short_name": "Apache 2.0",
+ "name": "Apache License 2.0",
+ "category": "Permissive",
+ "owner": "Apache Software Foundation",
+ "homepage_url": "http://www.apache.org/licenses/",
+ "notes": "Per SPDX.org, this version was released January 2004 This license is OSI\ncertified\n",
+ "spdx_license_key": "Apache-2.0",
+ "other_spdx_license_keys": [
+ "LicenseRef-Apache",
+ "LicenseRef-Apache-2.0"
+ ],
+ "osi_license_key": "Apache-2.0",
+ "text_urls": [
+ "http://www.apache.org/licenses/LICENSE-2.0"
+ ],
+ "osi_url": "http://opensource.org/licenses/apache2.0.php",
+ "faq_url": "http://www.apache.org/foundation/licence-FAQ.html",
+ "other_urls": [
+ "http://www.opensource.org/licenses/Apache-2.0",
+ "https://opensource.org/licenses/Apache-2.0",
+ "https://www.apache.org/licenses/LICENSE-2.0"
+ ],
+ "text": " Apache License\n Version 2.0, January 2004\n http://www.apache.org/licenses/\n\n TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION\n\n 1. Definitions.\n\n \"License\" shall mean the terms and conditions for use, reproduction,\n and distribution as defined by Sections 1 through 9 of this document.\n\n \"Licensor\" shall mean the copyright owner or entity authorized by\n the copyright owner that is granting the License.\n\n \"Legal Entity\" shall mean the union of the acting entity and all\n other entities that control, are controlled by, or are under common\n control with that entity. For the purposes of this definition,\n \"control\" means (i) the power, direct or indirect, to cause the\n direction or management of such entity, whether by contract or\n otherwise, or (ii) ownership of fifty percent (50%) or more of the\n outstanding shares, or (iii) beneficial ownership of such entity.\n\n \"You\" (or \"Your\") shall mean an individual or Legal Entity\n exercising permissions granted by this License.\n\n \"Source\" form shall mean the preferred form for making modifications,\n including but not limited to software source code, documentation\n source, and configuration files.\n\n \"Object\" form shall mean any form resulting from mechanical\n transformation or translation of a Source form, including but\n not limited to compiled object code, generated documentation,\n and conversions to other media types.\n\n \"Work\" shall mean the work of authorship, whether in Source or\n Object form, made available under the License, as indicated by a\n copyright notice that is included in or attached to the work\n (an example is provided in the Appendix below).\n\n \"Derivative Works\" shall mean any work, whether in Source or Object\n form, that is based on (or derived from) the Work and for which the\n editorial revisions, annotations, elaborations, or other modifications\n represent, as a whole, an original work of authorship. For the purposes\n of this License, Derivative Works shall not include works that remain\n separable from, or merely link (or bind by name) to the interfaces of,\n the Work and Derivative Works thereof.\n\n \"Contribution\" shall mean any work of authorship, including\n the original version of the Work and any modifications or additions\n to that Work or Derivative Works thereof, that is intentionally\n submitted to Licensor for inclusion in the Work by the copyright owner\n or by an individual or Legal Entity authorized to submit on behalf of\n the copyright owner. For the purposes of this definition, \"submitted\"\n means any form of electronic, verbal, or written communication sent\n to the Licensor or its representatives, including but not limited to\n communication on electronic mailing lists, source code control systems,\n and issue tracking systems that are managed by, or on behalf of, the\n Licensor for the purpose of discussing and improving the Work, but\n excluding communication that is conspicuously marked or otherwise\n designated in writing by the copyright owner as \"Not a Contribution.\"\n\n \"Contributor\" shall mean Licensor and any individual or Legal Entity\n on behalf of whom a Contribution has been received by Licensor and\n subsequently incorporated within the Work.\n\n 2. Grant of Copyright License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n copyright license to reproduce, prepare Derivative Works of,\n publicly display, publicly perform, sublicense, and distribute the\n Work and such Derivative Works in Source or Object form.\n\n 3. Grant of Patent License. Subject to the terms and conditions of\n this License, each Contributor hereby grants to You a perpetual,\n worldwide, non-exclusive, no-charge, royalty-free, irrevocable\n (except as stated in this section) patent license to make, have made,\n use, offer to sell, sell, import, and otherwise transfer the Work,\n where such license applies only to those patent claims licensable\n by such Contributor that are necessarily infringed by their\n Contribution(s) alone or by combination of their Contribution(s)\n with the Work to which such Contribution(s) was submitted. If You\n institute patent litigation against any entity (including a\n cross-claim or counterclaim in a lawsuit) alleging that the Work\n or a Contribution incorporated within the Work constitutes direct\n or contributory patent infringement, then any patent licenses\n granted to You under this License for that Work shall terminate\n as of the date such litigation is filed.\n\n 4. Redistribution. You may reproduce and distribute copies of the\n Work or Derivative Works thereof in any medium, with or without\n modifications, and in Source or Object form, provided that You\n meet the following conditions:\n\n (a) You must give any other recipients of the Work or\n Derivative Works a copy of this License; and\n\n (b) You must cause any modified files to carry prominent notices\n stating that You changed the files; and\n\n (c) You must retain, in the Source form of any Derivative Works\n that You distribute, all copyright, patent, trademark, and\n attribution notices from the Source form of the Work,\n excluding those notices that do not pertain to any part of\n the Derivative Works; and\n\n (d) If the Work includes a \"NOTICE\" text file as part of its\n distribution, then any Derivative Works that You distribute must\n include a readable copy of the attribution notices contained\n within such NOTICE file, excluding those notices that do not\n pertain to any part of the Derivative Works, in at least one\n of the following places: within a NOTICE text file distributed\n as part of the Derivative Works; within the Source form or\n documentation, if provided along with the Derivative Works; or,\n within a display generated by the Derivative Works, if and\n wherever such third-party notices normally appear. The contents\n of the NOTICE file are for informational purposes only and\n do not modify the License. You may add Your own attribution\n notices within Derivative Works that You distribute, alongside\n or as an addendum to the NOTICE text from the Work, provided\n that such additional attribution notices cannot be construed\n as modifying the License.\n\n You may add Your own copyright statement to Your modifications and\n may provide additional or different license terms and conditions\n for use, reproduction, or distribution of Your modifications, or\n for any such Derivative Works as a whole, provided Your use,\n reproduction, and distribution of the Work otherwise complies with\n the conditions stated in this License.\n\n 5. Submission of Contributions. Unless You explicitly state otherwise,\n any Contribution intentionally submitted for inclusion in the Work\n by You to the Licensor shall be under the terms and conditions of\n this License, without any additional terms or conditions.\n Notwithstanding the above, nothing herein shall supersede or modify\n the terms of any separate license agreement you may have executed\n with Licensor regarding such Contributions.\n\n 6. Trademarks. This License does not grant permission to use the trade\n names, trademarks, service marks, or product names of the Licensor,\n except as required for reasonable and customary use in describing the\n origin of the Work and reproducing the content of the NOTICE file.\n\n 7. Disclaimer of Warranty. Unless required by applicable law or\n agreed to in writing, Licensor provides the Work (and each\n Contributor provides its Contributions) on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or\n implied, including, without limitation, any warranties or conditions\n of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A\n PARTICULAR PURPOSE. You are solely responsible for determining the\n appropriateness of using or redistributing the Work and assume any\n risks associated with Your exercise of permissions under this License.\n\n 8. Limitation of Liability. In no event and under no legal theory,\n whether in tort (including negligence), contract, or otherwise,\n unless required by applicable law (such as deliberate and grossly\n negligent acts) or agreed to in writing, shall any Contributor be\n liable to You for damages, including any direct, indirect, special,\n incidental, or consequential damages of any character arising as a\n result of this License or out of the use or inability to use the\n Work (including but not limited to damages for loss of goodwill,\n work stoppage, computer failure or malfunction, or any and all\n other commercial damages or losses), even if such Contributor\n has been advised of the possibility of such damages.\n\n 9. Accepting Warranty or Additional Liability. While redistributing\n the Work or Derivative Works thereof, You may choose to offer,\n and charge a fee for, acceptance of support, warranty, indemnity,\n or other liability obligations and/or rights consistent with this\n License. However, in accepting such obligations, You may act only\n on Your own behalf and on Your sole responsibility, not on behalf\n of any other Contributor, and only if You agree to indemnify,\n defend, and hold each Contributor harmless for any liability\n incurred by, or claims asserted against, such Contributor by reason\n of your accepting any such warranty or additional liability.\n\n END OF TERMS AND CONDITIONS\n\n APPENDIX: How to apply the Apache License to your work.\n\n To apply the Apache License to your work, attach the following\n boilerplate notice, with the fields enclosed by brackets \"[]\"\n replaced with your own identifying information. (Don't include\n the brackets!) The text should be enclosed in the appropriate\n comment syntax for the file format. We also recommend that a\n file or class name and description of purpose be included on the\n same \"printed page\" as the copyright notice for easier\n identification within third-party archives.\n\n Copyright [yyyy] [name of copyright owner]\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License."
+ },
+ {
+ "key": "artistic-2.0",
+ "short_name": "Artistic 2.0",
+ "name": "Artistic License 2.0",
+ "category": "Copyleft Limited",
+ "owner": "Perl Foundation",
+ "homepage_url": "http://www.perlfoundation.org/",
+ "notes": "Per SPDX.org, this version was released 2006 This license is OSI\ncertifified.\n",
+ "spdx_license_key": "Artistic-2.0",
+ "osi_license_key": "Artistic-2.0",
+ "text_urls": [
+ "https://www.perlfoundation.org/artistic_license_2_0",
+ "https://www.perlfoundation.org/attachment/legal/artistic-2_0.txt"
+ ],
+ "osi_url": "https://www.opensource.org/licenses/artistic-license-2.0.php",
+ "faq_url": "https://www.perlfoundation.org/artistic-2-0-notes",
+ "other_urls": [
+ "http://www.perlfoundation.org/artistic_license_2_0",
+ "https://opensource.org/licenses/artistic-license-2.0",
+ "https://www.opensource.org/licenses/artistic-license-2.0",
+ "https://www.perlfoundation.org/artistic-license-20.html"
+ ],
+ "text": " The Artistic License 2.0\n\n Copyright (c) 2000-2006, The Perl Foundation.\n\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\nPreamble\n\nThis license establishes the terms under which a given free software\nPackage may be copied, modified, distributed, and/or redistributed.\nThe intent is that the Copyright Holder maintains some artistic\ncontrol over the development of that Package while still keeping the\nPackage available as open source and free software.\n\nYou are always permitted to make arrangements wholly outside of this\nlicense directly with the Copyright Holder of a given Package. If the\nterms of this license do not permit the full use that you propose to\nmake of the Package, you should contact the Copyright Holder and seek\na different licensing arrangement. \n\nDefinitions\n\n \"Copyright Holder\" means the individual(s) or organization(s)\n named in the copyright notice for the entire Package.\n\n \"Contributor\" means any party that has contributed code or other\n material to the Package, in accordance with the Copyright Holder's\n procedures.\n\n \"You\" and \"your\" means any person who would like to copy,\n distribute, or modify the Package.\n\n \"Package\" means the collection of files distributed by the\n Copyright Holder, and derivatives of that collection and/or of\n those files. A given Package may consist of either the Standard\n Version, or a Modified Version.\n\n \"Distribute\" means providing a copy of the Package or making it\n accessible to anyone else, or in the case of a company or\n organization, to others outside of your company or organization.\n\n \"Distributor Fee\" means any fee that you charge for Distributing\n this Package or providing support for this Package to another\n party. It does not mean licensing fees.\n\n \"Standard Version\" refers to the Package if it has not been\n modified, or has been modified only in ways explicitly requested\n by the Copyright Holder.\n\n \"Modified Version\" means the Package, if it has been changed, and\n such changes were not explicitly requested by the Copyright\n Holder. \n\n \"Original License\" means this Artistic License as Distributed with\n the Standard Version of the Package, in its current version or as\n it may be modified by The Perl Foundation in the future.\n\n \"Source\" form means the source code, documentation source, and\n configuration files for the Package.\n\n \"Compiled\" form means the compiled bytecode, object code, binary,\n or any other form resulting from mechanical transformation or\n translation of the Source form.\n\n\nPermission for Use and Modification Without Distribution\n\n(1) You are permitted to use the Standard Version and create and use\nModified Versions for any purpose without restriction, provided that\nyou do not Distribute the Modified Version.\n\n\nPermissions for Redistribution of the Standard Version\n\n(2) You may Distribute verbatim copies of the Source form of the\nStandard Version of this Package in any medium without restriction,\neither gratis or for a Distributor Fee, provided that you duplicate\nall of the original copyright notices and associated disclaimers. At\nyour discretion, such verbatim copies may or may not include a\nCompiled form of the Package.\n\n(3) You may apply any bug fixes, portability changes, and other\nmodifications made available from the Copyright Holder. The resulting\nPackage will still be considered the Standard Version, and as such\nwill be subject to the Original License.\n\n\nDistribution of Modified Versions of the Package as Source \n\n(4) You may Distribute your Modified Version as Source (either gratis\nor for a Distributor Fee, and with or without a Compiled form of the\nModified Version) provided that you clearly document how it differs\nfrom the Standard Version, including, but not limited to, documenting\nany non-standard features, executables, or modules, and provided that\nyou do at least ONE of the following:\n\n (a) make the Modified Version available to the Copyright Holder\n of the Standard Version, under the Original License, so that the\n Copyright Holder may include your modifications in the Standard\n Version.\n\n (b) ensure that installation of your Modified Version does not\n prevent the user installing or running the Standard Version. In\n addition, the Modified Version must bear a name that is different\n from the name of the Standard Version.\n\n (c) allow anyone who receives a copy of the Modified Version to\n make the Source form of the Modified Version available to others\n under\n \n (i) the Original License or\n\n (ii) a license that permits the licensee to freely copy,\n modify and redistribute the Modified Version using the same\n licensing terms that apply to the copy that the licensee\n received, and requires that the Source form of the Modified\n Version, and of any works derived from it, be made freely\n available in that license fees are prohibited but Distributor\n Fees are allowed.\n\n\nDistribution of Compiled Forms of the Standard Version \nor Modified Versions without the Source\n\n(5) You may Distribute Compiled forms of the Standard Version without\nthe Source, provided that you include complete instructions on how to\nget the Source of the Standard Version. Such instructions must be\nvalid at the time of your distribution. If these instructions, at any\ntime while you are carrying out such distribution, become invalid, you\nmust provide new instructions on demand or cease further distribution.\nIf you provide valid instructions or cease distribution within thirty\ndays after you become aware that the instructions are invalid, then\nyou do not forfeit any of your rights under this license.\n\n(6) You may Distribute a Modified Version in Compiled form without\nthe Source, provided that you comply with Section 4 with respect to\nthe Source of the Modified Version.\n\n\nAggregating or Linking the Package \n\n(7) You may aggregate the Package (either the Standard Version or\nModified Version) with other packages and Distribute the resulting\naggregation provided that you do not charge a licensing fee for the\nPackage. Distributor Fees are permitted, and licensing fees for other\ncomponents in the aggregation are permitted. The terms of this license\napply to the use and Distribution of the Standard or Modified Versions\nas included in the aggregation.\n\n(8) You are permitted to link Modified and Standard Versions with\nother works, to embed the Package in a larger work of your own, or to\nbuild stand-alone binary or bytecode versions of applications that\ninclude the Package, and Distribute the result without restriction,\nprovided the result does not expose a direct interface to the Package.\n\n\nItems That are Not Considered Part of a Modified Version \n\n(9) Works (including, but not limited to, modules and scripts) that\nmerely extend or make use of the Package, do not, by themselves, cause\nthe Package to be a Modified Version. In addition, such works are not\nconsidered parts of the Package itself, and are not subject to the\nterms of this license.\n\n\nGeneral Provisions\n\n(10) Any use, modification, and distribution of the Standard or\nModified Versions is governed by this Artistic License. By using,\nmodifying or distributing the Package, you accept this license. Do not\nuse, modify, or distribute the Package, if you do not accept this\nlicense.\n\n(11) If your Modified Version has been derived from a Modified\nVersion made by someone other than you, you are nevertheless required\nto ensure that your Modified Version complies with the requirements of\nthis license.\n\n(12) This license does not grant you the right to use any trademark,\nservice mark, tradename, or logo of the Copyright Holder.\n\n(13) This license includes the non-exclusive, worldwide,\nfree-of-charge patent license to make, have made, use, offer to sell,\nsell, import and otherwise transfer the Package with respect to any\npatent claims licensable by the Copyright Holder that are necessarily\ninfringed by the Package. If you institute patent litigation\n(including a cross-claim or counterclaim) against any party alleging\nthat the Package constitutes direct or contributory patent\ninfringement, then this Artistic License to you shall terminate on the\ndate that such litigation is filed.\n\n(14) Disclaimer of Warranty:\nTHE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS \"AS\nIS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE IMPLIED\nWARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR\nNON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL\nLAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL\nBE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL\nDAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE, EVEN IF\nADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n"
+ },
+ {
+ "key": "bsd-simplified",
+ "short_name": "BSD-2-Clause",
+ "name": "BSD-2-Clause",
+ "category": "Permissive",
+ "owner": "Regents of the University of California",
+ "homepage_url": "http://www.opensource.org/licenses/BSD-2-Clause",
+ "notes": "Per SPDX.org, this license is OSI certified.",
+ "spdx_license_key": "BSD-2-Clause",
+ "other_spdx_license_keys": [
+ "BSD-2-Clause-NetBSD",
+ "BSD-2"
+ ],
+ "text_urls": [
+ "http://opensource.org/licenses/bsd-license.php"
+ ],
+ "osi_url": "http://opensource.org/licenses/bsd-license.php",
+ "other_urls": [
+ "http://spdx.org/licenses/BSD-2-Clause",
+ "http://www.freebsd.org/copyright/copyright.html",
+ "https://opensource.org/licenses/BSD-2-Clause"
+ ],
+ "text": "Redistribution and use in source and binary forms, with or without modification,\nare permitted provided that the following conditions are met:\n\nRedistributions of source code must retain the above copyright notice, this list\nof conditions and the following disclaimer.\n\nRedistributions in binary form must reproduce the above copyright notice, this\nlist of conditions and the following disclaimer in the documentation and/or\nother materials provided with the distribution.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR\nANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\nANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+ },
+ {
+ "key": "mit",
+ "short_name": "MIT License",
+ "name": "MIT License",
+ "category": "Permissive",
+ "owner": "MIT",
+ "homepage_url": "http://opensource.org/licenses/mit-license.php",
+ "notes": "Per SPDX.org, this license is OSI certified.",
+ "spdx_license_key": "MIT",
+ "text_urls": [
+ "http://opensource.org/licenses/mit-license.php"
+ ],
+ "osi_url": "http://www.opensource.org/licenses/MIT",
+ "faq_url": "https://ieeexplore.ieee.org/document/9263265",
+ "other_urls": [
+ "https://opensource.com/article/18/3/patent-grant-mit-license",
+ "https://opensource.com/article/19/4/history-mit-license",
+ "https://opensource.org/licenses/MIT"
+ ],
+ "text": "Permission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
+ }
+ ],
+ "files": [
+ {
+ "path": "scan",
+ "type": "directory",
+ "licenses": [],
+ "license_expressions": [],
+ "percentage_of_license_text": 0,
+ "package_manifests": [],
+ "scan_errors": []
+ },
+ {
+ "path": "scan/copyr.java",
+ "type": "file",
+ "licenses": [
+ {
+ "key": "apache-2.0",
+ "score": 100.0,
+ "name": "Apache License 2.0",
+ "short_name": "Apache 2.0",
+ "category": "Permissive",
+ "is_exception": false,
+ "is_unknown": false,
+ "owner": "Apache Software Foundation",
+ "homepage_url": "http://www.apache.org/licenses/",
+ "text_url": "http://www.apache.org/licenses/LICENSE-2.0",
+ "reference_url": "https://scancode-licensedb.aboutcode.org/apache-2.0",
+ "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.LICENSE",
+ "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/apache-2.0.yml",
+ "spdx_license_key": "Apache-2.0",
+ "spdx_url": "https://spdx.org/licenses/Apache-2.0",
+ "start_line": 3,
+ "end_line": 16,
+ "matched_rule": {
+ "identifier": "apache-2.0_2.RULE",
+ "license_expression": "apache-2.0",
+ "licenses": [
+ "apache-2.0"
+ ],
+ "referenced_filenames": [
+ "NOTICE"
+ ],
+ "is_license_text": false,
+ "is_license_notice": true,
+ "is_license_reference": false,
+ "is_license_tag": false,
+ "is_license_intro": false,
+ "has_unknown": false,
+ "matcher": "2-aho",
+ "rule_length": 119,
+ "matched_length": 119,
+ "match_coverage": 100.0,
+ "rule_relevance": 100
+ }
+ },
+ {
+ "key": "mit",
+ "score": 100.0,
+ "name": "MIT License",
+ "short_name": "MIT License",
+ "category": "Permissive",
+ "is_exception": false,
+ "is_unknown": false,
+ "owner": "MIT",
+ "homepage_url": "http://opensource.org/licenses/mit-license.php",
+ "text_url": "http://opensource.org/licenses/mit-license.php",
+ "reference_url": "https://scancode-licensedb.aboutcode.org/mit",
+ "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.LICENSE",
+ "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/mit.yml",
+ "spdx_license_key": "MIT",
+ "spdx_url": "https://spdx.org/licenses/MIT",
+ "start_line": 19,
+ "end_line": 19,
+ "matched_rule": {
+ "identifier": "spdx-license-identifier: mit OR bsd-simplified",
+ "license_expression": "mit OR bsd-simplified",
+ "licenses": [
+ "mit",
+ "bsd-simplified"
+ ],
+ "referenced_filenames": [],
+ "is_license_text": false,
+ "is_license_notice": false,
+ "is_license_reference": false,
+ "is_license_tag": true,
+ "is_license_intro": false,
+ "has_unknown": false,
+ "matcher": "1-spdx-id",
+ "rule_length": 8,
+ "matched_length": 8,
+ "match_coverage": 100.0,
+ "rule_relevance": 100
+ }
+ },
+ {
+ "key": "bsd-simplified",
+ "score": 100.0,
+ "name": "BSD-2-Clause",
+ "short_name": "BSD-2-Clause",
+ "category": "Permissive",
+ "is_exception": false,
+ "is_unknown": false,
+ "owner": "Regents of the University of California",
+ "homepage_url": "http://www.opensource.org/licenses/BSD-2-Clause",
+ "text_url": "http://opensource.org/licenses/bsd-license.php",
+ "reference_url": "https://scancode-licensedb.aboutcode.org/bsd-simplified",
+ "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.LICENSE",
+ "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/bsd-simplified.yml",
+ "spdx_license_key": "BSD-2-Clause",
+ "spdx_url": "https://spdx.org/licenses/BSD-2-Clause",
+ "start_line": 19,
+ "end_line": 19,
+ "matched_rule": {
+ "identifier": "spdx-license-identifier: mit OR bsd-simplified",
+ "license_expression": "mit OR bsd-simplified",
+ "licenses": [
+ "mit",
+ "bsd-simplified"
+ ],
+ "referenced_filenames": [],
+ "is_license_text": false,
+ "is_license_notice": false,
+ "is_license_reference": false,
+ "is_license_tag": true,
+ "is_license_intro": false,
+ "has_unknown": false,
+ "matcher": "1-spdx-id",
+ "rule_length": 8,
+ "matched_length": 8,
+ "match_coverage": 100.0,
+ "rule_relevance": 100
+ }
+ }
+ ],
+ "license_expressions": [
+ "apache-2.0",
+ "mit OR bsd-simplified"
+ ],
+ "percentage_of_license_text": 100.0,
+ "package_manifests": [],
+ "scan_errors": []
+ },
+ {
+ "path": "scan/package.json",
+ "type": "file",
+ "licenses": [
+ {
+ "key": "artistic-2.0",
+ "score": 100.0,
+ "name": "Artistic License 2.0",
+ "short_name": "Artistic 2.0",
+ "category": "Copyleft Limited",
+ "is_exception": false,
+ "is_unknown": false,
+ "owner": "Perl Foundation",
+ "homepage_url": "http://www.perlfoundation.org/",
+ "text_url": "https://www.perlfoundation.org/artistic_license_2_0",
+ "reference_url": "https://scancode-licensedb.aboutcode.org/artistic-2.0",
+ "scancode_text_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/artistic-2.0.LICENSE",
+ "scancode_data_url": "https://github.com/nexB/scancode-toolkit/tree/develop/src/licensedcode/data/licenses/artistic-2.0.yml",
+ "spdx_license_key": "Artistic-2.0",
+ "spdx_url": "https://spdx.org/licenses/Artistic-2.0",
+ "start_line": 28,
+ "end_line": 28,
+ "matched_rule": {
+ "identifier": "artistic-2.0_46.RULE",
+ "license_expression": "artistic-2.0",
+ "licenses": [
+ "artistic-2.0"
+ ],
+ "referenced_filenames": [],
+ "is_license_text": false,
+ "is_license_notice": false,
+ "is_license_reference": false,
+ "is_license_tag": true,
+ "is_license_intro": false,
+ "has_unknown": false,
+ "matcher": "2-aho",
+ "rule_length": 4,
+ "matched_length": 4,
+ "match_coverage": 100.0,
+ "rule_relevance": 100
+ }
+ }
+ ],
+ "license_expressions": [
+ "artistic-2.0"
+ ],
+ "percentage_of_license_text": 5.0,
+ "package_manifests": [
+ {
+ "type": "npm",
+ "namespace": null,
+ "name": "npm",
+ "version": "2.13.5",
+ "qualifiers": {},
+ "subpath": null,
+ "primary_language": "JavaScript",
+ "description": "a package manager for JavaScript",
+ "release_date": null,
+ "parties": [
+ {
+ "type": "person",
+ "role": "author",
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
+ "url": "http://blog.izs.me"
+ }
+ ],
+ "keywords": [
+ "package manager",
+ "modules",
+ "install",
+ "package.json"
+ ],
+ "homepage_url": "https://docs.npmjs.com/",
+ "download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz",
+ "size": null,
+ "sha1": "a124386bce4a90506f28ad4b1d1a804a17baaf32",
+ "md5": null,
+ "sha256": null,
+ "sha512": null,
+ "bug_tracking_url": "http://github.com/npm/npm/issues",
+ "code_view_url": null,
+ "vcs_url": "git+https://github.com/npm/npm.git",
+ "copyright": null,
+ "license_expression": "artistic-2.0 OR mit",
+ "declared_license": [
+ "Artistic-2.0 OR MIT"
+ ],
+ "notice_text": null,
+ "root_path": "scan",
+ "dependencies": [],
+ "contains_source_code": null,
+ "source_packages": [],
+ "extra_data": {},
+ "purl": "pkg:npm/npm@2.13.5",
+ "repository_homepage_url": "https://www.npmjs.com/package/npm",
+ "repository_download_url": "https://registry.npmjs.org/npm/-/npm-2.13.5.tgz",
+ "api_data_url": "https://registry.npmjs.org/npm/2.13.5"
+ }
+ ],
+ "scan_errors": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tests/licensedcode/data/plugin_licenses_reference/scan/copyr.java b/tests/licensedcode/data/plugin_licenses_reference/scan/copyr.java
new file mode 100644
index 00000000000..5b30e284287
--- /dev/null
+++ b/tests/licensedcode/data/plugin_licenses_reference/scan/copyr.java
@@ -0,0 +1,19 @@
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+SPDX-License-Identifier: MIT or BSD-2-Clause
\ No newline at end of file
diff --git a/tests/licensedcode/data/plugin_licenses_reference/scan/package.json b/tests/licensedcode/data/plugin_licenses_reference/scan/package.json
new file mode 100644
index 00000000000..e8d6cd0f8df
--- /dev/null
+++ b/tests/licensedcode/data/plugin_licenses_reference/scan/package.json
@@ -0,0 +1,33 @@
+{
+ "version": "2.13.5",
+ "name": "npm",
+ "description": "a package manager for JavaScript",
+ "keywords": [
+ "package manager",
+ "modules",
+ "install",
+ "package.json"
+ ],
+ "preferGlobal": true,
+ "config": {
+ "publishtest": false
+ },
+ "homepage": "https://docs.npmjs.com/",
+ "author": {
+ "name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
+ "url": "http://blog.izs.me"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/npm.git"
+ },
+ "bugs": {
+ "url": "http://github.com/npm/npm/issues"
+ },
+ "license": "Artistic-2.0 OR MIT",
+ "dist": {
+ "shasum": "a124386bce4a90506f28ad4b1d1a804a17baaf32",
+ "tarball": "http://registry.npmjs.org/npm/-/npm-2.13.5.tgz"
+ }
+}
\ No newline at end of file
diff --git a/tests/licensedcode/data/spdx/lines/misc.c.json b/tests/licensedcode/data/spdx/lines/misc.c.json
index bff48a3bd97..3f7c1e1f318 100644
--- a/tests/licensedcode/data/spdx/lines/misc.c.json
+++ b/tests/licensedcode/data/spdx/lines/misc.c.json
@@ -6,87 +6,87 @@
],
[
"SPDX-License-Identifier: Unlicense",
- 17,
- 20
+ 18,
+ 21
],
[
"SPDX-License-Identifier: GPL-2.0",
- 22,
- 27
+ 23,
+ 28
],
[
"SPDX-License-Identifier: Apache-2.0",
- 43,
- 48
+ 44,
+ 49
],
[
"SPDX-License-Identifier: GPL-2.0+",
- 49,
- 54
+ 50,
+ 55
],
[
"SPDX-License-Identifier: GPL-2.0+",
- 55,
- 60
+ 56,
+ 61
],
[
"SPDX-License-Identifier: LGPL-2.1+",
- 61,
- 66
+ 62,
+ 67
],
[
"SPDX-License-Identifier: GPL-2.0+ */",
- 67,
- 72
+ 68,
+ 73
],
[
"SPDX-License-Identifier: MIT",
- 82,
- 85
+ 83,
+ 86
],
[
"SPDX-License-Identifier: (BSD-3-Clause OR EPL-1.0 OR Apache-2.0 OR MIT)",
- 140,
- 155
+ 141,
+ 156
],
[
"SPDX-License-Identifier: Apache-2.0",
- 157,
- 162
+ 158,
+ 163
],
[
"SPDX-License-Identifier: AGPL-3.0",
- 170,
- 175
+ 171,
+ 176
],
[
"SPDX-License-Identifier: BSD-3-Clause. import",
- 176,
- 182
+ 177,
+ 183
],
[
"SPDX-License-Identifier: BSD-3-Clause",
- 183,
- 188
+ 184,
+ 189
],
[
"SPDX-License-Identifier: BSD-2-Clause-NetBSD",
- 190,
- 196
+ 191,
+ 197
],
[
"SPDX-License-Identifier: GPL-2.",
- 212,
- 216
+ 213,
+ 217
],
[
"SPDX-License-Identifier: CC-BY-4.0",
- 278,
- 284
+ 279,
+ 285
],
[
"SPDX-License-Identifier: GPL-2.0+\". Is there any reason we shouldn't go ahead with this?",
- 307,
- 323
+ 308,
+ 324
]
]
\ No newline at end of file
diff --git a/tests/licensedcode/licensedcode_test_utils.py b/tests/licensedcode/licensedcode_test_utils.py
index 68e4c67b04b..6b4080fcc08 100644
--- a/tests/licensedcode/licensedcode_test_utils.py
+++ b/tests/licensedcode/licensedcode_test_utils.py
@@ -50,6 +50,7 @@ class LicenseTest(object):
license_expressions = attr.attrib(default=attr.Factory(list))
notes = attr.attrib(default=None)
expected_failure = attr.attrib(default=False)
+ language = attr.attrib(default='en')
licensing = Licensing()
@@ -67,6 +68,7 @@ def __attrs_post_init__(self, *args, **kwargs):
raise Exception(f'Failed to read: file://{self.data_file}', e)
self.license_expressions = data.pop('license_expressions', [])
+ self.language = data.pop('language', 'en')
self.notes = data.pop('notes', None)
# True if the test is expected to fail
self.expected_failure = data.pop('expected_failure', False)
@@ -105,6 +107,8 @@ def to_dict(self):
dct = {}
if self.license_expressions:
dct['license_expressions'] = self.license_expressions
+ if self.language and self.language != 'en':
+ dct['language'] = self.language
if self.expected_failure:
dct['expected_failure'] = self.expected_failure
if self.notes:
diff --git a/tests/licensedcode/test_detection_validate.py b/tests/licensedcode/test_detection_validate.py
index a26892c675b..f47c2d1be32 100644
--- a/tests/licensedcode/test_detection_validate.py
+++ b/tests/licensedcode/test_detection_validate.py
@@ -122,7 +122,7 @@ def check_ignorable_clues(licensish, regen=False, verbose=False):
"""
Validate that all expected ignorable clues declared in a `licensish` License
or Rule object are properly detected in that rule text file. Optionally
- regen the ignorables and updates the License or Rule .yml data file.
+ ``regen`` the ignorables to update the License or Rule .yml data file.
"""
result = models.get_ignorables(text_file=licensish.text_file)
@@ -132,8 +132,17 @@ def check_ignorable_clues(licensish, regen=False, verbose=False):
pprint(result)
if regen:
- models.set_ignorables(licensish, result , verbose=verbose)
- licensish.dump()
+ is_from_license = licensish.is_from_license
+ if is_from_license:
+ db = cache.get_licenses_db()
+ licish = db[licensish.license_expression]
+ else:
+ licish = licensish
+ models.set_ignorables(licish, result , verbose=verbose)
+ licish.dump()
+ if is_from_license:
+ licensish= models.build_rule_from_license(licish)
+
expected = models.get_normalized_ignorables(licensish)
diff --git a/tests/licensedcode/test_models.py b/tests/licensedcode/test_models.py
index 80fc96eebe9..9564d7c6fb9 100644
--- a/tests/licensedcode/test_models.py
+++ b/tests/licensedcode/test_models.py
@@ -107,7 +107,7 @@ def test_build_rules_from_licenses(self):
def test_validate_license_library(self):
errors, warnings, infos = models.License.validate(
- cache.get_licenses_db(),
+ licenses=models.load_licenses(),
verbose=False,
)
assert errors == {}
diff --git a/tests/licensedcode/test_plugin_license.py b/tests/licensedcode/test_plugin_license.py
index 45904487a8c..b3ade68a390 100644
--- a/tests/licensedcode/test_plugin_license.py
+++ b/tests/licensedcode/test_plugin_license.py
@@ -108,7 +108,7 @@ def test_license_option_reports_license_texts_diag_long_lines():
check_json_scan(test_loc, result_file, regen=False)
-def test_license_match_unknwon_license_with_license_reference():
+def test_license_match_unknown_license_with_license_reference():
test_dir = test_env.get_test_loc('plugin_license/license_reference/scan/scan-ref', copy=True)
result_file = test_env.get_temp_file('json')
args = [
@@ -126,7 +126,26 @@ def test_license_match_unknwon_license_with_license_reference():
check_json_scan(test_loc, result_file, regen=False)
-def test_license_match_unknwon_license_without_license_reference():
+@pytest.mark.xfail(reason="Set as failing until we have proper LicenseDetection support")
+def test_license_match_unknown_license_without_license_reference():
+ test_dir = test_env.get_test_loc('plugin_license/license_reference/scan/license-ref-see-copying', copy=True)
+ result_file = test_env.get_temp_file('json')
+ args = [
+ '--license',
+ '--license-text',
+ '--license-text-diagnostics',
+ '--strip-root',
+ '--verbose',
+ '--unknown-licenses',
+ '--json', result_file,
+ test_dir,
+ ]
+ run_scan_click(args)
+ test_loc = test_env.get_test_loc('plugin_license/license_reference/license-ref-see-copying.expected.json')
+ check_json_scan(test_loc, result_file, regen=False)
+
+
+def test_license_match_referenced_filename():
test_dir = test_env.get_test_loc('plugin_license/license_reference/scan/scan-without-ref', copy=True)
result_file = test_env.get_temp_file('json')
args = [
diff --git a/tests/licensedcode/test_plugin_licenses_reference.py b/tests/licensedcode/test_plugin_licenses_reference.py
new file mode 100644
index 00000000000..0d8334b364a
--- /dev/null
+++ b/tests/licensedcode/test_plugin_licenses_reference.py
@@ -0,0 +1,31 @@
+#
+# Copyright (c) nexB Inc. and others. All rights reserved.
+# ScanCode is a trademark of nexB Inc.
+# SPDX-License-Identifier: Apache-2.0
+# See http://www.apache.org/licenses/LICENSE-2.0 for the license text.
+# See https://github.com/nexB/scancode-toolkit for support or download.
+# See https://aboutcode.org for more information about nexB OSS projects.
+#
+
+import os
+
+from commoncode.testcase import FileDrivenTesting
+
+from scancode.cli_test_utils import check_json_scan
+from scancode.cli_test_utils import run_scan_click
+
+test_env = FileDrivenTesting()
+test_env.test_data_dir = os.path.join(os.path.dirname(__file__), 'data')
+
+
+def test_licenses_reference_works():
+ test_dir = test_env.get_test_loc('plugin_licenses_reference/scan', copy=True)
+ result_file = test_env.get_temp_file('json')
+ args = [
+ '--license', '--package', '--licenses-reference',
+ test_dir, '--json-pp', result_file, '--verbose']
+ run_scan_click(args)
+ check_json_scan(
+ test_env.get_test_loc('plugin_licenses_reference/scan.expected.json'),
+ result_file, remove_file_date=True, regen=False,
+ )
diff --git a/tests/licensedcode/test_tokenize.py b/tests/licensedcode/test_tokenize.py
index d83328789a3..3c98ff213fd 100644
--- a/tests/licensedcode/test_tokenize.py
+++ b/tests/licensedcode/test_tokenize.py
@@ -355,6 +355,14 @@ def test_query_tokenizer_handles_rarer_unicode_codepoints(self):
u'love', u'is', u'not', u'subject', u'to', u'law']
assert list(query_tokenizer(text)) == expected
+ def test_query_tokenizer_handles_rarer_unicode_typographic_quotes(self):
+ text = 'a “bar” is “open„ not “closed” ‘free‚ not ‘foo’ „Gänsefüßchen“'
+ expected = [
+ 'a', 'bar', 'is', 'open', 'not', 'closed',
+ 'free', 'not', 'foo', 'gänsefüßchen',
+ ]
+ assert list(query_tokenizer(text)) == expected
+
def test_query_lines_on_html_like_texts(self, regen=False):
test_file = self.get_test_loc('tokenize/htmlish.txt')
expected_file = test_file + '.expected.query_lines.json'
diff --git a/tests/licensedcode/test_zzzz_cache.py b/tests/licensedcode/test_zzzz_cache.py
index 0ffa7b714c8..ad9740f75e4 100644
--- a/tests/licensedcode/test_zzzz_cache.py
+++ b/tests/licensedcode/test_zzzz_cache.py
@@ -24,92 +24,7 @@
class LicenseIndexCacheTest(FileBasedTesting):
test_data_dir = TEST_DATA_DIR
- def test_tree_checksum_ignores_some_files_and_directories(self):
- test_dir = self.get_test_loc('cache/tree', copy=True)
- before = cache.tree_checksum(test_dir)
- # create some new pyc file and a dir
- with open(os.path.join(test_dir, 'some.pyc'), 'w') as pyc:
- pyc.write('')
- fileutils.create_dir(os.path.join(test_dir, 'some dir'))
-
- after = cache.tree_checksum(test_dir)
- assert after == before
-
- with open(os.path.join(test_dir, 'some.py'), 'w') as py:
- py.write(' ')
- after = cache.tree_checksum(test_dir)
- assert after != before
-
- before = after
- with open(os.path.join(test_dir, 'some.LICENSE'), 'w') as f:
- f.write(' ')
- after = cache.tree_checksum(test_dir)
- assert after != before
-
- before = after
- with open(os.path.join(test_dir, 'some.LICENSE~'), 'w') as f:
- f.write(' ')
- after = cache.tree_checksum(test_dir)
- assert after == before
-
- with open(os.path.join(test_dir, 'some.LICENSE.swp'), 'w') as f:
- f.write(' ')
- after = cache.tree_checksum(test_dir)
- assert after == before
-
- def test_tree_checksum_does_not_ignore_the_index_cache(self):
- # this is stored in the code tree as package data and we should not
- # ignore it
- test_dir = self.get_test_loc('cache/tree', copy=True)
- before = cache.tree_checksum(test_dir)
- # create some file name like the index
- with open(os.path.join(test_dir, cache.LICENSE_INDEX_FILENAME), 'w') as pyc:
- pyc.write(' ')
- fileutils.create_dir(os.path.join(test_dir, 'some dir'))
- after = cache.tree_checksum(test_dir)
- assert after != before
-
- def test_tree_checksum_is_different_when_file_is_added(self):
- test_dir = self.get_test_loc('cache/tree', copy=True)
- before = cache.tree_checksum(test_dir)
-
- with open(os.path.join(test_dir, 'some.py'), 'w') as py:
- py.write(' ')
- after = cache.tree_checksum(test_dir)
- assert after != before
-
- before = after
- with open(os.path.join(test_dir, 'some.LICENSE'), 'w') as f:
- f.write(' ')
- after = cache.tree_checksum(test_dir)
- assert after != before
-
- def test_tree_checksum_is_different_when_file_is_changed(self):
- test_dir = self.get_test_loc('cache/tree', copy=True)
-
- with open(os.path.join(test_dir, 'some.py'), 'w') as py:
- py.write(' ')
- before = cache.tree_checksum(test_dir)
-
- with open(os.path.join(test_dir, 'some.py'), 'w') as py:
- py.write(' asas')
- after = cache.tree_checksum(test_dir)
- assert after != before
-
- def test_tree_checksum_is_different_when_file_is_removed(self):
- test_dir = self.get_test_loc('cache/tree', copy=True)
-
- new_file = os.path.join(test_dir, 'some.py')
- with open(new_file, 'w') as py:
- py.write(' ')
- before = cache.tree_checksum(test_dir)
-
- fileutils.delete(new_file)
- after = cache.tree_checksum(test_dir)
- assert after != before
-
- def test_LicenseCache_load_or_build(self):
-
+ def test_LicenseCache_load_or_build_from_empty(self):
# recreate internal paths for testing
licensedcode_cache_dir = self.get_temp_dir('index_cache')
scancode_cache_dir = self.get_temp_dir('index_metafiles')
@@ -117,165 +32,67 @@ def test_LicenseCache_load_or_build(self):
fileutils.create_dir(idx_cache_dir)
cache_file = os.path.join(idx_cache_dir, cache.LICENSE_INDEX_FILENAME)
lock_file = os.path.join(scancode_cache_dir, cache.LICENSE_LOCKFILE_NAME)
- checksum_file = os.path.join(scancode_cache_dir, cache.LICENSE_CHECKSUM_FILE)
- tree_base_dir = self.get_temp_dir('src_dir')
licenses_data_dir = self.get_test_loc('cache/data/licenses', copy=True)
rules_data_dir = self.get_test_loc('cache/data/rules', copy=True)
- # now add some file in the mock source tree
- new_file = os.path.join(tree_base_dir, 'some.py')
- with open(new_file, 'w') as nf:
- nf.write('somthing')
-
- assert not os.path.exists(checksum_file)
assert not os.path.exists(cache_file)
assert not os.path.exists(lock_file)
timeout = 10
# when a new cache is built, new cache files are created
- check_consistency = True
_cached1 = cache.LicenseCache.load_or_build(
licensedcode_cache_dir=licensedcode_cache_dir,
scancode_cache_dir=scancode_cache_dir,
- check_consistency=check_consistency,
+ force=False,
timeout=timeout,
- tree_base_dir=tree_base_dir,
licenses_data_dir=licenses_data_dir,
rules_data_dir=rules_data_dir,
)
- assert os.path.exists(checksum_file)
assert os.path.exists(cache_file)
+ fileutils.delete(cache_file)
- # when nothing changed a new index files is not created
- tree_before = open(checksum_file).read()
- idx_checksum_before = hash.sha1(cache_file)
+ # force=True builds an index too if none exists
_cached2 = cache.LicenseCache.load_or_build(
licensedcode_cache_dir=licensedcode_cache_dir,
scancode_cache_dir=scancode_cache_dir,
- check_consistency=check_consistency,
+ force=True,
timeout=timeout,
- tree_base_dir=tree_base_dir,
licenses_data_dir=licenses_data_dir,
rules_data_dir=rules_data_dir,
)
- assert open(checksum_file).read() == tree_before
- assert hash.sha1(cache_file) == idx_checksum_before
+ assert os.path.exists(cache_file)
- # now add some file in the source tree
- new_file = os.path.join(tree_base_dir, 'some file')
- with open(new_file, 'w') as nf:
- nf.write('somthing')
+ # force=True rebuilds an index
+ idx_checksum_before = hash.sha1(cache_file)
- # when check_consistency is False, the index is not rebuild when
- # new files are added
- check_consistency = False
_cached3 = cache.LicenseCache.load_or_build(
licensedcode_cache_dir=licensedcode_cache_dir,
scancode_cache_dir=scancode_cache_dir,
- check_consistency=check_consistency,
+ force=True,
timeout=timeout,
- tree_base_dir=tree_base_dir,
licenses_data_dir=licenses_data_dir,
rules_data_dir=rules_data_dir,
)
- assert open(checksum_file).read() == tree_before
- assert hash.sha1(cache_file) == idx_checksum_before
- # when check_consistency is True, the index is rebuilt when new
- # files are added
- check_consistency = True
- _cached4 = cache.LicenseCache.load_or_build(
- licensedcode_cache_dir=licensedcode_cache_dir,
- scancode_cache_dir=scancode_cache_dir,
- check_consistency=check_consistency,
- timeout=timeout,
- tree_base_dir=tree_base_dir,
- licenses_data_dir=licenses_data_dir,
- rules_data_dir=rules_data_dir,
- )
- assert open(checksum_file).read() != tree_before
+ assert hash.sha1(cache_file) != idx_checksum_before
- # now add some ignored file in the source tree
- tree_before = open(checksum_file).read()
+ # force=False loads an index
idx_checksum_before = hash.sha1(cache_file)
- new_file = os.path.join(tree_base_dir, 'some file.pyc')
- with open(new_file, 'w') as nf:
- nf.write('somthing')
- # when check_consistency is True, the index is not rebuilt when new
- # files are added that are ignored
- check_consistency = True
- _cached5 = cache.LicenseCache.load_or_build(
+ _cached4 = cache.LicenseCache.load_or_build(
licensedcode_cache_dir=licensedcode_cache_dir,
scancode_cache_dir=scancode_cache_dir,
- check_consistency=check_consistency,
+ force=False,
timeout=timeout,
- tree_base_dir=tree_base_dir,
licenses_data_dir=licenses_data_dir,
rules_data_dir=rules_data_dir,
)
-
- assert open(checksum_file).read() == tree_before
assert hash.sha1(cache_file) == idx_checksum_before
- # if the treechecksum file dies, the index is not rebuilt if
- # check_consistency is False. and no new checksum is created
- fileutils.delete(checksum_file)
- idx_checksum_before = hash.sha1(cache_file)
-
- check_consistency = False
- _cached6 = cache.LicenseCache.load_or_build(
- licensedcode_cache_dir=licensedcode_cache_dir,
- scancode_cache_dir=scancode_cache_dir,
- check_consistency=check_consistency,
- timeout=timeout,
- tree_base_dir=tree_base_dir,
- licenses_data_dir=licenses_data_dir,
- rules_data_dir=rules_data_dir,
- )
-
- assert not os.path.exists(checksum_file)
-
- # with the treechecksum file gone, the index is rebuilt if
- # check_consistency is True and a new checksum is created
- idx_checksum_before = hash.sha1(cache_file)
-
- check_consistency = True
- _cached7 = cache.LicenseCache.load_or_build(
- licensedcode_cache_dir=licensedcode_cache_dir,
- scancode_cache_dir=scancode_cache_dir,
- check_consistency=check_consistency,
- timeout=timeout,
- tree_base_dir=tree_base_dir,
- licenses_data_dir=licenses_data_dir,
- rules_data_dir=rules_data_dir,
- )
-
- assert open(checksum_file).read() == tree_before
-
- # if the index cache file dies the index is rebuilt
- fileutils.delete(cache_file)
- check_consistency = False
- cached8 = cache.LicenseCache.load_or_build(
- licensedcode_cache_dir=licensedcode_cache_dir,
- scancode_cache_dir=scancode_cache_dir,
- check_consistency=check_consistency,
- timeout=timeout,
- tree_base_dir=tree_base_dir,
- licenses_data_dir=licenses_data_dir,
- rules_data_dir=rules_data_dir,
- )
- idx1 = cached8.index
-
- # load index, forced from file
- cached9 = cache.load_cache_file(cache_file)
- idx2 = cached9.index
- assert set(idx2.dictionary.keys()) == set(idx1.dictionary.keys())
-
def test_load_index_with_corrupted_index(self):
test_file = self.get_temp_file('test')
with open(test_file, 'w') as tf:
diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libx/libxslt/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libx/libxslt/stable_copyright-detailed.expected.yml
index 1c829466dc3..97912ec9387 100644
--- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libx/libxslt/stable_copyright-detailed.expected.yml
+++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/libx/libxslt/stable_copyright-detailed.expected.yml
@@ -1,6 +1,6 @@
primary_license:
declared_license:
-license_expression: x11-xconsortium_veillard AND x11-xconsortium
+license_expression: x11-xconsortium-veillard AND x11-xconsortium
copyright: |
Copyright (c) 2001-2002 Daniel Veillard
Copyright (c) 2001-2002 Thomas Broyer, Charlie Bozeman and Daniel Veillard
@@ -13,8 +13,8 @@ matches:
matched_length: '199'
match_coverage: '100.0'
rule_relevance: 100
- identifier: x11-xconsortium_veillard.LICENSE
- license_expression: x11-xconsortium_veillard
+ identifier: x11-xconsortium-veillard.LICENSE
+ license_expression: x11-xconsortium-veillard
is_license_text: yes
is_license_notice: no
is_license_reference: no
diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/perl/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/perl/copyright-detailed.expected.yml
index ededa00aab9..cc8ffa21df4 100644
--- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/perl/copyright-detailed.expected.yml
+++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/p/perl/copyright-detailed.expected.yml
@@ -1359,15 +1359,15 @@ matches:
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- - score: '99.79'
+ - score: '99.57'
start_line: 2428
end_line: 2482
matcher: 3-seq
- rule_length: 468
- matched_length: 467
- match_coverage: '99.79'
+ rule_length: 470
+ matched_length: 468
+ match_coverage: '99.57'
rule_relevance: 100
- identifier: unicode-dfs-2015_1.RULE
+ identifier: unicode-dfs-2015_9.RULE
license_expression: unicode-dfs-2015
is_license_text: yes
is_license_notice: no
@@ -1395,7 +1395,7 @@ matches:
COPYRIGHT AND PERMISSION NOTICE
- Copyright © 1991-[2011] Unicode, Inc. All rights
+ Copyright © 1991-2011 Unicode, Inc. All rights
reserved. Distributed under the Terms of Use in
http://www.unicode.org/copyright.html.
diff --git a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/subversion/stable_copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/subversion/stable_copyright-detailed.expected.yml
index addde7e5cdb..789a242300a 100644
--- a/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/subversion/stable_copyright-detailed.expected.yml
+++ b/tests/packagedcode/data/debian/copyright/debian-2019-11-15/main/s/subversion/stable_copyright-detailed.expected.yml
@@ -21,8 +21,9 @@ declared_license:
- Unicode
- AFL-3
license_expression: (apache-2.0 AND apache-2.0) AND (bsd-new OR (apache-2.0 AND apache-2.0))
- AND other-permissive AND bsd-new AND other-permissive AND (gpl-2.0-plus AND gpl-2.0) AND (gpl-3.0-plus
- AND gpl-3.0) AND afl-3.0 AND (mit AND unicode) AND bsd-simplified AND bsd-new AND bsd-simplified
+ AND markus-kuhn-license AND bsd-new AND other-permissive AND (gpl-2.0-plus AND gpl-2.0) AND
+ (gpl-3.0-plus AND gpl-3.0) AND afl-3.0 AND (mit AND unicode) AND bsd-simplified AND bsd-new
+ AND bsd-simplified
copyright: |
Apache Software Foundation
2007 Max Bowsher
@@ -59,8 +60,8 @@ matches:
matched_length: 28
match_coverage: '100.0'
rule_relevance: 100
- identifier: other-permissive_wcwidth_1.RULE
- license_expression: other-permissive
+ identifier: markus-kuhn-license.LICENSE
+ license_expression: markus-kuhn-license
is_license_text: yes
is_license_notice: no
is_license_reference: no
diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre3/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre3/copyright-detailed.expected.yml
index b8fc6deae2a..3665318d3de 100644
--- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre3/copyright-detailed.expected.yml
+++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/libpcre3/copyright-detailed.expected.yml
@@ -1,6 +1,6 @@
primary_license:
declared_license:
-license_expression: pcre AND bsd-new AND bsd-new AND bsd-new
+license_expression: pcre AND bsd-new AND bsd-new
copyright: |
Copyright (c) 1997-2007 University of Cambridge
Copyright (c) 2007, Google Inc.
@@ -40,31 +40,15 @@ matches:
PCRE is distributed under the terms of the "BSD" licence, as
specified below. The documentation for PCRE, supplied in the "doc"
directory, is distributed under the same terms as the software itself.
- - score: '99.0'
- start_line: 44
- end_line: 44
- matcher: 2-aho
- rule_length: 3
- matched_length: 3
- match_coverage: '100.0'
- rule_relevance: 99
- identifier: bsd-new_898.RULE
- license_expression: bsd-new
- is_license_text: no
- is_license_notice: no
- is_license_reference: yes
- is_license_tag: no
- is_license_intro: no
- matched_text: THE "BSD" LICENCE
- score: '100.0'
- start_line: 47
+ start_line: 44
end_line: 72
matcher: 2-aho
- rule_length: 220
- matched_length: 220
+ rule_length: 223
+ matched_length: 223
match_coverage: '100.0'
rule_relevance: 100
- identifier: bsd-new_899.RULE
+ identifier: bsd-new_1105.RULE
license_expression: bsd-new
is_license_text: yes
is_license_notice: no
@@ -72,6 +56,9 @@ matches:
is_license_tag: no
is_license_intro: no
matched_text: |
+ THE "BSD" LICENCE
+ -----------------
+
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
diff --git a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/perl-base/copyright-detailed.expected.yml b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/perl-base/copyright-detailed.expected.yml
index 06aa2b3203d..67d22d3e575 100644
--- a/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/perl-base/copyright-detailed.expected.yml
+++ b/tests/packagedcode/data/debian/copyright/debian-slim-2021-04-07/usr/share/doc/perl-base/copyright-detailed.expected.yml
@@ -1321,15 +1321,15 @@ matches:
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- - score: '99.79'
+ - score: '99.57'
start_line: 2353
end_line: 2407
matcher: 3-seq
- rule_length: 468
- matched_length: 467
- match_coverage: '99.79'
+ rule_length: 470
+ matched_length: 468
+ match_coverage: '99.57'
rule_relevance: 100
- identifier: unicode-dfs-2015_1.RULE
+ identifier: unicode-dfs-2015_9.RULE
license_expression: unicode-dfs-2015
is_license_text: yes
is_license_notice: no
@@ -1357,7 +1357,7 @@ matches:
COPYRIGHT AND PERMISSION NOTICE
- Copyright © 1991-[2011] Unicode, Inc. All rights
+ Copyright © 1991-2011 Unicode, Inc. All rights
reserved. Distributed under the Terms of Use in
http://www.unicode.org/copyright.html.
diff --git a/tests/scancode/data/altpath/copyright.expected.json b/tests/scancode/data/altpath/copyright.expected.json
index dd8ac974679..2c4fee8189d 100644
--- a/tests/scancode/data/altpath/copyright.expected.json
+++ b/tests/scancode/data/altpath/copyright.expected.json
@@ -14,7 +14,7 @@
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.15",
+ "spdx_license_list_version": "3.16",
"files_count": 1
}
}
diff --git a/tests/scancode/data/composer/composer.expected.json b/tests/scancode/data/composer/composer.expected.json
index 99bf5fd2eaa..039e1de6ba1 100644
--- a/tests/scancode/data/composer/composer.expected.json
+++ b/tests/scancode/data/composer/composer.expected.json
@@ -8,11 +8,11 @@
"--package": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
- "output_format_version": "1.0.0",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 1
}
}
diff --git a/tests/scancode/data/failing/patchelf.expected.json b/tests/scancode/data/failing/patchelf.expected.json
index 5d8cafaf170..8daaed6b661 100644
--- a/tests/scancode/data/failing/patchelf.expected.json
+++ b/tests/scancode/data/failing/patchelf.expected.json
@@ -9,10 +9,11 @@
"--strip-root": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 1
}
}
diff --git a/tests/scancode/data/help/help.txt b/tests/scancode/data/help/help.txt
index 88278b993d0..350d7b25f62 100644
--- a/tests/scancode/data/help/help.txt
+++ b/tests/scancode/data/help/help.txt
@@ -106,6 +106,8 @@ Options:
codebase level.
--license-policy FILE Load a License Policy file and apply it to the scan
at the Resource level.
+ --licenses-reference Include a reference of all the licenses referenced in
+ this scan with the data details and full texts.
--mark-source Set the "is_source" to true for directories that
contain over 90% of source files as children and
descendants. Count the number of source files in a
@@ -145,6 +147,13 @@ Options:
and including the starting directory. Use 0 for no
scan depth limit.
+ miscellaneous:
+ --reindex-licenses Rebuild the license index and exit.
+ --reindex-licenses-for-all-languages
+ [EXPERIMENTAL] Rebuild the license index
+ including texts all languages (and not only
+ English) and exit.
+
documentation:
-h, --help Show this message and exit.
--about Show information about ScanCode and licensing and exit.
diff --git a/tests/scancode/data/info/all.expected.json b/tests/scancode/data/info/all.expected.json
index 786f2de2a75..218ae8aacf6 100644
--- a/tests/scancode/data/info/all.expected.json
+++ b/tests/scancode/data/info/all.expected.json
@@ -15,7 +15,7 @@
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.15",
+ "spdx_license_list_version": "3.16",
"files_count": 6
}
}
diff --git a/tests/scancode/data/info/all.rooted.expected.json b/tests/scancode/data/info/all.rooted.expected.json
index ac3e0dbca95..4cdffd2158d 100644
--- a/tests/scancode/data/info/all.rooted.expected.json
+++ b/tests/scancode/data/info/all.rooted.expected.json
@@ -15,7 +15,7 @@
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.15",
+ "spdx_license_list_version": "3.16",
"files_count": 6
}
}
diff --git a/tests/scancode/data/info/basic.expected.json b/tests/scancode/data/info/basic.expected.json
index 4dec2bee55a..8666bae861a 100644
--- a/tests/scancode/data/info/basic.expected.json
+++ b/tests/scancode/data/info/basic.expected.json
@@ -9,10 +9,11 @@
"--strip-root": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 6
}
}
diff --git a/tests/scancode/data/info/basic.rooted.expected.json b/tests/scancode/data/info/basic.rooted.expected.json
index de0a5b0c2d8..c78b3286bf3 100644
--- a/tests/scancode/data/info/basic.rooted.expected.json
+++ b/tests/scancode/data/info/basic.rooted.expected.json
@@ -8,10 +8,11 @@
"--json": ""
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 6
}
}
diff --git a/tests/scancode/data/info/email_url_info.expected.json b/tests/scancode/data/info/email_url_info.expected.json
index 528ccc96065..ad17eec1f31 100644
--- a/tests/scancode/data/info/email_url_info.expected.json
+++ b/tests/scancode/data/info/email_url_info.expected.json
@@ -11,10 +11,11 @@
"--url": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 6
}
}
diff --git a/tests/scancode/data/license_text/test.expected b/tests/scancode/data/license_text/test.expected
index 452b838b929..ccf874247c0 100644
--- a/tests/scancode/data/license_text/test.expected
+++ b/tests/scancode/data/license_text/test.expected
@@ -10,10 +10,11 @@
"--strip-root": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 1
}
}
diff --git a/tests/scancode/data/non_utf8/expected-linux.json b/tests/scancode/data/non_utf8/expected-linux.json
index 6087fd8f5d8..aaa6e2a347e 100644
--- a/tests/scancode/data/non_utf8/expected-linux.json
+++ b/tests/scancode/data/non_utf8/expected-linux.json
@@ -9,10 +9,11 @@
"--strip-root": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 18
}
}
diff --git a/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json b/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json
index 27ff797be59..df20460134d 100644
--- a/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json
+++ b/tests/scancode/data/rpm/fping-2.4-0.b2.rhfc1.dag.i386.rpm.expected.json
@@ -8,11 +8,11 @@
"--package": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
- "output_format_version": "1.0.0",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 1
}
}
diff --git a/tests/scancode/data/single/iproute.expected.json b/tests/scancode/data/single/iproute.expected.json
index 9e495bbaf3e..8001c03e115 100644
--- a/tests/scancode/data/single/iproute.expected.json
+++ b/tests/scancode/data/single/iproute.expected.json
@@ -9,10 +9,11 @@
"--strip-root": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 1
}
}
diff --git a/tests/scancode/data/unicodepath/unicodepath.expected-linux.json b/tests/scancode/data/unicodepath/unicodepath.expected-linux.json
index fb906cdb959..c58efb40e8e 100644
--- a/tests/scancode/data/unicodepath/unicodepath.expected-linux.json
+++ b/tests/scancode/data/unicodepath/unicodepath.expected-linux.json
@@ -14,11 +14,11 @@
"--url": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
- "output_format_version": "1.0.0",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 3
}
}
diff --git a/tests/scancode/data/unicodepath/unicodepath.expected-linux.json--quiet b/tests/scancode/data/unicodepath/unicodepath.expected-linux.json--quiet
index a6e76895987..6ee3dcd5360 100644
--- a/tests/scancode/data/unicodepath/unicodepath.expected-linux.json--quiet
+++ b/tests/scancode/data/unicodepath/unicodepath.expected-linux.json--quiet
@@ -15,11 +15,11 @@
"--url": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
- "output_format_version": "1.0.0",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 3
}
}
diff --git a/tests/scancode/data/unicodepath/unicodepath.expected-linux.json--verbose b/tests/scancode/data/unicodepath/unicodepath.expected-linux.json--verbose
index fb906cdb959..c58efb40e8e 100644
--- a/tests/scancode/data/unicodepath/unicodepath.expected-linux.json--verbose
+++ b/tests/scancode/data/unicodepath/unicodepath.expected-linux.json--verbose
@@ -14,11 +14,11 @@
"--url": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
- "output_format_version": "1.0.0",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 3
}
}
diff --git a/tests/scancode/data/weird_file_name/expected-posix.json b/tests/scancode/data/weird_file_name/expected-posix.json
index d73b40b323d..290dd007649 100644
--- a/tests/scancode/data/weird_file_name/expected-posix.json
+++ b/tests/scancode/data/weird_file_name/expected-posix.json
@@ -10,10 +10,11 @@
"--strip-root": true
},
"notice": "Generated with ScanCode and provided on an \"AS IS\" BASIS, WITHOUT WARRANTIES\nOR CONDITIONS OF ANY KIND, either express or implied. No content created from\nScanCode should be considered or used as legal advice. Consult an Attorney\nfor any legal advice.\nScanCode is a free software code scanning tool from nexB Inc. and others.\nVisit https://github.com/nexB/scancode-toolkit/ for support and download.",
+ "output_format_version": "2.0.0",
"message": null,
"errors": [],
"extra_data": {
- "spdx_license_list_version": "3.14",
+ "spdx_license_list_version": "3.16",
"files_count": 5
}
}