Yet another pile of depmatch tests + added commentary
authorPanu Matilainen <pmatilai@redhat.com>
Fri, 17 Dec 2010 09:00:41 +0000 (11:00 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Tue, 21 Dec 2010 09:50:17 +0000 (11:50 +0200)
(cherry picked from commit c91e00e81eabe287e6d0786bdc8b0a4f10f19d73)

tests/rpmdepmatch.at

index 80a9a28..01191ec 100644 (file)
@@ -4,6 +4,7 @@ AT_BANNER([RPM dependency matching])
 RPMPY_CHECK([provide - require pairs],[
 # ((provides), (requires), match) expected values
 tests = [
+    # Different names never match
     (('b',),                   ('a',),                 0),
     (('b',),                   ('a', '=', '1.2'),      0),
     (('b',),                   ('a', '>=', '1.2'),     0),
@@ -12,6 +13,7 @@ tests = [
     (('b',),                   ('a', '>', '1.2'),      0),
     (('b',),                   ('a', '<>', '1.2'),     0),
 
+    # Unversioned provide matches all versions
     (('a',),                   ('a',),                 1),
     (('a',),                   ('a', '=', '1.2'),      1),
     (('a',),                   ('a', '>=', '1.2'),     1),
@@ -20,6 +22,7 @@ tests = [
     (('a',),                   ('a', '>', '1.2'),      1),
     (('a',),                   ('a', '<>', '1.2'),     1),
 
+    # Unversioned require matches all versions
     (('a', '=', '1.2'),                ('a',),                 1),
     (('a', '<', '1.2'),                ('a',),                 1),
     (('a', '>', '1.2'),                ('a',),                 1),
@@ -27,6 +30,7 @@ tests = [
     (('a', '>=', '1.2'),       ('a',),                 1),
     (('a', '<>', '1.2'),       ('a',),                 1),
 
+    # Simple, obvious version comparisons
     (('a', '=', '1.2'),                ('a', '=', '1.2'),      1),
     (('a', '=', '1.2'),                ('a', '>=', '1.2'),     1),
     (('a', '=', '1.2'),                ('a', '<=', '1.2'),     1),
@@ -41,6 +45,7 @@ tests = [
     (('a', '=', '1.2'),                ('a', '>', '1.3'),      0),
     (('a', '=', '1.2'),                ('a', '<>', '1.3'),     1),
  
+    # Simple, obvious version-release comparisons
     (('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),
@@ -62,6 +67,7 @@ tests = [
     (('a', '=', '1.3-1'),      ('a', '>', '1.2-2'),    1),
     (('a', '=', '1.3-1'),      ('a', '<>', '1.2-2'),   1),
 
+    # Zero epoch is same as no epoch
     (('a', '=', '0:1.2'),      ('a', '=', '1.2'),      1),
     (('a', '=', '0:1.2'),      ('a', '>=', '1.2'),     1),
     (('a', '=', '0:1.2'),      ('a', '<=', '1.2'),     1),
@@ -76,6 +82,7 @@ tests = [
     (('a', '=', '1.2'),                ('a', '>', '0:1.2'),    0),
     (('a', '=', '1.2'),                ('a', '<>', '0:1.2'),   0),
 
+    # Non-zero epochs
     (('a', '=', '1:1.2'),      ('a', '=', '1.2'),      0),
     (('a', '=', '1:1.2'),      ('a', '>=', '1.2'),     1),
     (('a', '=', '1:1.2'),      ('a', '<=', '1.2'),     0),
@@ -97,6 +104,7 @@ tests = [
     (('a', '=', '2:1.2'),      ('a', '>', '2:1.2'),    0),
     (('a', '=', '2:1.2'),      ('a', '<>', '2:1.2'),   0),
 
+    # Simple, obvious version comparisons with provide ranges
     (('a', '>', '1.2'),                ('a', '=', '1.2'),      0),
     (('a', '>', '1.2'),                ('a', '>=', '1.2'),     1),
     (('a', '>', '1.2'),                ('a', '<=', '1.2'),     0),
@@ -131,6 +139,92 @@ tests = [
     (('a', '<>', '1.2'),       ('a', '<', '1.2'),      1),
     (('a', '<>', '1.2'),       ('a', '>', '1.2'),      1),
     (('a', '<>', '1.2'),       ('a', '<>', '1.2'),     1),
+
+    # Missing release should be considered "any release will do"
+    # but this is not always so (the cases with "???") 
+    (('a', '=', '1.2-1'),      ('a', '=', '1.2'),      1),
+    (('a', '=', '1.2-1'),      ('a', '>=', '1.2'),     1),
+    (('a', '=', '1.2-1'),      ('a', '<=', '1.2'),     1),
+    (('a', '=', '1.2-1'),      ('a', '<', '1.2'),      0),
+    (('a', '=', '1.2-1'),      ('a', '>', '1.2'),      0),
+    (('a', '=', '1.2-1'),      ('a', '<>', '1.2'),     0),
+
+    (('a', '>', '1.2-1'),      ('a', '=', '1.2'),      0), # ???
+    (('a', '>', '1.2-1'),      ('a', '>=', '1.2'),     1),
+    (('a', '>', '1.2-1'),      ('a', '<=', '1.2'),     0), # ???
+    (('a', '>', '1.2-1'),      ('a', '<', '1.2'),      0),
+    (('a', '>', '1.2-1'),      ('a', '>', '1.2'),      1),
+    (('a', '>', '1.2-1'),      ('a', '<>', '1.2'),     1),
+
+    (('a', '<', '1.2-1'),      ('a', '=', '1.2'),      0), # ???
+    (('a', '<', '1.2-1'),      ('a', '>=', '1.2'),     0), # ???
+    (('a', '<', '1.2-1'),      ('a', '<=', '1.2'),     1),
+    (('a', '<', '1.2-1'),      ('a', '<', '1.2'),      1),
+    (('a', '<', '1.2-1'),      ('a', '>', '1.2'),      0),
+    (('a', '<', '1.2-1'),      ('a', '<>', '1.2'),     1),
+
+    (('a', '>=', '1.2-1'),     ('a', '=', '1.2'),      1),
+    (('a', '>=', '1.2-1'),     ('a', '>=', '1.2'),     1),
+    (('a', '>=', '1.2-1'),     ('a', '<=', '1.2'),     1),
+    (('a', '>=', '1.2-1'),     ('a', '<', '1.2'),      0),
+    (('a', '>=', '1.2-1'),     ('a', '>', '1.2'),      1),
+    (('a', '>=', '1.2-1'),     ('a', '<>', '1.2'),     1),
+
+    (('a', '<=', '1.2-1'),     ('a', '=', '1.2'),      1),
+    (('a', '<=', '1.2-1'),     ('a', '>=', '1.2'),     1),
+    (('a', '<=', '1.2-1'),     ('a', '<=', '1.2'),     1),
+    (('a', '<=', '1.2-1'),     ('a', '<', '1.2'),      1),
+    (('a', '<=', '1.2-1'),     ('a', '>', '1.2'),      0),
+    (('a', '<=', '1.2-1'),     ('a', '<>', '1.2'),     1),
+
+    (('a', '<>', '1.2-1'),     ('a', '=', '1.2'),      0), # ???
+    (('a', '<>', '1.2-1'),     ('a', '>=', '1.2'),     1),
+    (('a', '<>', '1.2-1'),     ('a', '<=', '1.2'),     1),
+    (('a', '<>', '1.2-1'),     ('a', '<', '1.2'),      1),
+    (('a', '<>', '1.2-1'),     ('a', '>', '1.2'),      1),
+    (('a', '<>', '1.2-1'),     ('a', '<>', '1.2'),     1),
+
+    (('a', '=', '1.2'),                ('a', '=', '1.2-1'),    1),
+    (('a', '=', '1.2'),                ('a', '>=', '1.2-1'),   1),
+    (('a', '=', '1.2'),                ('a', '<=', '1.2-1'),   1),
+    (('a', '=', '1.2'),                ('a', '<', '1.2-1'),    0), # ???
+    (('a', '=', '1.2'),                ('a', '>', '1.2-1'),    0), # ???
+    (('a', '=', '1.2'),                ('a', '<>', '1.2-1'),   0), # ???
+
+    (('a', '>', '1.2'),                ('a', '=', '1.2-1'),    0),
+    (('a', '>', '1.2'),                ('a', '>=', '1.2-1'),   1),
+    (('a', '>', '1.2'),                ('a', '<=', '1.2-1'),   0),
+    (('a', '>', '1.2'),                ('a', '<', '1.2-1'),    0),
+    (('a', '>', '1.2'),                ('a', '>', '1.2-1'),    1),
+    (('a', '>', '1.2'),                ('a', '<>', '1.2-1'),   1),
+
+    (('a', '<', '1.2'),                ('a', '=', '1.2-1'),    0),
+    (('a', '<', '1.2'),                ('a', '>=', '1.2-1'),   0),
+    (('a', '<', '1.2'),                ('a', '<=', '1.2-1'),   1),
+    (('a', '<', '1.2'),                ('a', '<', '1.2-1'),    1),
+    (('a', '<', '1.2'),                ('a', '>', '1.2-1'),    0),
+    (('a', '<', '1.2'),                ('a', '<>', '1.2-1'),   1),
+
+    (('a', '>=', '1.2'),       ('a', '=', '1.2-1'),    1),
+    (('a', '>=', '1.2'),       ('a', '>=', '1.2-1'),   1),
+    (('a', '>=', '1.2'),       ('a', '<=', '1.2-1'),   1),
+    (('a', '>=', '1.2'),       ('a', '<', '1.2-1'),    0), # ???
+    (('a', '>=', '1.2'),       ('a', '>', '1.2-1'),    1),
+    (('a', '>=', '1.2'),       ('a', '<>', '1.2-1'),   1),
+
+    (('a', '<=', '1.2'),       ('a', '=', '1.2-1'),    1),
+    (('a', '<=', '1.2'),       ('a', '>=', '1.2-1'),   1),
+    (('a', '<=', '1.2'),       ('a', '<=', '1.2-1'),   1),
+    (('a', '<=', '1.2'),       ('a', '<', '1.2-1'),    1),
+    (('a', '<=', '1.2'),       ('a', '>', '1.2-1'),    0), # ???
+    (('a', '<=', '1.2'),       ('a', '<>', '1.2-1'),   1),
+
+    (('a', '<>', '1.2'),       ('a', '=', '1.2-1'),    0),
+    (('a', '<>', '1.2'),       ('a', '>=', '1.2-1'),   1),
+    (('a', '<>', '1.2'),       ('a', '<=', '1.2-1'),   1),
+    (('a', '<>', '1.2'),       ('a', '<', '1.2-1'),    1),
+    (('a', '<>', '1.2'),       ('a', '>', '1.2-1'),    1),
+    (('a', '<>', '1.2'),       ('a', '<>', '1.2-1'),   1),
 ]
 
 ms = ['no match', 'match']