Convert specs to RSpec 2.99.2 syntax with Transpec
[puppet_vcsrepo.git] / spec / spec_helper_acceptance.rb
1 require 'beaker-rspec'
2
3 unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no'
4   # This will install the latest available package on el and deb based
5   # systems fail on windows and osx, and install via gem on other *nixes
6   foss_opts = { :default_action => 'gem_install' }
7
8   if default.is_pe?; then install_pe; else install_puppet( foss_opts ); end
9
10   hosts.each do |host|
11     unless host.is_pe?
12       on hosts, "mkdir -p #{hosts.first['distmoduledir']}"
13     end
14
15     # We ask the host to interpolate it's distmoduledir because we don't
16     # actually know it on Windows until we've let it redirect us (depending
17     # on whether we're running as a 32/64 bit process on 32/64 bit Windows
18     moduledir = on(host, "echo #{host['distmoduledir']}").stdout.chomp
19     on host, "mkdir -p #{moduledir}"
20   end
21 end
22
23 RSpec.configure do |c|
24   # Project root
25   proj_root = File.expand_path(File.join(File.dirname(__FILE__), '..'))
26
27   # Readable test descriptions
28   c.formatter = :documentation
29
30   # Configure all nodes in nodeset
31   c.before :suite do
32
33     # ensure test dependencies are available on all hosts
34     hosts.each do |host|
35       copy_module_to(host, :source => proj_root, :module_name => 'vcsrepo')
36       case fact_on(host, 'osfamily')
37       when 'RedHat'
38         install_package(host, 'git')
39       when 'Debian'
40         install_package(host, 'git-core')
41       else
42         if !check_for_package(host, 'git')
43           puts "Git package is required for this module"
44           exit
45         end
46       end
47       on host, 'git config --global user.email "root@localhost"'
48       on host, 'git config --global user.name "root"'
49     end
50   end
51 end