mirror of
https://github.com/OpenJarbas/PySychonaut.git
synced 2024-11-22 03:09:25 +01:00
56 lines
1.6 KiB
Python
56 lines
1.6 KiB
Python
import unittest
|
|
from pprint import pprint
|
|
|
|
from lichecker import LicenseChecker
|
|
|
|
# these packages dont define license in setup.py
|
|
# manually verified and injected
|
|
license_overrides = {
|
|
"kthread": "MIT",
|
|
'yt-dlp': "Unlicense",
|
|
'pyxdg': 'GPL-2.0',
|
|
'ptyprocess': 'ISC license',
|
|
'psutil': 'BSD3'
|
|
}
|
|
# explicitly allow these packages that would fail otherwise
|
|
whitelist = [
|
|
'idna' # BSD-like
|
|
]
|
|
|
|
# validation flags
|
|
allow_nonfree = False
|
|
allow_viral = False
|
|
allow_unknown = False
|
|
allow_unlicense = True
|
|
allow_ambiguous = False
|
|
|
|
pkg_name = "PySychonaut"
|
|
|
|
|
|
class TestLicensing(unittest.TestCase):
|
|
@classmethod
|
|
def setUpClass(self):
|
|
licheck = LicenseChecker(pkg_name,
|
|
license_overrides=license_overrides,
|
|
whitelisted_packages=whitelist,
|
|
allow_ambiguous=allow_ambiguous,
|
|
allow_unlicense=allow_unlicense,
|
|
allow_unknown=allow_unknown,
|
|
allow_viral=allow_viral,
|
|
allow_nonfree=allow_nonfree)
|
|
print("Package", pkg_name)
|
|
print("Version", licheck.version)
|
|
print("License", licheck.license)
|
|
print("Transient Requirements (dependencies of dependencies)")
|
|
pprint(licheck.transient_dependencies)
|
|
self.licheck = licheck
|
|
|
|
def test_license_compliance(self):
|
|
print("Package Versions")
|
|
pprint(self.licheck.versions)
|
|
|
|
print("Dependency Licenses")
|
|
pprint(self.licheck.licenses)
|
|
|
|
self.licheck.validate()
|