Add MPL support to add3prf.py

This adds the ability to detect and generate the correct METADATA file
for MPL licensed crates.

Bug: 308477037
Test: atest --host add3prf_test; Ran against https://crates.io/crates/fdt
Change-Id: I2b1765a08b68c5eb59e4f52b33c1df337e8c148b
This commit is contained in:
Matt Schulte
2023-10-30 14:07:27 -07:00
parent 4814e85532
commit 055ccb3c49
2 changed files with 48 additions and 16 deletions

View File

@@ -30,6 +30,7 @@ class LicenseDetectionTestCase(fake_filesystem_unittest.TestCase):
self.assertEqual(len(licenses), 2)
preferred_license = licenses[0]
self.assertEqual(preferred_license.type, add3prf.LicenseType.APACHE2)
self.assertEqual(preferred_license.group, add3prf.LicenseGroup.NOTICE)
self.assertEqual(preferred_license.filename, "LICENSE-APACHE")
def test_mit_license(self):
@@ -38,6 +39,7 @@ class LicenseDetectionTestCase(fake_filesystem_unittest.TestCase):
self.assertEqual(len(licenses), 1)
preferred_license = licenses[0]
self.assertEqual(preferred_license.type, add3prf.LicenseType.MIT)
self.assertEqual(preferred_license.group, add3prf.LicenseGroup.NOTICE)
self.assertEqual(preferred_license.filename, "LICENSE")
def test_misc_license(self):
@@ -46,12 +48,22 @@ class LicenseDetectionTestCase(fake_filesystem_unittest.TestCase):
self.assertEqual(len(licenses), 1)
preferred_license = licenses[0]
self.assertEqual(preferred_license.type, add3prf.LicenseType.BSD_LIKE)
self.assertEqual(preferred_license.group, add3prf.LicenseGroup.NOTICE)
self.assertEqual(preferred_license.filename, "LICENSE.txt")
def test_missing_license_file(self):
with self.assertRaises(FileNotFoundError):
add3prf.decide_license_type("MIT OR Apache-2.0")
def test_mpl_license(self):
self.fs.create_file("LICENSE")
licenses = add3prf.decide_license_type("MPL")
self.assertEqual(len(licenses), 1)
preferred_license = licenses[0]
self.assertEqual(preferred_license.type, add3prf.LicenseType.MPL)
self.assertEqual(preferred_license.group, add3prf.LicenseGroup.RECIPROCAL)
self.assertEqual(preferred_license.filename, "LICENSE")
class AddModuleLicenseTestCase(fake_filesystem_unittest.TestCase):