* [gentoo-commits] portage r10399 - in main/trunk/pym/portage: . tests/dep
@ 2008-05-25 2:56 Zac Medico (zmedico)
0 siblings, 0 replies; only message in thread
From: Zac Medico (zmedico) @ 2008-05-25 2:56 UTC (permalink / raw
To: gentoo-commits
Author: zmedico
Date: 2008-05-25 02:56:41 +0000 (Sun, 25 May 2008)
New Revision: 10399
Modified:
main/trunk/pym/portage/dep.py
main/trunk/pym/portage/tests/dep/test_isvalidatom.py
Log:
Fix isvalidatom() so tests pass, and add a USE deps case to the tests.
Modified: main/trunk/pym/portage/dep.py
===================================================================
--- main/trunk/pym/portage/dep.py 2008-05-25 02:20:45 UTC (rev 10398)
+++ main/trunk/pym/portage/dep.py 2008-05-25 02:56:41 UTC (rev 10399)
@@ -557,6 +557,7 @@
open_bracket = depend.find( '[', open_bracket+1 )
return tuple(use_list)
+_valid_category = re.compile("^\w[\w-]*")
_invalid_atom_chars_regexp = re.compile("[()|@]")
def isvalidatom(atom, allow_blockers=False):
@@ -585,10 +586,13 @@
return 0
if allow_blockers and atom.startswith("!"):
atom = atom[1:]
- try:
- mycpv_cps = catpkgsplit(dep_getcpv(atom))
- except InvalidData:
- return 0
+ cpv = dep_getcpv(atom)
+ if cpv:
+ if _valid_category.match(catsplit(cpv)[0]) is None:
+ return 0
+ mycpv_cps = catpkgsplit(cpv)
+ else:
+ mycpv_cps = None
operator = get_operator(atom)
if operator:
if operator[0] in "<>" and remove_slot(atom).endswith("*"):
Modified: main/trunk/pym/portage/tests/dep/test_isvalidatom.py
===================================================================
--- main/trunk/pym/portage/tests/dep/test_isvalidatom.py 2008-05-25 02:20:45 UTC (rev 10398)
+++ main/trunk/pym/portage/tests/dep/test_isvalidatom.py 2008-05-25 02:56:41 UTC (rev 10399)
@@ -13,8 +13,7 @@
"""
def testIsValidAtom(self):
-
- self.todo = True
+
tests = [ ( "sys-apps/portage", True ),
( "=sys-apps/portage-2.1", True ),
( "=sys-apps/portage-2.1*", True ),
@@ -26,9 +25,10 @@
( "sys-apps/portage:foo", True ),
( "sys-apps/portage-2.1:foo", False ),
( "sys-apps/portage-2.1:", False ),
+ ( "=sys-apps/portage-2.2*:foo[bar][-baz][doc?][-build?]", True ),
( ">~cate-gory/foo-1.0", False ),
- ( ">~category/foo-1.0", True ),
- ( "<~category/foo-1.0", True ),
+ ( ">~category/foo-1.0", False ),
+ ( "<~category/foo-1.0", False ),
( "###cat/foo-1.0", False ),
( "~sys-apps/portage", False ),
( "portage", False ) ]
--
gentoo-commits@lists.gentoo.org mailing list
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2008-05-25 2:56 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-05-25 2:56 [gentoo-commits] portage r10399 - in main/trunk/pym/portage: . tests/dep Zac Medico (zmedico)
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox