Fix issue with puppet_module_install, removed and using updated method from beaker...
[puppet_vcsrepo.git] / spec / spec_helper_acceptance.rb
index 1294710..06f8271 100644 (file)
@@ -1,14 +1,20 @@
 require 'beaker-rspec'
 
-unless ENV['RS_PROVISION'] == 'no'
+unless ENV['RS_PROVISION'] == 'no' or ENV['BEAKER_provision'] == 'no'
   hosts.each do |host|
     # Install Puppet
     if host.is_pe?
       install_pe
     else
       install_puppet
-      on hosts, "mkdir -p #{host['distmoduledir']}"
+      on hosts, "mkdir -p #{hosts.first['distmoduledir']}"
     end
+
+    # We ask the host to interpolate it's distmoduledir because we don't
+    # actually know it on Windows until we've let it redirect us (depending
+    # on whether we're running as a 32/64 bit process on 32/64 bit Windows
+    moduledir = on(host, "echo #{host['distmoduledir']}").stdout.chomp
+    on host, "mkdir -p #{moduledir}"
   end
 end
 
@@ -21,10 +27,11 @@ 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 => 'vcsrepo')
+
+    # ensure test dependencies are available on all hosts
     hosts.each do |host|
-      case fact('osfamily')
+      copy_module_to(host, :source => proj_root, :module_name => 'vcsrepo')
+      case fact_on(host, 'osfamily')
       when 'RedHat'
         install_package(host, 'git')
       when 'Debian'
@@ -35,8 +42,8 @@ RSpec.configure do |c|
           exit
         end
       end
-      shell('git config --global user.email "root@localhost"')
-      shell('git config --global user.name "root"')
+      on host, 'git config --global user.email "root@localhost"'
+      on host, 'git config --global user.name "root"'
     end
   end
 end