def testLicenseManager(self): user_config = { "package.license": ( "dev-libs/* TEST", "dev-libs/A -TEST2", "=dev-libs/A-2 TEST3 @TEST", "*/* @EULA TEST2", "=dev-libs/C-1 *", "=dev-libs/C-2 -*", ), } playground = ResolverPlayground(user_config=user_config) try: portage.util.noiselimit = -2 license_group_locations = (os.path.join(playground.settings.repositories["test_repo"].location, "profiles"),) pkg_license = os.path.join(playground.eroot, "etc", "portage") lic_man = LicenseManager(license_group_locations, pkg_license) self.assertEqual(lic_man._accept_license_str, None) self.assertEqual(lic_man._accept_license, None) self.assertEqual(lic_man._license_groups, {"EULA": frozenset(["TEST"])}) self.assertEqual(lic_man._undef_lic_groups, set(["TEST"])) self.assertEqual(lic_man.extract_global_changes(), "TEST TEST2") self.assertEqual(lic_man.extract_global_changes(), "") lic_man.set_accept_license_str("TEST TEST2") self.assertEqual(lic_man._getPkgAcceptLicense("dev-libs/B-1", "0", None), ["TEST", "TEST2", "TEST"]) self.assertEqual(lic_man._getPkgAcceptLicense("dev-libs/A-1", "0", None), ["TEST", "TEST2", "TEST", "-TEST2"]) self.assertEqual(lic_man._getPkgAcceptLicense("dev-libs/A-2", "0", None), ["TEST", "TEST2", "TEST", "-TEST2", "TEST3", "@TEST"]) self.assertEqual(lic_man.get_prunned_accept_license("dev-libs/B-1", [], "TEST", "0", None), "TEST") self.assertEqual(lic_man.get_prunned_accept_license("dev-libs/A-1", [], "-TEST2", "0", None), "") self.assertEqual(lic_man.get_prunned_accept_license("dev-libs/A-2", [], "|| ( TEST TEST2 )", "0", None), "TEST") self.assertEqual(lic_man.get_prunned_accept_license("dev-libs/C-1", [], "TEST5", "0", None), "TEST5") self.assertEqual(lic_man.get_prunned_accept_license("dev-libs/C-2", [], "TEST2", "0", None), "") self.assertEqual(lic_man.getMissingLicenses("dev-libs/B-1", [], "TEST", "0", None), []) self.assertEqual(lic_man.getMissingLicenses("dev-libs/A-1", [], "-TEST2", "0", None), ["-TEST2"]) self.assertEqual(lic_man.getMissingLicenses("dev-libs/A-2", [], "|| ( TEST TEST2 )", "0", None), []) self.assertEqual(lic_man.getMissingLicenses("dev-libs/A-3", [], "|| ( TEST2 || ( TEST3 TEST4 ) )", "0", None), ["TEST2", "TEST3", "TEST4"]) self.assertEqual(lic_man.getMissingLicenses("dev-libs/C-1", [], "TEST5", "0", None), []) self.assertEqual(lic_man.getMissingLicenses("dev-libs/C-2", [], "TEST2", "0", None), ["TEST2"]) self.assertEqual(lic_man.getMissingLicenses("dev-libs/D-1", [], "", "0", None), []) finally: portage.util.noiselimit = 0 playground.cleanup()
def testLicenseManager(self): user_config = { "package.license": ( "dev-libs/* TEST", "dev-libs/A -TEST2", "=dev-libs/A-2 TEST3 @TEST", "*/* @EULA TEST2", "=dev-libs/C-1 *", "=dev-libs/C-2 -*", ), } playground = ResolverPlayground(user_config=user_config) try: portage.util.noiselimit = -2 license_group_locations = (os.path.join( playground.settings.repositories["test_repo"].location, "profiles"), ) pkg_license = os.path.join(playground.eroot, "etc", "portage") lic_man = LicenseManager(license_group_locations, pkg_license) self.assertEqual(lic_man._accept_license_str, None) self.assertEqual(lic_man._accept_license, None) self.assertEqual(lic_man._license_groups, {"EULA": frozenset(["TEST"])}) self.assertEqual(lic_man._undef_lic_groups, set(["TEST"])) self.assertEqual(lic_man.extract_global_changes(), "TEST TEST2") self.assertEqual(lic_man.extract_global_changes(), "") lic_man.set_accept_license_str("TEST TEST2") self.assertEqual( lic_man._getPkgAcceptLicense("dev-libs/B-1", "0", None), ["TEST", "TEST2", "TEST"]) self.assertEqual( lic_man._getPkgAcceptLicense("dev-libs/A-1", "0", None), ["TEST", "TEST2", "TEST", "-TEST2"]) self.assertEqual( lic_man._getPkgAcceptLicense("dev-libs/A-2", "0", None), ["TEST", "TEST2", "TEST", "-TEST2", "TEST3", "@TEST"]) self.assertEqual( lic_man.get_prunned_accept_license("dev-libs/B-1", [], "TEST", "0", None), "TEST") self.assertEqual( lic_man.get_prunned_accept_license("dev-libs/A-1", [], "-TEST2", "0", None), "") self.assertEqual( lic_man.get_prunned_accept_license("dev-libs/A-2", [], "|| ( TEST TEST2 )", "0", None), "TEST") self.assertEqual( lic_man.get_prunned_accept_license("dev-libs/C-1", [], "TEST5", "0", None), "TEST5") self.assertEqual( lic_man.get_prunned_accept_license("dev-libs/C-2", [], "TEST2", "0", None), "") self.assertEqual( lic_man.getMissingLicenses("dev-libs/B-1", [], "TEST", "0", None), []) self.assertEqual( lic_man.getMissingLicenses("dev-libs/A-1", [], "-TEST2", "0", None), ["-TEST2"]) self.assertEqual( lic_man.getMissingLicenses("dev-libs/A-2", [], "|| ( TEST TEST2 )", "0", None), []) self.assertEqual( lic_man.getMissingLicenses("dev-libs/A-3", [], "|| ( TEST2 || ( TEST3 TEST4 ) )", "0", None), ["TEST2", "TEST3", "TEST4"]) self.assertEqual( lic_man.getMissingLicenses("dev-libs/C-1", [], "TEST5", "0", None), []) self.assertEqual( lic_man.getMissingLicenses("dev-libs/C-2", [], "TEST2", "0", None), ["TEST2"]) self.assertEqual( lic_man.getMissingLicenses("dev-libs/D-1", [], "", "0", None), []) finally: portage.util.noiselimit = 0 playground.cleanup()