RPMPY_CHECK([provide - require pairs],[
# ((provides), (requires), match) expected values
tests = [
- (('=', '1.2'), ('=', '1.2'), 1),
- (('=', '1.2'), ('>=', '1.2'), 1),
- (('=', '1.2'), ('<=', '1.2'), 1),
- (('=', '1.2'), ('<', '1.2'), 0),
- (('=', '1.2'), ('>', '1.2'), 0),
- (('=', '1.2'), ('<>', '1.2'), 0),
-
- (('=', '1.2'), ('=', '1.3'), 0),
- (('=', '1.2'), ('>=', '1.3'), 0),
- (('=', '1.2'), ('<=', '1.3'), 1),
- (('=', '1.2'), ('<', '1.3'), 1),
- (('=', '1.2'), ('>', '1.3'), 0),
- (('=', '1.2'), ('<>', '1.3'), 1),
-
- (('=', '1.2-1'), ('=', '1.2-1'), 1),
- (('=', '1.2-1'), ('>=', '1.2-1'), 1),
- (('=', '1.2-1'), ('<=', '1.2-1'), 1),
- (('=', '1.2-1'), ('<', '1.2-1'), 0),
- (('=', '1.2-1'), ('>', '1.2-1'), 0),
- (('=', '1.2-1'), ('<>', '1.2-1'), 0),
-
- (('=', '1.2-1'), ('=', '1.2-2'), 0),
- (('=', '1.2-1'), ('>=', '1.2-2'), 0),
- (('=', '1.2-1'), ('<=', '1.2-2'), 1),
- (('=', '1.2-1'), ('<', '1.2-2'), 1),
- (('=', '1.2-1'), ('>', '1.2-2'), 0),
- (('=', '1.2-1'), ('<>', '1.2-2'), 1),
-
- (('=', '1.3-1'), ('=', '1.2-2'), 0),
- (('=', '1.3-1'), ('>=', '1.2-2'), 1),
- (('=', '1.3-1'), ('<=', '1.2-2'), 0),
- (('=', '1.3-1'), ('<', '1.2-2'), 0),
- (('=', '1.3-1'), ('>', '1.2-2'), 1),
- (('=', '1.3-1'), ('<>', '1.2-2'), 1),
-
- (('=', '0:1.2'), ('=', '1.2'), 1),
- (('=', '0:1.2'), ('>=', '1.2'), 1),
- (('=', '0:1.2'), ('<=', '1.2'), 1),
- (('=', '0:1.2'), ('<', '1.2'), 0),
- (('=', '0:1.2'), ('>', '1.2'), 0),
- (('=', '0:1.2'), ('<>', '1.2'), 0),
-
- (('=', '1.2'), ('=', '0:1.2'), 1),
- (('=', '1.2'), ('>=', '0:1.2'), 1),
- (('=', '1.2'), ('<=', '0:1.2'), 1),
- (('=', '1.2'), ('<', '0:1.2'), 0),
- (('=', '1.2'), ('>', '0:1.2'), 0),
- (('=', '1.2'), ('<>', '0:1.2'), 0),
-
- (('=', '1:1.2'), ('=', '1.2'), 0),
- (('=', '1:1.2'), ('>=', '1.2'), 1),
- (('=', '1:1.2'), ('<=', '1.2'), 0),
- (('=', '1:1.2'), ('<', '1.2'), 0),
- (('=', '1:1.2'), ('>', '1.2'), 1),
- (('=', '1:1.2'), ('<>', '1.2'), 1),
-
- (('=', '1.2'), ('=', '1:1.2'), 0),
- (('=', '1.2'), ('>=', '1:1.2'), 0),
- (('=', '1.2'), ('<=', '1:1.2'), 1),
- (('=', '1.2'), ('<', '1:1.2'), 1),
- (('=', '1.2'), ('>', '1:1.2'), 0),
- (('=', '1.2'), ('<>', '1:1.2'), 1),
-
- (('=', '2:1.2'), ('=', '2:1.2'), 1),
- (('=', '2:1.2'), ('>=', '2:1.2'), 1),
- (('=', '2:1.2'), ('<=', '2:1.2'), 1),
- (('=', '2:1.2'), ('<', '2:1.2'), 0),
- (('=', '2:1.2'), ('>', '2:1.2'), 0),
- (('=', '2:1.2'), ('<>', '2:1.2'), 0),
+ (('b',), ('a',), 0),
+ (('b',), ('a', '=', '1.2'), 0),
+ (('b',), ('a', '>=', '1.2'), 0),
+ (('b',), ('a', '<=', '1.2'), 0),
+ (('b',), ('a', '<', '1.2'), 0),
+ (('b',), ('a', '>', '1.2'), 0),
+ (('b',), ('a', '<>', '1.2'), 0),
+
+ (('a',), ('a',), 1),
+ (('a',), ('a', '=', '1.2'), 1),
+ (('a',), ('a', '>=', '1.2'), 1),
+ (('a',), ('a', '<=', '1.2'), 1),
+ (('a',), ('a', '<', '1.2'), 1),
+ (('a',), ('a', '>', '1.2'), 1),
+ (('a',), ('a', '<>', '1.2'), 1),
+
+ (('a', '=', '1.2'), ('a',), 1),
+ (('a', '<', '1.2'), ('a',), 1),
+ (('a', '>', '1.2'), ('a',), 1),
+ (('a', '<=', '1.2'), ('a',), 1),
+ (('a', '>=', '1.2'), ('a',), 1),
+ (('a', '<>', '1.2'), ('a',), 1),
+
+ (('a', '=', '1.2'), ('a', '=', '1.2'), 1),
+ (('a', '=', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<', '1.2'), 0),
+ (('a', '=', '1.2'), ('a', '>', '1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '1.2'), 0),
+
+ (('a', '=', '1.2'), ('a', '=', '1.3'), 0),
+ (('a', '=', '1.2'), ('a', '>=', '1.3'), 0),
+ (('a', '=', '1.2'), ('a', '<=', '1.3'), 1),
+ (('a', '=', '1.2'), ('a', '<', '1.3'), 1),
+ (('a', '=', '1.2'), ('a', '>', '1.3'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '1.3'), 1),
+
+ (('a', '=', '1.2-1'), ('a', '=', '1.2-1'), 1),
+ (('a', '=', '1.2-1'), ('a', '>=', '1.2-1'), 1),
+ (('a', '=', '1.2-1'), ('a', '<=', '1.2-1'), 1),
+ (('a', '=', '1.2-1'), ('a', '<', '1.2-1'), 0),
+ (('a', '=', '1.2-1'), ('a', '>', '1.2-1'), 0),
+ (('a', '=', '1.2-1'), ('a', '<>', '1.2-1'), 0),
+
+ (('a', '=', '1.2-1'), ('a', '=', '1.2-2'), 0),
+ (('a', '=', '1.2-1'), ('a', '>=', '1.2-2'), 0),
+ (('a', '=', '1.2-1'), ('a', '<=', '1.2-2'), 1),
+ (('a', '=', '1.2-1'), ('a', '<', '1.2-2'), 1),
+ (('a', '=', '1.2-1'), ('a', '>', '1.2-2'), 0),
+ (('a', '=', '1.2-1'), ('a', '<>', '1.2-2'), 1),
+
+ (('a', '=', '1.3-1'), ('a', '=', '1.2-2'), 0),
+ (('a', '=', '1.3-1'), ('a', '>=', '1.2-2'), 1),
+ (('a', '=', '1.3-1'), ('a', '<=', '1.2-2'), 0),
+ (('a', '=', '1.3-1'), ('a', '<', '1.2-2'), 0),
+ (('a', '=', '1.3-1'), ('a', '>', '1.2-2'), 1),
+ (('a', '=', '1.3-1'), ('a', '<>', '1.2-2'), 1),
+
+ (('a', '=', '0:1.2'), ('a', '=', '1.2'), 1),
+ (('a', '=', '0:1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '=', '0:1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '=', '0:1.2'), ('a', '<', '1.2'), 0),
+ (('a', '=', '0:1.2'), ('a', '>', '1.2'), 0),
+ (('a', '=', '0:1.2'), ('a', '<>', '1.2'), 0),
+
+ (('a', '=', '1.2'), ('a', '=', '0:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '>=', '0:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<=', '0:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<', '0:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '>', '0:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '0:1.2'), 0),
+
+ (('a', '=', '1:1.2'), ('a', '=', '1.2'), 0),
+ (('a', '=', '1:1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '=', '1:1.2'), ('a', '<=', '1.2'), 0),
+ (('a', '=', '1:1.2'), ('a', '<', '1.2'), 0),
+ (('a', '=', '1:1.2'), ('a', '>', '1.2'), 1),
+ (('a', '=', '1:1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '=', '1.2'), ('a', '=', '1:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '>=', '1:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<=', '1:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '<', '1:1.2'), 1),
+ (('a', '=', '1.2'), ('a', '>', '1:1.2'), 0),
+ (('a', '=', '1.2'), ('a', '<>', '1:1.2'), 1),
+
+ (('a', '=', '2:1.2'), ('a', '=', '2:1.2'), 1),
+ (('a', '=', '2:1.2'), ('a', '>=', '2:1.2'), 1),
+ (('a', '=', '2:1.2'), ('a', '<=', '2:1.2'), 1),
+ (('a', '=', '2:1.2'), ('a', '<', '2:1.2'), 0),
+ (('a', '=', '2:1.2'), ('a', '>', '2:1.2'), 0),
+ (('a', '=', '2:1.2'), ('a', '<>', '2:1.2'), 0),
+
+ (('a', '>', '1.2'), ('a', '=', '1.2'), 0),
+ (('a', '>', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '>', '1.2'), ('a', '<=', '1.2'), 0),
+ (('a', '>', '1.2'), ('a', '<', '1.2'), 0),
+ (('a', '>', '1.2'), ('a', '>', '1.2'), 1),
+ (('a', '>', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<', '1.2'), ('a', '=', '1.2'), 0),
+ (('a', '<', '1.2'), ('a', '>=', '1.2'), 0),
+ (('a', '<', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '<', '1.2'), ('a', '<', '1.2'), 1),
+ (('a', '<', '1.2'), ('a', '>', '1.2'), 0),
+ (('a', '<', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '>=', '1.2'), ('a', '=', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '<', '1.2'), 0),
+ (('a', '>=', '1.2'), ('a', '>', '1.2'), 1),
+ (('a', '>=', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<=', '1.2'), ('a', '=', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '<', '1.2'), 1),
+ (('a', '<=', '1.2'), ('a', '>', '1.2'), 0),
+ (('a', '<=', '1.2'), ('a', '<>', '1.2'), 1),
+
+ (('a', '<>', '1.2'), ('a', '=', '1.2'), 0),
+ (('a', '<>', '1.2'), ('a', '>=', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '<=', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '<', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '>', '1.2'), 1),
+ (('a', '<>', '1.2'), ('a', '<>', '1.2'), 1),
]
ms = ['no match', 'match']
myprint() # dumb kludge to fixup expected output
-for pv, rv, res in tests:
- d1 = rpm.ds(('A', pv[0], pv[1]), 'provides')
- d2 = rpm.ds(('A', rv[0], rv[1]), 'requires')
+for p, r, res in tests:
+ d1 = rpm.ds(p, 'provides')
+ d2 = rpm.ds(r, 'requires')
match = d1.Compare(d2)
if match != res:
myprint('FAILED: %s with %s: %s' % (d1.DNEVR(), d2.DNEVR(),ms[res]))