Merge pull request #145 from hunner/fix_beaker_tests
authorJohn Duarte <john.duarte@puppetlabs.com>
Thu, 22 May 2014 01:17:31 +0000 (18:17 -0700)
committerJohn Duarte <john.duarte@puppetlabs.com>
Thu, 22 May 2014 01:17:31 +0000 (18:17 -0700)
Update specs and fix FM-1361

85 files changed:
Gemfile
lib/puppet/provider/vcsrepo/git.rb
spec/acceptance/beaker/git/basic_auth/basic_auth_checkout_http.rb
spec/acceptance/beaker/git/basic_auth/basic_auth_checkout_https.rb
spec/acceptance/beaker/git/basic_auth/negative/basic_auth_checkout_git.rb
spec/acceptance/beaker/git/branch_checkout/branch_checkout_file.rb
spec/acceptance/beaker/git/branch_checkout/branch_checkout_file_path.rb
spec/acceptance/beaker/git/branch_checkout/branch_checkout_git.rb
spec/acceptance/beaker/git/branch_checkout/branch_checkout_http.rb
spec/acceptance/beaker/git/branch_checkout/branch_checkout_https.rb
spec/acceptance/beaker/git/branch_checkout/branch_checkout_scp.rb
spec/acceptance/beaker/git/branch_checkout/branch_checkout_ssh.rb
spec/acceptance/beaker/git/branch_checkout/negative/branch_checkout_not_exists.rb
spec/acceptance/beaker/git/clone/clone_file.rb
spec/acceptance/beaker/git/clone/clone_file_path.rb
spec/acceptance/beaker/git/clone/clone_git.rb
spec/acceptance/beaker/git/clone/clone_http.rb
spec/acceptance/beaker/git/clone/clone_https.rb
spec/acceptance/beaker/git/clone/clone_over_different_exiting_repo_with_force.rb
spec/acceptance/beaker/git/clone/clone_repo_with_excludes_in_repo.rb
spec/acceptance/beaker/git/clone/clone_repo_with_excludes_not_in_repo.rb
spec/acceptance/beaker/git/clone/clone_scp.rb
spec/acceptance/beaker/git/clone/clone_ssh.rb
spec/acceptance/beaker/git/clone/negative/clone_over_different_exiting_repo.rb
spec/acceptance/beaker/git/clone/negative/clone_repo_with_exec_excludes.rb
spec/acceptance/beaker/git/compression/compression_0_checkout.rb
spec/acceptance/beaker/git/compression/compression_1_checkout.rb
spec/acceptance/beaker/git/compression/compression_2_checkout.rb
spec/acceptance/beaker/git/compression/compression_3_checkout.rb
spec/acceptance/beaker/git/compression/compression_4_checkout.rb
spec/acceptance/beaker/git/compression/compression_5_checkout.rb
spec/acceptance/beaker/git/compression/compression_6_checkout.rb
spec/acceptance/beaker/git/compression/negative/compression_7_checkout.rb
spec/acceptance/beaker/git/compression/negative/compression_alpha_checkout.rb
spec/acceptance/beaker/git/compression/negative/compression_eval_checkout.rb
spec/acceptance/beaker/git/compression/negative/compression_exec_checkout.rb
spec/acceptance/beaker/git/compression/negative/compression_negative_checkout.rb
spec/acceptance/beaker/git/create/create_bare_repo_that_already_exists.rb
spec/acceptance/beaker/git/create/create_repo_that_already_exists.rb
spec/acceptance/beaker/git/create/negative/create_bare_repo_specifying_revision.rb
spec/acceptance/beaker/git/group_checkout/group_checkout_file.rb
spec/acceptance/beaker/git/group_checkout/group_checkout_file_path.rb
spec/acceptance/beaker/git/group_checkout/group_checkout_git.rb
spec/acceptance/beaker/git/group_checkout/group_checkout_http.rb
spec/acceptance/beaker/git/group_checkout/group_checkout_https.rb
spec/acceptance/beaker/git/group_checkout/group_checkout_scp.rb
spec/acceptance/beaker/git/group_checkout/group_checkout_ssh.rb
spec/acceptance/beaker/git/group_checkout/negative/group_checkout_file_non_existent_group.rb
spec/acceptance/beaker/git/revision_checkout/negative/revision_checkout_not_exists.rb
spec/acceptance/beaker/git/revision_checkout/revision_checkout_file.rb
spec/acceptance/beaker/git/revision_checkout/revision_checkout_file_path.rb
spec/acceptance/beaker/git/revision_checkout/revision_checkout_git.rb
spec/acceptance/beaker/git/revision_checkout/revision_checkout_http.rb
spec/acceptance/beaker/git/revision_checkout/revision_checkout_https.rb
spec/acceptance/beaker/git/revision_checkout/revision_checkout_scp.rb
spec/acceptance/beaker/git/revision_checkout/revision_checkout_ssh.rb
spec/acceptance/beaker/git/shallow_clone/negative/shallow_clone_exec_depth.rb
spec/acceptance/beaker/git/shallow_clone/negative/shallow_clone_file_path.rb
spec/acceptance/beaker/git/shallow_clone/negative/shallow_clone_http.rb
spec/acceptance/beaker/git/shallow_clone/negative/shallow_clone_negative_depth.rb
spec/acceptance/beaker/git/shallow_clone/negative/shallow_clone_overflow_depth.rb
spec/acceptance/beaker/git/shallow_clone/shallow_clone_file.rb
spec/acceptance/beaker/git/shallow_clone/shallow_clone_git.rb
spec/acceptance/beaker/git/shallow_clone/shallow_clone_https.rb
spec/acceptance/beaker/git/shallow_clone/shallow_clone_scp.rb
spec/acceptance/beaker/git/shallow_clone/shallow_clone_ssh.rb
spec/acceptance/beaker/git/shallow_clone/shallow_clone_zero_depth.rb
spec/acceptance/beaker/git/tag_checkout/negative/tag_checkout_not_exists.rb
spec/acceptance/beaker/git/tag_checkout/tag_checkout_file.rb
spec/acceptance/beaker/git/tag_checkout/tag_checkout_file_path.rb
spec/acceptance/beaker/git/tag_checkout/tag_checkout_git.rb
spec/acceptance/beaker/git/tag_checkout/tag_checkout_http.rb
spec/acceptance/beaker/git/tag_checkout/tag_checkout_https.rb
spec/acceptance/beaker/git/tag_checkout/tag_checkout_scp.rb
spec/acceptance/beaker/git/tag_checkout/tag_checkout_ssh.rb
spec/acceptance/beaker/git/user_checkout/negative/user_checkout_file_non_existent_user.rb
spec/acceptance/beaker/git/user_checkout/user_checkout_file.rb
spec/acceptance/beaker/git/user_checkout/user_checkout_file_path.rb
spec/acceptance/beaker/git/user_checkout/user_checkout_git.rb
spec/acceptance/beaker/git/user_checkout/user_checkout_http.rb
spec/acceptance/beaker/git/user_checkout/user_checkout_https.rb
spec/acceptance/beaker/git/user_checkout/user_checkout_scp.rb
spec/acceptance/beaker/git/user_checkout/user_checkout_ssh.rb
spec/acceptance/beaker_helper.rb [new file with mode: 0644]
spec/unit/puppet/provider/vcsrepo/git_spec.rb

diff --git a/Gemfile b/Gemfile
index ad7f34e..2fcc822 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -4,9 +4,6 @@ group :development, :test do
   gem 'rake',                    :require => false
   gem 'rspec-puppet',            :require => false
   gem 'puppetlabs_spec_helper',  :require => false
-  gem 'rspec-system',            :require => false
-  gem 'rspec-system-puppet',     :require => false
-  gem 'rspec-system-serverspec', :require => false
   gem 'serverspec',              :require => false
   gem 'puppet-lint',             :require => false
   gem 'pry',                     :require => false
index 1bccfb6..5c878ed 100644 (file)
@@ -10,16 +10,15 @@ Puppet::Type.type(:vcsrepo).provide(:git, :parent => Puppet::Provider::Vcsrepo)
   has_features :bare_repositories, :reference_tracking, :ssh_identity, :multiple_remotes, :user, :depth
 
   def create
+    if @resource.value(:revision) and @resource.value(:ensure) == :bare
+      fail("Cannot set a revision (#{@resource.value(:revision)}) on a bare repository")
+    end
     if !@resource.value(:source)
       init_repository(@resource.value(:path))
     else
       clone_repository(@resource.value(:source), @resource.value(:path))
       if @resource.value(:revision)
-        if @resource.value(:ensure) == :bare
-          notice "Ignoring revision for bare repository"
-        else
-          checkout
-        end
+        checkout
       end
       if @resource.value(:ensure) != :bare
         update_submodules
index 192c4f3..18c7534 100644 (file)
@@ -38,7 +38,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} #{tmpdir}/#{http_server_script}' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
+    on(host, "ps ax | grep '#{ruby} #{tmpdir}/#{http_server_script}' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
   end
 
   step 'checkout with puppet using basic auth' do
@@ -52,8 +52,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout" do
index 32e3ef4..ac1359e 100644 (file)
@@ -46,7 +46,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} #{tmpdir}/#{http_server_script}' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
+    on(host, "ps ax | grep '#{ruby} #{tmpdir}/#{http_server_script}' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
   end
 
   step 'checkout with puppet using basic auth' do
@@ -60,8 +60,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout" do
index 60a4fc2..67544bf 100644 (file)
@@ -22,7 +22,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, 'pkill -9 git-daemon')
+    on(host, 'pkill -9 git-daemon ; sleep 1')
   end
 
   step 'checkout with puppet using basic auth' do
@@ -36,8 +36,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout (silent error for basic auth using git protocol)" do
index 6ed945b..1fbdd1a 100644 (file)
@@ -27,8 +27,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the #{branch} branch" do
index 441a2bc..efbedc7 100644 (file)
@@ -27,8 +27,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the #{branch} branch" do
index baeb5ec..8afa813 100644 (file)
@@ -19,7 +19,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, 'pkill -9 git-daemon')
+    on(host, 'pkill -9 git-daemon ; sleep 1')
   end
 
   step 'checkout a branch with puppet' do
@@ -32,8 +32,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the #{branch} branch" do
index 6da34e8..a8d622d 100644 (file)
@@ -27,7 +27,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
+    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
   end
 
   step 'checkout a branch with puppet' do
@@ -40,8 +40,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the #{branch} branch" do
index 6ebd9fd..f6baf19 100644 (file)
@@ -34,7 +34,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
+    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
   end
 
   step 'checkout a branch with puppet' do
@@ -47,8 +47,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the #{branch} branch" do
index 0a4e07a..e55f805 100644 (file)
@@ -14,17 +14,18 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
   end
 
   step 'checkout a branch with puppet' do
@@ -37,8 +38,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the #{branch} branch" do
index ea9fb4a..6063bb9 100644 (file)
@@ -14,17 +14,18 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
   end
 
   step 'checkout a branch with puppet' do
@@ -37,8 +38,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the #{branch} branch" do
index f8c85d0..e44ea7e 100644 (file)
@@ -26,8 +26,7 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :expect_failures => true)
   end
 
   step 'verify that master branch is checked out' do
index dc3a503..a9ca366 100644 (file)
@@ -25,8 +25,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the master branch" do
index b76e9b9..616030c 100644 (file)
@@ -25,8 +25,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the master branch" do
index 01d2ce9..8a810af 100644 (file)
@@ -18,7 +18,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, 'pkill -9 git-daemon')
+    on(host, 'pkill -9 git-daemon ; sleep 1')
   end
 
   step 'clone with puppet' do
@@ -30,8 +30,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the master branch" do
index 664ab10..5ba7915 100644 (file)
@@ -26,7 +26,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
+    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
   end
 
   step 'clone with puppet' do
@@ -38,8 +38,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the master branch" do
index 4e41c99..0d3d1f6 100644 (file)
@@ -33,7 +33,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
+    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
   end
 
   step 'clone with puppet' do
@@ -45,8 +45,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the master branch" do
index 626d807..a88709f 100644 (file)
@@ -32,7 +32,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify new repo has replaced old one' do
index 0a5a1a8..89844c3 100644 (file)
@@ -28,8 +28,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify exludes are known to git' do
index c533aa5..10c0e8e 100644 (file)
@@ -28,8 +28,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify exludes are known to git' do
index ba8d519..709079d 100644 (file)
@@ -13,17 +13,18 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
   end
 
   step 'clone with puppet' do
@@ -35,8 +36,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the master branch" do
index fcc85e3..7f4a9a4 100644 (file)
@@ -13,17 +13,18 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
   end
 
   step 'clone with puppet' do
@@ -35,8 +36,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is on the master branch" do
index 67fea06..8adb1af 100644 (file)
@@ -31,7 +31,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify original repo was not replaced' do
index b994a6a..2264015 100644 (file)
@@ -28,8 +28,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify excludes are known to git' do
index ee5a171..f17d497 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index 01478a1..ee910fd 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index b3413ea..aeec31a 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index b8459a5..fe1ee0a 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index f6fb5ec..071cc5e 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index a09507c..1ea0737 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index 0a2d5d5..a8376d7 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index a6be973..c5f49e6 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index 8acdb57..74fd112 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index 5597646..ba56621 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index c85818d..abab7f1 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index b89f6f6..2485424 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify git repo was checked out' do
index 663c758..b72963b 100644 (file)
@@ -23,7 +23,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify repo does not contain .git directory' do
index b1cdeae..f31dda0 100644 (file)
@@ -25,7 +25,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify repo is on master branch' do
index 6cd4f72..ece10a5 100644 (file)
@@ -22,12 +22,12 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :expect_failures => true)
   end
 
   step 'verify repo does not contain .git directory' do
-    on(host, "ls -al #{tmpdir}/#{repo_name}") do |res|
-      fail_test "found .git for #{repo_name}" if res.stdout.include? ".git"
+    on(host, "ls -al #{tmpdir}") do |res|
+      fail_test "found repo for #{repo_name}" if res.stdout.include? repo_name
     end
   end
 
index 6913bd5..be5ae92 100644 (file)
@@ -14,12 +14,12 @@ hosts.each do |host|
   end
 
   step 'setup - create group' do
-    apply_manifest_on(host, "group { '#{group}': ensure => present, }")
+    apply_manifest_on(host, "group { '#{group}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    apply_manifest_on(host, "group { '#{group}': ensure => absent, }")
+    apply_manifest_on(host, "group { '#{group}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout as a group with puppet' do
@@ -32,8 +32,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is own by group #{group}" do
index 6701dda..c204792 100644 (file)
@@ -14,12 +14,12 @@ hosts.each do |host|
   end
 
   step 'setup - create group' do
-    apply_manifest_on(host, "group { '#{group}': ensure => present, }")
+    apply_manifest_on(host, "group { '#{group}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    apply_manifest_on(host, "group { '#{group}': ensure => absent, }")
+    apply_manifest_on(host, "group { '#{group}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout a group with puppet' do
@@ -32,8 +32,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is own by group #{group}" do
index 31ef286..6147549 100644 (file)
@@ -18,13 +18,13 @@ hosts.each do |host|
   end
 
   step 'setup - create group' do
-    apply_manifest_on(host, "group { '#{group}': ensure => present, }")
+    apply_manifest_on(host, "group { '#{group}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, 'pkill -9 git-daemon')
-    apply_manifest_on(host, "group { '#{group}': ensure => absent, }")
+    on(host, 'pkill -9 git-daemon ; sleep 1')
+    apply_manifest_on(host, "group { '#{group}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout a group with puppet' do
@@ -37,8 +37,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is own by group #{group}" do
index 0c86c77..43c3f2e 100644 (file)
@@ -26,13 +26,13 @@ hosts.each do |host|
   end
 
   step 'setup - create group' do
-    apply_manifest_on(host, "group { '#{group}': ensure => present, }")
+    apply_manifest_on(host, "group { '#{group}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
-    apply_manifest_on(host, "group { '#{group}': ensure => absent, }")
+    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
+    apply_manifest_on(host, "group { '#{group}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout a group with puppet' do
@@ -45,8 +45,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is own by group #{group}" do
index 0bcbd97..6825df3 100644 (file)
@@ -33,13 +33,13 @@ hosts.each do |host|
   end
 
   step 'setup - create group' do
-    apply_manifest_on(host, "group { '#{group}': ensure => present, }")
+    apply_manifest_on(host, "group { '#{group}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
-    apply_manifest_on(host, "group { '#{group}': ensure => absent, }")
+    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
+    apply_manifest_on(host, "group { '#{group}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout as a group with puppet' do
@@ -52,8 +52,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is own by group #{group}" do
index d8f5bb5..0bcf143 100644 (file)
@@ -14,22 +14,23 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   step 'setup - create group' do
-    apply_manifest_on(host, "group { '#{group}': ensure => present, }")
+    apply_manifest_on(host, "group { '#{group}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
-    apply_manifest_on(host, "group { '#{group}': ensure => absent, }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "group { '#{group}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout as a group with puppet (scp syntax)' do
@@ -42,8 +43,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is own by group #{group}" do
index 1255864..87bad69 100644 (file)
@@ -14,22 +14,23 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   step 'setup - create group' do
-    apply_manifest_on(host, "group { '#{group}': ensure => present, }")
+    apply_manifest_on(host, "group { '#{group}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
-    apply_manifest_on(host, "group { '#{group}': ensure => absent, }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "group { '#{group}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout as a group with puppet' do
@@ -42,8 +43,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is own by group #{group}" do
index 5bce264..5388f7f 100644 (file)
@@ -14,7 +14,7 @@ hosts.each do |host|
   end
 
   step 'setup - delete group' do
-    apply_manifest_on(host, "group { '#{group}': ensure => absent, }")
+    apply_manifest_on(host, "group { '#{group}': ensure => absent, }", :catch_failures => true)
   end
 
   teardown do
@@ -31,8 +31,7 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :expect_failures => true)
   end
 
   step "verify git checkout is NOT owned by group #{group}" do
index d1ee531..7f0f1b2 100644 (file)
@@ -26,8 +26,7 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :expect_failures => true)
   end
 
   step 'verify that master revision is checked out' do
index 8ca10bd..be84f0e 100644 (file)
@@ -32,8 +32,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify repo is checked out to revision #{@sha}" do
index 2410e2e..93db164 100644 (file)
@@ -32,8 +32,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify repo is checked out to revision #{@sha}" do
index 3fa6cbd..52349d7 100644 (file)
@@ -18,7 +18,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, 'pkill -9 git-daemon')
+    on(host, 'pkill -9 git-daemon ; sleep 1')
   end
 
   step 'get revision sha from repo' do
@@ -37,8 +37,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is set to revision #{@sha}" do
index 9755d8e..8101794 100644 (file)
@@ -26,7 +26,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
+    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
   end
 
   step 'get revision sha from repo' do
@@ -45,8 +45,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is set to revision #{@sha}" do
index 16b5145..adab3a8 100644 (file)
@@ -33,7 +33,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
+    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
   end
 
   step 'get revision sha from repo' do
@@ -53,8 +53,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is set to revision #{@sha}" do
index c920fb4..fb6a20a 100644 (file)
@@ -13,17 +13,18 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
   end
 
   step 'get revision sha from repo' do
@@ -42,8 +43,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is set to revision #{@sha}" do
index 24b507e..9325a0b 100644 (file)
@@ -13,17 +13,18 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
   end
 
   step 'get revision sha from repo' do
@@ -42,8 +43,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout is set to revision #{@sha}" do
index caef5a6..d82e3c6 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify checkout is NOT shallow' do
index c336842..961d0fe 100644 (file)
@@ -27,8 +27,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'git does not support shallow clone via file path: verify checkout is NOT created' do
index ecd51ad..956d7de 100644 (file)
@@ -26,7 +26,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, 'ps ax | grep "#{ruby} /tmp/http_daemon.rb" | grep -v grep | awk \'{print "kill -9 " $1}\' | sh')
+    on(host, 'ps ax | grep "#{ruby} /tmp/http_daemon.rb" | grep -v grep | awk \'{print "kill -9 " $1}\' | sh ; sleep 1')
   end
 
   step 'shallow clone repo with puppet' do
@@ -39,8 +39,7 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :expect_failures => true)
   end
 
   step 'git does not support shallow clone via HTTP: verify checkout is NOT created' do
index 2ba1f0f..c80faa0 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify checkout is NOT shallow' do
index 55ff878..fdf4977 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify checkout is NOT shallow' do
index 52eb3d2..f54f1ab 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify checkout is shallow and of the correct depth' do
index d7c81fb..ab3bd07 100644 (file)
@@ -18,7 +18,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, 'pkill -9 git-daemon')
+    on(host, 'pkill -9 git-daemon ; sleep 1')
   end
 
   step 'shallow clone repo with puppet' do
@@ -31,8 +31,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify checkout is shallow and of the correct depth' do
index 9220e27..93a328c 100644 (file)
@@ -34,7 +34,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, 'ps ax | grep "#{ruby} /tmp/https_daemon.rb" | grep -v grep | awk \'{print "kill -9 " $1}\' | sh')
+    on(host, 'ps ax | grep "#{ruby} /tmp/https_daemon.rb" | grep -v grep | awk \'{print "kill -9 " $1}\' | sh ; sleep 1')
   end
 
   step 'shallow clone repo with puppet' do
@@ -47,8 +47,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify checkout is shallow and of the correct depth' do
index 6837802..ddef4e7 100644 (file)
@@ -13,17 +13,18 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
   end
 
   step 'shallow clone repo with puppet (scp syntax)' do
@@ -36,8 +37,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify checkout is shallow and of the correct depth' do
index fda9bf4..da5528c 100644 (file)
@@ -13,17 +13,18 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
   end
 
   step 'shallow clone repo with puppet' do
@@ -36,8 +37,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify checkout is shallow and of the correct depth' do
index 6cec2a1..eb8b121 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify checkout is NOT shallow' do
index 5869513..04dd014 100644 (file)
@@ -26,8 +26,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step 'verify that master tag is checked out' do
index 4ab8a6a..8929b0b 100644 (file)
@@ -27,8 +27,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout out tag is #{tag}" do
index f73d4f9..33d7f41 100644 (file)
@@ -27,8 +27,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout out tag is #{tag}" do
index 45a737e..694626e 100644 (file)
@@ -19,7 +19,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, 'pkill -9 git-daemon')
+    on(host, 'pkill -9 git-daemon ; sleep 1')
   end
 
   step 'get tag sha from repo' do
@@ -38,8 +38,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout out tag is #{tag}" do
index cff6071..bb211c1 100644 (file)
@@ -27,7 +27,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
+    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
   end
 
   step 'get tag sha from repo' do
@@ -46,8 +46,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout out tag is #{tag}" do
index 1e3cc51..95a98f5 100644 (file)
@@ -34,7 +34,7 @@ hosts.each do |host|
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
+    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
   end
 
   step 'get tag sha from repo' do
@@ -53,8 +53,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout out tag is #{tag}" do
index d602689..f7af937 100644 (file)
@@ -14,17 +14,18 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
   end
 
   step 'get tag sha from repo' do
@@ -43,8 +44,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout out tag is #{tag}" do
index f57f605..006646a 100644 (file)
@@ -14,17 +14,18 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-      apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
   end
 
   step 'get tag sha from repo' do
@@ -43,8 +44,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify checkout out tag is #{tag}" do
index 98099ee..19af709 100644 (file)
@@ -14,7 +14,7 @@ hosts.each do |host|
   end
 
   step 'setup - delete user' do
-    apply_manifest_on(host, "user { '#{user}': ensure => absent, }")
+    apply_manifest_on(host, "user { '#{user}': ensure => absent, }", :catch_failures => true)
   end
 
   teardown do
@@ -31,8 +31,7 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :expect_failures => true)
   end
 
   step "verify git checkout is NOT owned by user #{user}" do
index 9920b0b..9133661 100644 (file)
@@ -14,12 +14,12 @@ hosts.each do |host|
   end
 
   step 'setup - create user' do
-    apply_manifest_on(host, "user { '#{user}': ensure => present, }")
+    apply_manifest_on(host, "user { '#{user}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    apply_manifest_on(host, "user { '#{user}': ensure => absent, }")
+    apply_manifest_on(host, "user { '#{user}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout as a user with puppet' do
@@ -32,8 +32,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is owned by user #{user}" do
index 1817229..1104fdd 100644 (file)
@@ -14,12 +14,12 @@ hosts.each do |host|
   end
 
   step 'setup - create user' do
-    apply_manifest_on(host, "user { '#{user}': ensure => present, }")
+    apply_manifest_on(host, "user { '#{user}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    apply_manifest_on(host, "user { '#{user}': ensure => absent, }")
+    apply_manifest_on(host, "user { '#{user}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout a user with puppet' do
@@ -32,8 +32,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is owned by user #{user}" do
index d7504b0..1fb61b6 100644 (file)
@@ -18,13 +18,13 @@ hosts.each do |host|
   end
 
   step 'setup - create user' do
-    apply_manifest_on(host, "user { '#{user}': ensure => present, }")
+    apply_manifest_on(host, "user { '#{user}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, 'pkill -9 git-daemon')
-    apply_manifest_on(host, "user { '#{user}': ensure => absent, }")
+    on(host, 'pkill -9 git-daemon ; sleep 1')
+    apply_manifest_on(host, "user { '#{user}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout a user with puppet' do
@@ -37,8 +37,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is owned by user #{user}" do
index 07f5c1c..03ea27b 100644 (file)
@@ -26,13 +26,13 @@ hosts.each do |host|
   end
 
   step 'setup - create user' do
-    apply_manifest_on(host, "user { '#{user}': ensure => present, }")
+    apply_manifest_on(host, "user { '#{user}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
-    apply_manifest_on(host, "user { '#{user}': ensure => absent, }")
+    on(host, "ps ax | grep '#{ruby} /tmp/http_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
+    apply_manifest_on(host, "user { '#{user}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout a user with puppet' do
@@ -45,8 +45,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is owned by user #{user}" do
index 7187586..7348755 100644 (file)
@@ -33,13 +33,13 @@ hosts.each do |host|
   end
 
   step 'setup - create user' do
-    apply_manifest_on(host, "user { '#{user}': ensure => present, }")
+    apply_manifest_on(host, "user { '#{user}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh")
-    apply_manifest_on(host, "user { '#{user}': ensure => absent, }")
+    on(host, "ps ax | grep '#{ruby} /tmp/https_daemon.rb' | grep -v grep | awk '{print \"kill -9 \" $1}' | sh ; sleep 1")
+    apply_manifest_on(host, "user { '#{user}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout as a user with puppet' do
@@ -52,8 +52,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is owned by user #{user}" do
index a4f7261..dccf9f8 100644 (file)
@@ -14,22 +14,23 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   step 'setup - create user' do
-    apply_manifest_on(host, "user { '#{user}': ensure => present, }")
+    apply_manifest_on(host, "user { '#{user}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
-    apply_manifest_on(host, "user { '#{user}': ensure => absent, }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "user { '#{user}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout as a user with puppet (scp syntax)' do
@@ -42,8 +43,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is owned by user #{user}" do
index 50c73f4..5ee01b1 100644 (file)
@@ -14,22 +14,23 @@ hosts.each do |host|
   end
   step 'setup - establish ssh keys' do
     # create ssh keys
-    on(host, 'ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
+    on(host, 'yes | ssh-keygen -q -t rsa -f /root/.ssh/id_rsa -N ""')
 
     # copy public key to authorized_keys
+    on(host, 'cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys')
     on(host, 'echo -e "Host *\n\tStrictHostKeyChecking no\n" >> /root/.ssh/config')
     on(host, 'chown -R root:root /root/.ssh')
   end
 
   step 'setup - create user' do
-    apply_manifest_on(host, "user { '#{user}': ensure => present, }")
+    apply_manifest_on(host, "user { '#{user}': ensure => present, }", :catch_failures => true)
   end
 
   teardown do
     on(host, "rm -fr #{tmpdir}")
-    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }")
-    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }")
-    apply_manifest_on(host, "user { '#{user}': ensure => absent, }")
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "file{'/root/.ssh/id_rsa.pub': ensure => absent, force => true }", :catch_failures => true)
+    apply_manifest_on(host, "user { '#{user}': ensure => absent, }", :catch_failures => true)
   end
 
   step 'checkout as a user with puppet' do
@@ -42,8 +43,8 @@ hosts.each do |host|
     }
     EOS
 
-    apply_manifest_on(host, pp)
-    apply_manifest_on(host, pp)
+    apply_manifest_on(host, pp, :catch_failures => true)
+    apply_manifest_on(host, pp, :catch_changes  => true)
   end
 
   step "verify git checkout is owned by user #{user}" do
diff --git a/spec/acceptance/beaker_helper.rb b/spec/acceptance/beaker_helper.rb
new file mode 100644 (file)
index 0000000..2bf663b
--- /dev/null
@@ -0,0 +1,18 @@
+test_name "Installing Puppet and vcsrepo module" do
+  step 'install puppet' do
+    if @options[:provision]
+      # This will fail if puppet is already installed, ie --no-provision
+      if hosts.first.is_pe?
+        install_pe
+      else
+        install_puppet
+      end
+    end
+  end
+  step 'install module' do
+    proj_root = File.expand_path(File.join(File.dirname(__FILE__),'..','..'))
+    # Waiting on release of puppet_module_install in beaker
+    #puppet_module_install(:source => proj_root, :module_name => 'vcsrepo')
+    scp_to(hosts, proj_root, File.join(hosts.first['distmoduledir'], 'vcsrepo'))
+  end
+end
index daec038..a753610 100644 (file)
@@ -90,10 +90,9 @@ branches
 
     context "with an ensure of bare" do
       context "with revision" do
-        it "should just execute 'git clone --bare'" do
+        it "should raise an error" do
           resource[:ensure] = :bare
-          provider.expects(:git).with('clone', '--bare', resource.value(:source), resource.value(:path))
-          provider.create
+          expect { provider.create }.to raise_error Puppet::Error, /cannot set a revision.+bare/i
         end
       end
       context "without revision" do
@@ -144,6 +143,7 @@ branches
       it "should execute 'git init --bare'" do
         resource[:ensure] = :bare
         resource.delete(:source)
+        resource.delete(:revision)
         expects_chdir
         expects_mkdir
         expects_directory?(false)
@@ -157,6 +157,7 @@ branches
       it "should convert it to a bare repository" do
         resource[:ensure] = :bare
         resource.delete(:source)
+        resource.delete(:revision)
         provider.expects(:working_copy_exists?).returns(true)
         provider.expects(:convert_working_copy_to_bare)
         provider.create