diff options
-rw-r--r-- | Gemfile | 1 | ||||
-rw-r--r-- | lib/puppet/parser/functions/pw_hash.rb | 10 | ||||
-rw-r--r-- | lib/puppet/parser/functions/range.rb | 36 | ||||
-rw-r--r-- | lib/puppet/parser/functions/validate_augeas.rb | 2 | ||||
-rwxr-xr-x | spec/functions/basename_spec.rb (renamed from spec/unit/puppet/parser/functions/basename_spec.rb) | 0 | ||||
-rwxr-xr-x | spec/functions/bool2str_spec.rb (renamed from spec/unit/puppet/parser/functions/bool2str_spec.rb) | 0 | ||||
-rwxr-xr-x | spec/functions/camelcase_spec.rb (renamed from spec/unit/puppet/parser/functions/camelcase_spec.rb) | 0 | ||||
-rw-r--r-- | spec/functions/type_of_spec.rb (renamed from spec/unit/puppet/functions/type_of_spec.rb) | 0 | ||||
-rwxr-xr-x | spec/functions/validate_integer_spec.rb | 6 | ||||
-rwxr-xr-x | spec/functions/validate_ipv4_address_spec.rb | 4 | ||||
-rwxr-xr-x | spec/functions/validate_ipv6_address_spec.rb | 4 | ||||
-rwxr-xr-x | spec/functions/validate_numeric_spec.rb | 6 | ||||
-rwxr-xr-x | spec/lib/puppet_spec/compiler.rb | 1 | ||||
-rwxr-xr-x | spec/spec_helper.rb | 7 | ||||
-rwxr-xr-x | spec/spec_helper_acceptance.rb | 2 |
15 files changed, 25 insertions, 54 deletions
@@ -14,6 +14,7 @@ group :development, :unit_tests do gem 'rake', '~> 10.1.0', :require => false gem 'rspec', '~> 3.1.0', :require => false gem 'rspec-puppet', :require => false + gem 'mocha', :require => false gem 'puppetlabs_spec_helper', :require => false gem 'puppet-lint', :require => false gem 'pry', :require => false diff --git a/lib/puppet/parser/functions/pw_hash.rb b/lib/puppet/parser/functions/pw_hash.rb index ad3e393..4682a63 100644 --- a/lib/puppet/parser/functions/pw_hash.rb +++ b/lib/puppet/parser/functions/pw_hash.rb @@ -42,15 +42,13 @@ Puppet::Parser::Functions::newfunction( if 'test'.crypt('$1$1') != '$1$1$Bp8CU9Oujr9SSEw53WV6G.' # JRuby < 1.7.17 if RUBY_PLATFORM == 'java' - # override String#crypt for password variable - def password.crypt(salt) - # puppetserver bundles Apache Commons Codec - org.apache.commons.codec.digest.Crypt.crypt(self.to_java_bytes, salt) - end + # puppetserver bundles Apache Commons Codec + org.apache.commons.codec.digest.Crypt.crypt(password.to_java_bytes, salt) else # MS Windows and other systems that don't support enhanced salts raise Puppet::ParseError, 'system does not support enhanced salts' end + else + password.crypt("$#{hash_type}$#{args[2]}") end - password.crypt("$#{hash_type}$#{args[2]}") end diff --git a/lib/puppet/parser/functions/range.rb b/lib/puppet/parser/functions/range.rb index 49fba21..16d189f 100644 --- a/lib/puppet/parser/functions/range.rb +++ b/lib/puppet/parser/functions/range.rb @@ -41,29 +41,9 @@ Will return: [0,2,4,6,8] raise(Puppet::ParseError, "range(): Wrong number of " + "arguments given (#{arguments.size} for 1)") if arguments.size < 1 - if arguments.size > 1 - start = arguments[0] - stop = arguments[1] - step = arguments[2].nil? ? 1 : arguments[2].to_i.abs - - type = '..' # We select simplest type for Range available in Ruby ... - - elsif arguments.size > 0 - value = arguments[0] - - if m = value.match(/^(\w+)(\.\.\.?|\-)(\w+)$/) - start = m[1] - stop = m[3] - - type = m[2] - - elsif value.match(/^.+$/) - raise(Puppet::ParseError, 'range(): Unable to compute range ' + - 'from the value given') - else - raise(Puppet::ParseError, 'range(): Unknown format of range given') - end - end + start = arguments[0] + stop = arguments[1] + step = arguments[2].nil? ? 1 : arguments[2].to_i.abs # Check whether we have integer value if so then make it so ... if start.to_s.match(/^\d+$/) @@ -74,14 +54,10 @@ Will return: [0,2,4,6,8] stop = stop.to_s end - range = case type - when /^(\.\.|\-)$/ then (start .. stop) - when /^(\.\.\.)$/ then (start ... stop) # Exclusive of last element ... - end - - result = range.step(step).collect { |i| i } # Get them all ... Pokemon ... + # We select simplest type for Range available in Ruby ... + range = (start .. stop) - return result + range.step(step).collect { |i| i } # Get them all ... Pokemon ... end end diff --git a/lib/puppet/parser/functions/validate_augeas.rb b/lib/puppet/parser/functions/validate_augeas.rb index 4ea4fe0..2196c3e 100644 --- a/lib/puppet/parser/functions/validate_augeas.rb +++ b/lib/puppet/parser/functions/validate_augeas.rb @@ -31,7 +31,7 @@ module Puppet::Parser::Functions ENDHEREDOC unless Puppet.features.augeas? - raise Puppet::ParseError, ("validate_augeas(): this function requires the augeas feature. See http://projects.puppetlabs.com/projects/puppet/wiki/Puppet_Augeas#Pre-requisites for how to activate it.") + raise Puppet::ParseError, ("validate_augeas(): this function requires the augeas feature. See http://docs.puppetlabs.com/guides/augeas.html#pre-requisites for how to activate it.") end if (args.length < 2) or (args.length > 4) then diff --git a/spec/unit/puppet/parser/functions/basename_spec.rb b/spec/functions/basename_spec.rb index 8a2d0dc..8a2d0dc 100755 --- a/spec/unit/puppet/parser/functions/basename_spec.rb +++ b/spec/functions/basename_spec.rb diff --git a/spec/unit/puppet/parser/functions/bool2str_spec.rb b/spec/functions/bool2str_spec.rb index b878891..b878891 100755 --- a/spec/unit/puppet/parser/functions/bool2str_spec.rb +++ b/spec/functions/bool2str_spec.rb diff --git a/spec/unit/puppet/parser/functions/camelcase_spec.rb b/spec/functions/camelcase_spec.rb index 70382ad..70382ad 100755 --- a/spec/unit/puppet/parser/functions/camelcase_spec.rb +++ b/spec/functions/camelcase_spec.rb diff --git a/spec/unit/puppet/functions/type_of_spec.rb b/spec/functions/type_of_spec.rb index 8afb624..8afb624 100644 --- a/spec/unit/puppet/functions/type_of_spec.rb +++ b/spec/functions/type_of_spec.rb diff --git a/spec/functions/validate_integer_spec.rb b/spec/functions/validate_integer_spec.rb index dff3415..3865c4f 100755 --- a/spec/functions/validate_integer_spec.rb +++ b/spec/functions/validate_integer_spec.rb @@ -43,7 +43,7 @@ describe Puppet::Parser::Functions.function(:validate_integer) do it "should not compile when #{the_number} is a bare word" do Puppet[:code] = "validate_integer(#{the_number})" - expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /to be an Integer/) + expect { scope.compiler.compile }.to raise_error end end @@ -117,7 +117,7 @@ describe Puppet::Parser::Functions.function(:validate_integer) do it "should not compile when a non-Integer maximum #{the_max} bare word is passed" do Puppet[:code] = "validate_integer(1,#{the_max})" - expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /to be unset or an Integer/) + expect { scope.compiler.compile }.to raise_error end end @@ -212,7 +212,7 @@ describe Puppet::Parser::Functions.function(:validate_integer) do it "should not compile when a non-Integer minimum #{the_min} bare word is passed" do Puppet[:code] = "validate_integer(1,#{max},#{the_min})" - expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /to be unset or an Integer/) + expect { scope.compiler.compile }.to raise_error end end end diff --git a/spec/functions/validate_ipv4_address_spec.rb b/spec/functions/validate_ipv4_address_spec.rb index 45401a4..27ea4fe 100755 --- a/spec/functions/validate_ipv4_address_spec.rb +++ b/spec/functions/validate_ipv4_address_spec.rb @@ -39,9 +39,7 @@ describe Puppet::Parser::Functions.function(:validate_ipv4_address) do describe "when given numbers" do it "should not compile" do Puppet[:code] = "validate_ipv4_address(1, 2)" - expect { - scope.compiler.compile - }.to raise_error(Puppet::ParseError, /is not a valid IPv4 address/) + expect { scope.compiler.compile }.to raise_error end end diff --git a/spec/functions/validate_ipv6_address_spec.rb b/spec/functions/validate_ipv6_address_spec.rb index a839d90..e87b372 100755 --- a/spec/functions/validate_ipv6_address_spec.rb +++ b/spec/functions/validate_ipv6_address_spec.rb @@ -41,9 +41,7 @@ describe Puppet::Parser::Functions.function(:validate_ipv6_address) do describe "when given numbers" do it "should not compile" do Puppet[:code] = "validate_ipv6_address(1, 2)" - expect { - scope.compiler.compile - }.to raise_error(Puppet::ParseError, /not a valid IPv6 address/) + expect { scope.compiler.compile }.to raise_error end end end diff --git a/spec/functions/validate_numeric_spec.rb b/spec/functions/validate_numeric_spec.rb index c8b0e4d..1623a3d 100755 --- a/spec/functions/validate_numeric_spec.rb +++ b/spec/functions/validate_numeric_spec.rb @@ -43,7 +43,7 @@ describe Puppet::Parser::Functions.function(:validate_numeric) do it "should not compile when #{the_number} is a bare word" do Puppet[:code] = "validate_numeric(#{the_number})" - expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /to be a Numeric/) + expect { scope.compiler.compile }.to raise_error end end @@ -115,7 +115,7 @@ describe Puppet::Parser::Functions.function(:validate_numeric) do it "should not compile when a non-Numeric maximum #{the_max} bare word is passed" do Puppet[:code] = "validate_numeric(1,#{the_max})" - expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /to be unset or a Numeric/) + expect { scope.compiler.compile }.to raise_error end end @@ -210,7 +210,7 @@ describe Puppet::Parser::Functions.function(:validate_numeric) do it "should not compile when a non-Numeric minimum #{the_min} bare word is passed" do Puppet[:code] = "validate_numeric(1,#{max},#{the_min})" - expect { scope.compiler.compile }.to raise_error(Puppet::ParseError, /to be unset or a Numeric/) + expect { scope.compiler.compile }.to raise_error end end end diff --git a/spec/lib/puppet_spec/compiler.rb b/spec/lib/puppet_spec/compiler.rb index 2f0ae4d..1f322ca 100755 --- a/spec/lib/puppet_spec/compiler.rb +++ b/spec/lib/puppet_spec/compiler.rb @@ -2,6 +2,7 @@ module PuppetSpec::Compiler def compile_to_catalog(string, node = Puppet::Node.new('foonode')) Puppet[:code] = string + Puppet[:parser] = 'future' if ENV['FUTURE_PARSER'] == 'yes' Puppet::Parser::Compiler.compile(node) end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index b490ca3..896cb83 100755 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -17,9 +17,7 @@ require 'puppet_spec/fixtures' require 'puppet_spec/matchers' require 'puppet_spec/database' require 'monkey_patches/alias_should_to_must' -require 'mocha/setup' - - +require 'mocha/api' RSpec.configure do |config| config.before :each do @@ -27,8 +25,9 @@ RSpec.configure do |config| # test cases. This requires each example group to explicitly load the # facts being exercised with something like # Facter.collection.loader.load(:ipaddress) - Facter::Util::Loader.any_instance.stubs(:load_all) Facter.clear Facter.clear_messages + + Puppet[:parser] = 'future' if ENV['FUTURE_PARSER'] == 'yes' end end diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index 3203ce9..79b1390 100755 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -33,7 +33,7 @@ RSpec.configure do |c| # Configure all nodes in nodeset c.before :suite do - if ENV['FUTURE_PARSER'] == 'true' + if ENV['FUTURE_PARSER'] == 'yes' default[:default_apply_opts] ||= {} default[:default_apply_opts].merge!({:parser => 'future'}) end |