summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsdelano <stephen@opscode.com>2010-11-12 12:19:32 -0800
committersdelano <stephen@opscode.com>2010-11-12 12:19:32 -0800
commit7c0d183facd5a920334de1e65eba5fac1602cb1c (patch)
tree97b24432d86cbbb112458d45ca1957cdd4cbd4a2
parenta84ae3b7319519b9680bb375bf88631c1b1eaa69 (diff)
parent2471de7a185eca2623a6ee64f16139f3d458d240 (diff)
downloadchef-7c0d183facd5a920334de1e65eba5fac1602cb1c.tar.gz
Merge branch 'CHEF-1864' into pl-master
-rw-r--r--features/steps/packages.rb28
1 files changed, 26 insertions, 2 deletions
diff --git a/features/steps/packages.rb b/features/steps/packages.rb
index 2d349f0894..cd057bd5a1 100644
--- a/features/steps/packages.rb
+++ b/features/steps/packages.rb
@@ -27,13 +27,20 @@ end
After("@apt") do
remove_integration_test_apt_source
+ purge_chef_integration_debs
+ shell_out! "apt-get clean"
+end
+
+Before('@dpkg') do
+ purge_chef_integration_debs
end
-Before('@dpkg,@apt') do
+Before('@apt') do
purge_chef_integration_debs
+ shell_out! "apt-get clean"
end
-After('@dpkg,@apt') do
+After('@dpkg') do
purge_chef_integration_debs
end
@@ -64,6 +71,13 @@ Given "the apt server is running" do
apt_server.start
end
+
+ Chef::Log.debug "Waiting for apt server to start"
+ until tcp_test_port("localhost", 9000) do
+ Chef::Log.debug "."
+ sleep 1
+ end
+ Chef::Log.debug "done"
end
Given "I have updated my apt cache" do
@@ -119,3 +133,13 @@ Then "the dpkg package '$package_name' should be installed" do |package_name|
dpkg_should_be_installed(package_name)
end
+def tcp_test_port(hostname, port)
+ tcp_socket = TCPSocket.new(hostname, port)
+ true
+rescue Errno::ETIMEDOUT
+ false
+rescue Errno::ECONNREFUSED
+ false
+ensure
+ tcp_socket && tcp_socket.close
+end