add3prf.py: Support license files with extensions
Some crates place there license files in files with extensions, such as
LICENSE.txt or LICENSE-MIT.md.
We should account for extensions by removing them.
Bug: 321064939
Test: Ran script against `minimal-lexical-0.2.1` crate and added unit
tests
Change-Id: I0c385e8209969c0900909e764460fc551f07c20c
diff --git a/scripts/add3prf_test.py b/scripts/add3prf_test.py
index 32d5c7a..a75b31f 100755
--- a/scripts/add3prf_test.py
+++ b/scripts/add3prf_test.py
@@ -82,6 +82,15 @@
self.assertEqual(preferred_license.group, add3prf.LicenseGroup.PERMISSIVE)
self.assertEqual(preferred_license.filename, "LICENSE-0BSD")
+ def test_0bsd_licensefile_with_extension(self):
+ self.fs.create_file("LICENSE-0BSD.md")
+ licenses = add3prf.decide_license_type("")
+ self.assertEqual(len(licenses), 1)
+ preferred_license = licenses[0]
+ self.assertEqual(preferred_license.type, add3prf.LicenseType.ZERO_BSD)
+ self.assertEqual(preferred_license.group, add3prf.LicenseGroup.PERMISSIVE)
+ self.assertEqual(preferred_license.filename, "LICENSE-0BSD.md")
+
def test_unlicense_license(self):
self.fs.create_file("LICENSE")
licenses = add3prf.decide_license_type("Unlicense")
@@ -100,6 +109,14 @@
self.assertEqual(preferred_license.group, add3prf.LicenseGroup.PERMISSIVE)
self.assertEqual(preferred_license.filename, "UNLICENSE")
+ def test_unlicense_licensefile_with_extension(self):
+ self.fs.create_file("UNLICENSE.txt")
+ licenses = add3prf.decide_license_type("")
+ self.assertEqual(len(licenses), 1)
+ preferred_license = licenses[0]
+ self.assertEqual(preferred_license.type, add3prf.LicenseType.UNLICENSE)
+ self.assertEqual(preferred_license.group, add3prf.LicenseGroup.PERMISSIVE)
+ self.assertEqual(preferred_license.filename, "UNLICENSE.txt")
class AddModuleLicenseTestCase(fake_filesystem_unittest.TestCase):