diff options
author | sdelano <stephen@opscode.com> | 2010-11-12 12:19:32 -0800 |
---|---|---|
committer | sdelano <stephen@opscode.com> | 2010-11-12 12:19:32 -0800 |
commit | 7c0d183facd5a920334de1e65eba5fac1602cb1c (patch) | |
tree | 97b24432d86cbbb112458d45ca1957cdd4cbd4a2 | |
parent | a84ae3b7319519b9680bb375bf88631c1b1eaa69 (diff) | |
parent | 2471de7a185eca2623a6ee64f16139f3d458d240 (diff) | |
download | chef-7c0d183facd5a920334de1e65eba5fac1602cb1c.tar.gz |
Merge branch 'CHEF-1864' into pl-master
-rw-r--r-- | features/steps/packages.rb | 28 |
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 |