summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/util/package.rb3
-rwxr-xr-xtest/util/package.rb2
-rwxr-xr-x[-rw-r--r--]test/util/pidlock.rb0
3 files changed, 4 insertions, 1 deletions
diff --git a/lib/puppet/util/package.rb b/lib/puppet/util/package.rb
index 00e04f64a..da07bdae4 100644
--- a/lib/puppet/util/package.rb
+++ b/lib/puppet/util/package.rb
@@ -2,6 +2,9 @@ require 'puppet'
module Puppet::Util::Package
def versioncmp(version_a, version_b)
+ # Invert the sort order, so higher versions always end up first.
+ version_a, version_b = version_b, version_a
+
vre = /[-.]|\d+|[^-.\d]+/
ax = version_a.scan(vre)
bx = version_b.scan(vre)
diff --git a/test/util/package.rb b/test/util/package.rb
index 73b069f84..22bc4c4e4 100755
--- a/test/util/package.rb
+++ b/test/util/package.rb
@@ -20,7 +20,7 @@ class TestPuppetUtilPackage < Test::Unit::TestCase
versioncmp(a,b)
}
end
- assert_equal(["0002", "1", "1.06", "1.1-3", "1.1-4", "1.1-5", "1.1.6", "1.1.a", "1.1a", "1.2", "1.5", "2.3", "2.3.0", "2.3.1", "2.3a.1", "2.4", "2.4", "2.4b", "2.40.2", "3.0", "3.1"], newary)
+ assert_equal(["3.1", "3.0", "2.40.2", "2.4b", "2.4", "2.4", "2.3a.1", "2.3.1", "2.3.0", "2.3", "1.5", "1.2", "1.1a", "1.1.a", "1.1.6", "1.1-5", "1.1-4", "1.1-3", "1.06", "1", "0002"], newary, "versions did not sort correctly")
end
end
diff --git a/test/util/pidlock.rb b/test/util/pidlock.rb
index 671668d01..671668d01 100644..100755
--- a/test/util/pidlock.rb
+++ b/test/util/pidlock.rb