Преглед изворни кода

Add non-regression test for Dpkg::Version ensuring -0.6.5 << 0.9.1

dpkg treats "-0.6.5" as a version with only a revision component, so it
compares less than any version with a version component > 0.

Signed-off-by: James Vega <jamessan@debian.org>
Signed-off-by: Raphaël Hertzog <hertzog@debian.org>
James Vega пре 16 година
родитељ
комит
b85cfa6a04
1 измењених фајлова са 4 додато и 3 уклоњено
  1. 4 3
      scripts/t/100_Dpkg_Version.t

+ 4 - 3
scripts/t/100_Dpkg_Version.t

@@ -32,7 +32,7 @@ plan tests => scalar(@tests) * (3 * scalar(@ops) + 4) + 11;
 
 sub dpkg_vercmp {
      my ($a, $cmp, $b) = @_;
-     return system('dpkg', '--compare-versions', $a, $cmp, $b) == 0;
+     return system('dpkg', '--compare-versions', '--', $a, $cmp, $b) == 0;
 }
 
 sub obj_vercmp {
@@ -110,11 +110,11 @@ foreach my $case (@tests) {
 	if ($truth->{$res}{$op}) {
 	    ok(version_compare_relation($a, $norm_op, $b), "$a $op $b => true");
 	    ok(obj_vercmp($va, $op, $vb), "Dpkg::Version($a) $op Dpkg::Version($b) => true");
-	    ok(dpkg_vercmp($a, $op, $b), "dpkg --compare-versions $a $op $b => true");
+	    ok(dpkg_vercmp($a, $op, $b), "dpkg --compare-versions -- $a $op $b => true");
 	} else {
 	    ok(!version_compare_relation($a, $norm_op, $b), "$a $op $b => false");
 	    ok(!obj_vercmp($va, $op, $vb), "Dpkg::Version($a) $op Dpkg::Version($b) => false");
-	    ok(!dpkg_vercmp($a, $op, $b), "dpkg --compare-versions $a $op $b => false");
+	    ok(!dpkg_vercmp($a, $op, $b), "dpkg --compare-versions -- $a $op $b => false");
 	}
     }
 }
@@ -163,3 +163,4 @@ foo2.1 foo2.10 -1
 1:3.8.1-1 3.8.GA-1 1
 1.0.1+gpl-1 1.0.1-2 1
 1a 1000a -1
+-0.6.5 0.9.1 -1