Improve our filter pattern so it works for this kind of error: SocketError: getaddrinfo: hostname nor servname provided, or not known /usr/local/lib/ruby/2.2/timeout.rb:74:in `timeout' /usr/local/lib/ruby/2.2/timeout.rb:125:in `timeout' /home/tj/.gem/ruby/22/gems/net-ssh-2.9.2/lib/net/ssh.rb:207:in `new' /home/tj/.gem/ruby/22/gems/net-ssh-2.9.2/lib/net/ssh.rb:207:in `start'
52 lines
1.4 KiB
Ruby
52 lines
1.4 KiB
Ruby
Given /^a recipe with:$/ do |recipe_body|
|
|
write_file 'recipe.rb', recipe_body
|
|
end
|
|
|
|
Given /^a recipe with an error$/ do
|
|
write_file 'recipe.rb', "task(:trigger_error) { fail 'some error' }\n"
|
|
end
|
|
|
|
Given /^a recipe using a remote$/ do
|
|
write_file 'recipe.rb', "task(:some_task) { sh 'echo hello' }\n"
|
|
end
|
|
|
|
Given /^a recipe named "([^"]+)" with:$/ do |recipe_path, recipe_body|
|
|
write_file recipe_path, recipe_body
|
|
end
|
|
|
|
When /^I execute the recipe$/ do
|
|
run_simple 'producer recipe.rb', false
|
|
end
|
|
|
|
When /^I execute the recipe on remote target$/ do
|
|
run_simple 'producer recipe.rb -t some_host.test', false
|
|
end
|
|
|
|
When /^I execute the recipe on unknown remote target$/ do
|
|
run_simple 'producer recipe.rb -t #unknown_host.test', false
|
|
assert_matching_output '\ASocketError', all_output
|
|
end
|
|
|
|
When /^I successfully execute the recipe$/ do
|
|
step 'I execute the recipe'
|
|
assert_exit_status 0
|
|
end
|
|
|
|
When /^I successfully execute the recipe on remote target$/ do
|
|
step 'I execute the recipe on remote target'
|
|
assert_exit_status 0
|
|
end
|
|
|
|
When /^I execute the recipe with option (-.+)$/ do |option|
|
|
run_simple "producer #{option} recipe.rb", false
|
|
end
|
|
|
|
When /^I successfully execute the recipe with option (-.+)$/ do |option|
|
|
run_simple "producer #{option} recipe.rb", false
|
|
assert_exit_status 0
|
|
end
|
|
|
|
When /^I execute the recipe interactively$/ do
|
|
run_interactive 'producer recipe.rb'
|
|
end
|