| # Copyright 2009-2010 Gentoo Foundation |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| from portage.tests import TestCase |
| from portage.exception import InvalidDependString |
| from portage.dep import Atom, use_reduce |
| |
| class UseReduceTestCase(object): |
| def __init__(self, deparray, uselist=[], masklist=[], \ |
| matchall=0, excludeall=[], is_src_uri=False, \ |
| eapi="0", opconvert=False, flat=False, expected_result=None, \ |
| is_valid_flag=None, token_class=None): |
| self.deparray = deparray |
| self.uselist = uselist |
| self.masklist = masklist |
| self.matchall = matchall |
| self.excludeall = excludeall |
| self.is_src_uri = is_src_uri |
| self.eapi = eapi |
| self.opconvert = opconvert |
| self.flat = flat |
| self.is_valid_flag = is_valid_flag |
| self.token_class = token_class |
| self.expected_result = expected_result |
| |
| def run(self): |
| try: |
| return use_reduce(self.deparray, self.uselist, self.masklist, \ |
| self.matchall, self.excludeall, self.is_src_uri, self.eapi, \ |
| self.opconvert, self.flat, self.is_valid_flag, self.token_class) |
| except InvalidDependString as e: |
| raise InvalidDependString("%s: %s" % (e, self.deparray)) |
| |
| class UseReduce(TestCase): |
| |
| def always_true(self, ununsed_parameter): |
| return True |
| |
| def always_false(self, ununsed_parameter): |
| return False |
| |
| def testUseReduce(self): |
| |
| EAPI_WITH_SRC_URI_ARROWS = "2" |
| EAPI_WITHOUT_SRC_URI_ARROWS = "0" |
| |
| test_cases = ( |
| UseReduceTestCase( |
| "a? ( A ) b? ( B ) !c? ( C ) !d? ( D )", |
| uselist = ["a", "b", "c", "d"], |
| expected_result = ["A", "B"] |
| ), |
| UseReduceTestCase( |
| "a? ( A ) b? ( B ) !c? ( C ) !d? ( D )", |
| uselist = ["a", "b", "c"], |
| expected_result = ["A", "B", "D"] |
| ), |
| UseReduceTestCase( |
| "a? ( A ) b? ( B ) !c? ( C ) !d? ( D )", |
| uselist = ["b", "c"], |
| expected_result = ["B", "D"] |
| ), |
| |
| UseReduceTestCase( |
| "a? ( A ) b? ( B ) !c? ( C ) !d? ( D )", |
| matchall = True, |
| expected_result = ["A", "B", "C", "D"] |
| ), |
| UseReduceTestCase( |
| "a? ( A ) b? ( B ) !c? ( C ) !d? ( D )", |
| masklist = ["a", "c"], |
| expected_result = ["C", "D"] |
| ), |
| UseReduceTestCase( |
| "a? ( A ) b? ( B ) !c? ( C ) !d? ( D )", |
| matchall = True, |
| masklist = ["a", "c"], |
| expected_result = ["B", "C", "D"] |
| ), |
| UseReduceTestCase( |
| "a? ( A ) b? ( B ) !c? ( C ) !d? ( D )", |
| uselist = ["a", "b"], |
| masklist = ["a", "c"], |
| expected_result = ["B", "C", "D"] |
| ), |
| UseReduceTestCase( |
| "a? ( A ) b? ( B ) !c? ( C ) !d? ( D )", |
| excludeall = ["a", "c"], |
| expected_result = ["D"] |
| ), |
| UseReduceTestCase( |
| "a? ( A ) b? ( B ) !c? ( C ) !d? ( D )", |
| uselist = ["b"], |
| excludeall = ["a", "c"], |
| expected_result = ["B", "D"] |
| ), |
| UseReduceTestCase( |
| "a? ( A ) b? ( B ) !c? ( C ) !d? ( D )", |
| matchall = True, |
| excludeall = ["a", "c"], |
| expected_result = ["A", "B", "D"] |
| ), |
| UseReduceTestCase( |
| "a? ( A ) b? ( B ) !c? ( C ) !d? ( D )", |
| matchall = True, |
| excludeall = ["a", "c"], |
| masklist = ["b"], |
| expected_result = ["A", "D"] |
| ), |
| |
| |
| UseReduceTestCase( |
| "a? ( b? ( AB ) )", |
| uselist = ["a", "b"], |
| expected_result = ["AB"] |
| ), |
| UseReduceTestCase( |
| "a? ( b? ( AB ) C )", |
| uselist = ["a"], |
| expected_result = ["C"] |
| ), |
| UseReduceTestCase( |
| "a? ( b? ( || ( AB CD ) ) )", |
| uselist = ["a", "b"], |
| expected_result = ["||", ["AB", "CD"]] |
| ), |
| UseReduceTestCase( |
| "|| ( || ( a? ( A ) b? ( B ) ) )", |
| uselist = ["a", "b"], |
| expected_result = ["||", ["A", "B"]] |
| ), |
| UseReduceTestCase( |
| "|| ( || ( a? ( A ) b? ( B ) ) )", |
| uselist = ["a"], |
| expected_result = ["A"] |
| ), |
| UseReduceTestCase( |
| "|| ( || ( a? ( A ) b? ( B ) ) )", |
| uselist = [], |
| expected_result = [] |
| ), |
| UseReduceTestCase( |
| "|| ( || ( a? ( || ( A c? ( C ) ) ) b? ( B ) ) )", |
| uselist = [], |
| expected_result = [] |
| ), |
| UseReduceTestCase( |
| "|| ( || ( a? ( || ( A c? ( C ) ) ) b? ( B ) ) )", |
| uselist = ["a"], |
| expected_result = ["A"] |
| ), |
| UseReduceTestCase( |
| "|| ( || ( a? ( || ( A c? ( C ) ) ) b? ( B ) ) )", |
| uselist = ["b"], |
| expected_result = ["B"] |
| ), |
| UseReduceTestCase( |
| "|| ( || ( a? ( || ( A c? ( C ) ) ) b? ( B ) ) )", |
| uselist = ["c"], |
| expected_result = [] |
| ), |
| UseReduceTestCase( |
| "|| ( || ( a? ( || ( A c? ( C ) ) ) b? ( B ) ) )", |
| uselist = ["a", "c"], |
| expected_result = ["||", [ "A", "C"]] |
| ), |
| |
| #paren_reduce tests |
| UseReduceTestCase( |
| "A", |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "( A )", |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "|| ( A B )", |
| expected_result = [ "||", ["A", "B"] ]), |
| UseReduceTestCase( |
| "|| ( ( A B ) C )", |
| expected_result = [ "||", [ ["A", "B"], "C"] ]), |
| UseReduceTestCase( |
| "|| ( ( A B ) ( C ) )", |
| expected_result = [ "||", [ ["A", "B"], "C"] ]), |
| UseReduceTestCase( |
| "|| ( A || ( B C ) )", |
| expected_result = [ "||", ["A", "B", "C"]]), |
| UseReduceTestCase( |
| "|| ( A || ( B C D ) )", |
| expected_result = [ "||", ["A", "B", "C", "D"] ]), |
| UseReduceTestCase( |
| "|| ( A || ( B || ( C D ) E ) )", |
| expected_result = [ "||", ["A", "B", "C", "D", "E"] ]), |
| UseReduceTestCase( |
| "( || ( ( ( A ) B ) ) )", |
| expected_result = ["A", "B"] ), |
| UseReduceTestCase( |
| "( || ( || ( ( A ) B ) ) )", |
| expected_result = [ "||", ["A", "B"] ]), |
| UseReduceTestCase( |
| "( || ( || ( ( A ) B ) ) )", |
| expected_result = [ "||", ["A", "B"] ]), |
| UseReduceTestCase( |
| "|| ( A )", |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "( || ( || ( || ( A ) foo? ( B ) ) ) )", |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "( || ( || ( || ( A ) foo? ( B ) ) ) )", |
| uselist = ["foo"], |
| expected_result = [ "||", ["A", "B"] ]), |
| UseReduceTestCase( |
| "( || ( || ( bar? ( A ) || ( foo? ( B ) ) ) ) )", |
| expected_result = []), |
| UseReduceTestCase( |
| "( || ( || ( bar? ( A ) || ( foo? ( B ) ) ) ) )", |
| uselist = ["foo", "bar"], |
| expected_result = [ "||", [ "A", "B" ] ]), |
| UseReduceTestCase( |
| "A || ( bar? ( C ) ) foo? ( bar? ( C ) ) B", |
| expected_result = ["A", "B"]), |
| UseReduceTestCase( |
| "|| ( A ) || ( B )", |
| expected_result = ["A", "B"]), |
| UseReduceTestCase( |
| "foo? ( A ) foo? ( B )", |
| expected_result = []), |
| UseReduceTestCase( |
| "foo? ( A ) foo? ( B )", |
| uselist = ["foo"], |
| expected_result = ["A", "B"]), |
| UseReduceTestCase( |
| "|| ( A B ) C", |
| expected_result = ['||', ['A', 'B'], 'C']), |
| UseReduceTestCase( |
| "A || ( B C )", |
| expected_result = ['A', '||', ['B', 'C']]), |
| |
| #SRC_URI stuff |
| UseReduceTestCase( |
| "http://foo/bar -> blah.tbz2", |
| is_src_uri = True, |
| eapi = EAPI_WITH_SRC_URI_ARROWS, |
| expected_result = ["http://foo/bar", "->", "blah.tbz2"]), |
| UseReduceTestCase( |
| "foo? ( http://foo/bar -> blah.tbz2 )", |
| uselist = [], |
| is_src_uri = True, |
| eapi = EAPI_WITH_SRC_URI_ARROWS, |
| expected_result = []), |
| UseReduceTestCase( |
| "foo? ( http://foo/bar -> blah.tbz2 )", |
| uselist = ["foo"], |
| is_src_uri = True, |
| eapi = EAPI_WITH_SRC_URI_ARROWS, |
| expected_result = ["http://foo/bar", "->", "blah.tbz2"]), |
| UseReduceTestCase( |
| "http://foo/bar -> bar.tbz2 foo? ( ftp://foo/a )", |
| uselist = [], |
| is_src_uri = True, |
| eapi = EAPI_WITH_SRC_URI_ARROWS, |
| expected_result = ["http://foo/bar", "->", "bar.tbz2"]), |
| UseReduceTestCase( |
| "http://foo/bar -> bar.tbz2 foo? ( ftp://foo/a )", |
| uselist = ["foo"], |
| is_src_uri = True, |
| eapi = EAPI_WITH_SRC_URI_ARROWS, |
| expected_result = ["http://foo/bar", "->", "bar.tbz2", "ftp://foo/a"]), |
| UseReduceTestCase( |
| "http://foo.com/foo http://foo/bar -> blah.tbz2", |
| uselist = ["foo"], |
| is_src_uri = True, |
| eapi = EAPI_WITH_SRC_URI_ARROWS, |
| expected_result = ["http://foo.com/foo", "http://foo/bar", "->", "blah.tbz2"]), |
| |
| #opconvert tests |
| UseReduceTestCase( |
| "A", |
| opconvert = True, |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "( A )", |
| opconvert = True, |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "|| ( A B )", |
| opconvert = True, |
| expected_result = [['||', 'A', 'B']]), |
| UseReduceTestCase( |
| "|| ( ( A B ) C )", |
| opconvert = True, |
| expected_result = [['||', ['A', 'B'], 'C']]), |
| UseReduceTestCase( |
| "|| ( A || ( B C ) )", |
| opconvert = True, |
| expected_result = [['||', 'A', 'B', 'C']]), |
| UseReduceTestCase( |
| "|| ( A || ( B C D ) )", |
| opconvert = True, |
| expected_result = [['||', 'A', 'B', 'C', 'D']]), |
| UseReduceTestCase( |
| "|| ( A || ( B || ( C D ) E ) )", |
| expected_result = [ "||", ["A", "B", "C", "D", "E"] ]), |
| UseReduceTestCase( |
| "( || ( ( ( A ) B ) ) )", |
| opconvert = True, |
| expected_result = [ "A", "B" ] ), |
| UseReduceTestCase( |
| "( || ( || ( ( A ) B ) ) )", |
| opconvert = True, |
| expected_result = [['||', 'A', 'B']]), |
| UseReduceTestCase( |
| "|| ( A B ) C", |
| opconvert = True, |
| expected_result = [['||', 'A', 'B'], 'C']), |
| UseReduceTestCase( |
| "A || ( B C )", |
| opconvert = True, |
| expected_result = ['A', ['||', 'B', 'C']]), |
| UseReduceTestCase( |
| "A foo? ( || ( B || ( bar? ( || ( C D E ) ) !bar? ( F ) ) ) ) G", |
| uselist = ["foo", "bar"], |
| opconvert = True, |
| expected_result = ['A', ['||', 'B', 'C', 'D', 'E'], 'G']), |
| UseReduceTestCase( |
| "A foo? ( || ( B || ( bar? ( || ( C D E ) ) !bar? ( F ) ) ) ) G", |
| uselist = ["foo", "bar"], |
| opconvert = False, |
| expected_result = ['A', '||', ['B', 'C', 'D', 'E'], 'G']), |
| |
| UseReduceTestCase( |
| "|| ( A )", |
| opconvert = True, |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "( || ( || ( || ( A ) foo? ( B ) ) ) )", |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "( || ( || ( || ( A ) foo? ( B ) ) ) )", |
| uselist = ["foo"], |
| opconvert = True, |
| expected_result = [['||', 'A', 'B']]), |
| UseReduceTestCase( |
| "( || ( || ( bar? ( A ) || ( foo? ( B ) ) ) ) )", |
| opconvert = True, |
| expected_result = []), |
| UseReduceTestCase( |
| "( || ( || ( bar? ( A ) || ( foo? ( B ) ) ) ) )", |
| uselist = ["foo", "bar"], |
| opconvert = True, |
| expected_result = [['||', 'A', 'B']]), |
| UseReduceTestCase( |
| "A || ( bar? ( C ) ) foo? ( bar? ( C ) ) B", |
| opconvert = True, |
| expected_result = ["A", "B"]), |
| UseReduceTestCase( |
| "|| ( A ) || ( B )", |
| opconvert = True, |
| expected_result = ["A", "B"]), |
| UseReduceTestCase( |
| "foo? ( A ) foo? ( B )", |
| opconvert = True, |
| expected_result = []), |
| UseReduceTestCase( |
| "foo? ( A ) foo? ( B )", |
| uselist = ["foo"], |
| opconvert = True, |
| expected_result = ["A", "B"]), |
| UseReduceTestCase( |
| "|| ( foo? ( || ( A B ) ) )", |
| uselist = ["foo"], |
| opconvert = True, |
| expected_result = [['||', 'A', 'B']]), |
| |
| UseReduceTestCase( |
| "|| ( ( A B ) foo? ( || ( C D ) ) )", |
| uselist = ["foo"], |
| opconvert = True, |
| expected_result = [['||', ['A', 'B'], 'C', 'D']]), |
| |
| UseReduceTestCase( |
| "|| ( ( A B ) foo? ( || ( C D ) ) )", |
| uselist = ["foo"], |
| opconvert = False, |
| expected_result = ['||', [['A', 'B'], 'C', 'D']]), |
| |
| UseReduceTestCase( |
| "|| ( ( A B ) || ( C D ) )", |
| expected_result = ['||', [['A', 'B'], 'C', 'D']]), |
| |
| UseReduceTestCase( |
| "|| ( ( A B ) || ( C D || ( E ( F G ) || ( H ) ) ) )", |
| expected_result = ['||', [['A', 'B'], 'C', 'D', 'E', ['F', 'G'], 'H']]), |
| |
| UseReduceTestCase( |
| "|| ( ( A B ) || ( C D || ( E ( F G ) || ( H ) ) ) )", |
| opconvert = True, |
| expected_result = [['||', ['A', 'B'], 'C', 'D', 'E', ['F', 'G'], 'H']]), |
| |
| UseReduceTestCase( |
| "|| ( foo? ( A B ) )", |
| uselist = ["foo"], |
| expected_result = ['A', 'B']), |
| |
| UseReduceTestCase( |
| "|| ( || ( foo? ( A B ) ) )", |
| uselist = ["foo"], |
| expected_result = ['A', 'B']), |
| |
| UseReduceTestCase( |
| "|| ( || ( || ( a? ( b? ( c? ( || ( || ( || ( d? ( e? ( f? ( A B ) ) ) ) ) ) ) ) ) ) ) )", |
| uselist = ["a", "b", "c", "d", "e", "f"], |
| expected_result = ['A', 'B']), |
| |
| UseReduceTestCase( |
| "|| ( || ( ( || ( a? ( ( b? ( c? ( || ( || ( || ( ( d? ( e? ( f? ( A B ) ) ) ) ) ) ) ) ) ) ) ) ) ) )", |
| uselist = ["a", "b", "c", "d", "e", "f"], |
| expected_result = ['A', 'B']), |
| |
| UseReduceTestCase( |
| "|| ( ( A ( || ( B ) ) ) )", |
| expected_result = ['A', 'B']), |
| |
| UseReduceTestCase( |
| "|| ( ( A B ) || ( foo? ( bar? ( ( C D || ( baz? ( E ) ( F G ) || ( H ) ) ) ) ) ) )", |
| uselist = ["foo", "bar", "baz"], |
| expected_result = ['||', [['A', 'B'], ['C', 'D', '||', ['E', ['F', 'G'], 'H']]]]), |
| |
| UseReduceTestCase( |
| "|| ( ( A B ) || ( foo? ( bar? ( ( C D || ( baz? ( E ) ( F G ) || ( H ) ) ) ) ) ) )", |
| uselist = ["foo", "bar", "baz"], |
| opconvert = True, |
| expected_result = [['||', ['A', 'B'], ['C', 'D', ['||', 'E', ['F', 'G'], 'H']]]]), |
| |
| UseReduceTestCase( |
| "|| ( foo? ( A B ) )", |
| uselist = ["foo"], |
| opconvert=True, |
| expected_result = ['A', 'B']), |
| |
| UseReduceTestCase( |
| "|| ( || ( foo? ( A B ) ) )", |
| uselist = ["foo"], |
| opconvert=True, |
| expected_result = ['A', 'B']), |
| |
| UseReduceTestCase( |
| "|| ( || ( || ( a? ( b? ( c? ( || ( || ( || ( d? ( e? ( f? ( A B ) ) ) ) ) ) ) ) ) ) ) )", |
| uselist = ["a", "b", "c", "d", "e", "f"], |
| opconvert=True, |
| expected_result = ['A', 'B']), |
| |
| #flat test |
| UseReduceTestCase( |
| "A", |
| flat = True, |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "( A )", |
| flat = True, |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "|| ( A B )", |
| flat = True, |
| expected_result = [ "||", "A", "B" ] ), |
| UseReduceTestCase( |
| "|| ( A || ( B C ) )", |
| flat = True, |
| expected_result = [ "||", "A", "||", "B", "C" ]), |
| UseReduceTestCase( |
| "|| ( A || ( B C D ) )", |
| flat = True, |
| expected_result = [ "||", "A", "||", "B", "C", "D" ]), |
| UseReduceTestCase( |
| "|| ( A || ( B || ( C D ) E ) )", |
| flat = True, |
| expected_result = [ "||", "A", "||", "B", "||", "C", "D", "E" ]), |
| UseReduceTestCase( |
| "( || ( ( ( A ) B ) ) )", |
| flat = True, |
| expected_result = [ "||", "A", "B"] ), |
| UseReduceTestCase( |
| "( || ( || ( ( A ) B ) ) )", |
| flat = True, |
| expected_result = [ "||", "||", "A", "B" ]), |
| UseReduceTestCase( |
| "( || ( || ( ( A ) B ) ) )", |
| flat = True, |
| expected_result = [ "||", "||", "A", "B" ]), |
| UseReduceTestCase( |
| "|| ( A )", |
| flat = True, |
| expected_result = ["||", "A"]), |
| UseReduceTestCase( |
| "( || ( || ( || ( A ) foo? ( B ) ) ) )", |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "( || ( || ( || ( A ) foo? ( B ) ) ) )", |
| uselist = ["foo"], |
| flat = True, |
| expected_result = [ "||", "||","||", "A", "B" ]), |
| UseReduceTestCase( |
| "( || ( || ( bar? ( A ) || ( foo? ( B ) ) ) ) )", |
| flat = True, |
| expected_result = ["||", "||","||"]), |
| UseReduceTestCase( |
| "( || ( || ( bar? ( A ) || ( foo? ( B ) ) ) ) )", |
| uselist = ["foo", "bar"], |
| flat = True, |
| expected_result = [ "||", "||", "A", "||", "B" ]), |
| UseReduceTestCase( |
| "A || ( bar? ( C ) ) foo? ( bar? ( C ) ) B", |
| flat = True, |
| expected_result = ["A", "||", "B"]), |
| UseReduceTestCase( |
| "|| ( A ) || ( B )", |
| flat = True, |
| expected_result = ["||", "A", "||", "B"]), |
| UseReduceTestCase( |
| "foo? ( A ) foo? ( B )", |
| flat = True, |
| expected_result = []), |
| UseReduceTestCase( |
| "foo? ( A ) foo? ( B )", |
| uselist = ["foo"], |
| flat = True, |
| expected_result = ["A", "B"]), |
| |
| #use flag validation |
| UseReduceTestCase( |
| "foo? ( A )", |
| uselist = ["foo"], |
| is_valid_flag = self.always_true, |
| expected_result = ["A"]), |
| UseReduceTestCase( |
| "foo? ( A )", |
| is_valid_flag = self.always_true, |
| expected_result = []), |
| |
| #token_class |
| UseReduceTestCase( |
| "foo? ( dev-libs/A )", |
| uselist = ["foo"], |
| token_class=Atom, |
| expected_result = ["dev-libs/A"]), |
| UseReduceTestCase( |
| "foo? ( dev-libs/A )", |
| token_class=Atom, |
| expected_result = []), |
| ) |
| |
| test_cases_xfail = ( |
| UseReduceTestCase("? ( A )"), |
| UseReduceTestCase("!? ( A )"), |
| UseReduceTestCase("( A"), |
| UseReduceTestCase("A )"), |
| UseReduceTestCase("||( A B )"), |
| UseReduceTestCase("|| (A B )"), |
| UseReduceTestCase("|| ( A B)"), |
| UseReduceTestCase("|| ( A B"), |
| UseReduceTestCase("|| A B )"), |
| UseReduceTestCase("|| A B"), |
| UseReduceTestCase("|| ( A B ) )"), |
| UseReduceTestCase("|| || B C"), |
| UseReduceTestCase("|| ( A B || )"), |
| UseReduceTestCase("a? A"), |
| UseReduceTestCase("( || ( || || ( A ) foo? ( B ) ) )"), |
| UseReduceTestCase("( || ( || bar? ( A ) foo? ( B ) ) )"), |
| UseReduceTestCase("foo?"), |
| UseReduceTestCase("foo? || ( A )"), |
| UseReduceTestCase("|| ( )"), |
| UseReduceTestCase("foo? ( )"), |
| |
| #SRC_URI stuff |
| UseReduceTestCase("http://foo/bar -> blah.tbz2", is_src_uri = True, eapi = EAPI_WITHOUT_SRC_URI_ARROWS), |
| UseReduceTestCase("|| ( http://foo/bar -> blah.tbz2 )", is_src_uri = True, eapi = EAPI_WITH_SRC_URI_ARROWS), |
| UseReduceTestCase("http://foo/bar -> foo? ( ftp://foo/a )", is_src_uri = True, eapi = EAPI_WITH_SRC_URI_ARROWS), |
| UseReduceTestCase("http://foo/bar blah.tbz2 ->", is_src_uri = True, eapi = EAPI_WITH_SRC_URI_ARROWS), |
| UseReduceTestCase("-> http://foo/bar blah.tbz2 )", is_src_uri = True, eapi = EAPI_WITH_SRC_URI_ARROWS), |
| UseReduceTestCase("http://foo/bar ->", is_src_uri = True, eapi = EAPI_WITH_SRC_URI_ARROWS), |
| UseReduceTestCase("http://foo/bar -> foo? ( http://foo.com/foo )", is_src_uri = True, eapi = EAPI_WITH_SRC_URI_ARROWS), |
| UseReduceTestCase("foo? ( http://foo/bar -> ) blah.tbz2", is_src_uri = True, eapi = EAPI_WITH_SRC_URI_ARROWS), |
| UseReduceTestCase("http://foo/bar -> foo/blah.tbz2", is_src_uri = True, eapi = EAPI_WITH_SRC_URI_ARROWS), |
| UseReduceTestCase("http://foo/bar -> -> bar.tbz2 foo? ( ftp://foo/a )", is_src_uri = True, eapi = EAPI_WITH_SRC_URI_ARROWS), |
| |
| UseReduceTestCase("http://foo/bar -> bar.tbz2 foo? ( ftp://foo/a )", is_src_uri = False, eapi = EAPI_WITH_SRC_URI_ARROWS), |
| |
| UseReduceTestCase( |
| "A", |
| opconvert = True, |
| flat = True), |
| |
| #use flag validation |
| UseReduceTestCase("1.0? ( A )"), |
| UseReduceTestCase("!1.0? ( A )"), |
| UseReduceTestCase("!? ( A )"), |
| UseReduceTestCase("!?? ( A )"), |
| UseReduceTestCase( |
| "foo? ( A )", |
| is_valid_flag = self.always_false, |
| ), |
| UseReduceTestCase( |
| "foo? ( A )", |
| uselist = ["foo"], |
| is_valid_flag = self.always_false, |
| ), |
| |
| #token_class |
| UseReduceTestCase( |
| "foo? ( A )", |
| uselist = ["foo"], |
| token_class=Atom), |
| UseReduceTestCase( |
| "A(B", |
| token_class=Atom), |
| ) |
| |
| for test_case in test_cases: |
| # If it fails then show the input, since lots of our |
| # test cases have the same output but different input, |
| # making it difficult deduce which test has failed. |
| self.assertEqual(test_case.run(), test_case.expected_result, |
| "input: '%s' result: %s != %s" % (test_case.deparray, |
| test_case.run(), test_case.expected_result)) |
| |
| for test_case in test_cases_xfail: |
| self.assertRaisesMsg(test_case.deparray, (InvalidDependString, ValueError), test_case.run) |