diff options
-rw-r--r-- | lib/puppet/util/package.rb | 3 | ||||
-rwxr-xr-x | test/util/package.rb | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | test/util/pidlock.rb | 0 |
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 |