def test_parsing(self): # check for gentoo bug 263787 self.process_pkg(False, 'app-text', 'foo-123-bar') self.process_ver(False, 'app-text', 'foo-123-bar', '2.0017a_p', '-r5') with pytest.raises(cpv.InvalidCPV): cpv.UnversionedCPV('app-text/foo-123') for cat_ret, cats in [[False, self.good_cats], [True, self.bad_cats]]: for cat in cats: for pkg_ret, pkgs in [[False, self.good_pkgs], [True, self.bad_pkgs]]: for pkg in pkgs: self.process_pkg(cat_ret or pkg_ret, cat, pkg) for cp in self.good_cp: cat, pkg = cp.rsplit("/", 1) for rev_ret, revs in [[False, self.good_revs], [True, self.bad_revs]]: for rev in revs: for ver_ret, vers in [[False, self.good_vers], [True, self.bad_vers]]: for ver in vers: self.process_ver(ver_ret or rev_ret, cat, pkg, ver, rev) for x in (10, 18, 19, 36, 100): assert cpv.CPV("da", "ba", f"1-r0{'0' * x}").revision == 0 assert \ int(cpv.CPV("da", "ba", f"1-r1{'0' * x}1").revision) == int(f"1{'0' * x}1")
def make_inst(self, cat, pkg, fullver=""): if self.testing_secondary_args: return cpv.CPV(cat, pkg, fullver, versioned=bool(fullver)) if fullver: return cpv.VersionedCPV(f"{cat}/{pkg}-{fullver}") return cpv.UnversionedCPV(f"{cat}/{pkg}")