summaryrefslogtreecommitdiff
path: root/spec/spec_helper_acceptance.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/spec_helper_acceptance.rb')
-rw-r--r--spec/spec_helper_acceptance.rb28
1 files changed, 21 insertions, 7 deletions
diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb
index d37c169..9ef826a 100644
--- a/spec/spec_helper_acceptance.rb
+++ b/spec/spec_helper_acceptance.rb
@@ -1,12 +1,14 @@
require 'beaker-rspec'
unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_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' }
+
+ if default.is_pe?; then install_pe; else install_puppet( foss_opts ); end
+
hosts.each do |host|
- # Install Puppet
- if host.is_pe?
- install_pe
- else
- install_puppet
+ unless host.is_pe?
on hosts, "mkdir -p #{hosts.first['distmoduledir']}"
end
@@ -18,6 +20,7 @@ unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no'
end
end
+
RSpec.configure do |c|
# Project root
proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
@@ -27,16 +30,27 @@ RSpec.configure do |c|
# Configure all nodes in nodeset
c.before :suite do
- # Install module and dependencies on all hosts
- puppet_module_install(:source => proj_root, :module_name => 'vcsrepo')
# ensure test dependencies are available on all hosts
hosts.each do |host|
+ copy_module_to(host, :source => proj_root, :module_name => 'vcsrepo')
case fact_on(host, 'osfamily')
when 'RedHat'
+ if fact_on(host, 'operatingsystemmajrelease') == '5'
+ will_install_git = on(host, 'which git', :acceptable_exit_codes => [0,1]).exit_code == 1
+
+ if will_install_git
+ on host, puppet('module install stahnma-epel')
+ apply_manifest_on( host, 'include epel' )
+ end
+
+ end
+
install_package(host, 'git')
+
when 'Debian'
install_package(host, 'git-core')
+
else
if !check_for_package(host, 'git')
puts "Git package is required for this module"