Merge pull request #531 from justinstoller/maint/master/set-puppet-version
[puppet-modules/puppetlabs-apt.git] / spec / spec_helper_acceptance.rb
index 37afbfc1b750cd35c3eff86884f9c2d09e8eb005..f1e1161546a3d8323f711cc049dba13e773b6011 100644 (file)
@@ -2,17 +2,21 @@ require 'beaker-rspec'
 
 # Install Puppet
 unless ENV['RS_PROVISION'] == 'no'
+  # This will install the latest available package on el and deb based
+  # systems fail on windows and osx, and install via gem on other *nixes
+  foss_opts = {
+    :default_action => 'gem_install',
+    :version        => (ENV['PUPPET_VERSION'] || '3.8.1'),
+  }
+
+  if default.is_pe?; then install_pe; else install_puppet( foss_opts ); end
+
   hosts.each do |host|
-    if host.is_pe?
-      install_pe
-    else
-      install_puppet
-      on host, "mkdir -p #{host['distmoduledir']}"
-    end
+    on host, "mkdir -p #{host['distmoduledir']}"
   end
 end
 
-UNSUPPORTED_PLATFORMS = ['windows','aix','solaris',/el-(4|5|6)/]
+UNSUPPORTED_PLATFORMS = ['RedHat','Suse','windows','AIX','Solaris']
 
 RSpec.configure do |c|
   # Project root
@@ -24,10 +28,10 @@ RSpec.configure do |c|
   # Configure all nodes in nodeset
   c.before :suite do
     # Install module and dependencies
-    puppet_module_install(:source => proj_root, :module_name => 'apt')
     hosts.each do |host|
-      shell('/bin/touch /etc/puppet/hiera.yaml')
-      shell('puppet module install puppetlabs-stdlib --version 2.2.1', { :acceptable_exit_codes => [0,1] })
+      copy_module_to(host, :source => proj_root, :module_name => 'apt')
+      shell("/bin/touch #{default['puppetpath']}/hiera.yaml")
+      on host, puppet('module install puppetlabs-stdlib --version 4.5.0'), { :acceptable_exit_codes => [0,1] }
     end
   end
 end