Thibault Jouan feef44b255 Refactor recipe execution in cucumber features
Mock home directory in `run_recipe' helper, avoid the need to use
@mocked_home_directory in many scenarios.
2015-04-06 08:47:46 +00:00

44 lines
1.1 KiB
Gherkin

@sshd
Feature: `sh' task action
Scenario: forwards standard ouput
Given a recipe with:
"""
task :sh_action do
sh '\echo hello from remote'
end
"""
When I successfully execute the recipe on remote target
Then the output must contain exactly "hello from remote\n"
Scenario: forwards error ouput
Given a recipe with:
"""
task :sh_action do
sh '\echo error from remote >&2'
end
"""
When I successfully execute the recipe on remote target
Then the error output must contain exactly "error from remote\n"
Scenario: aborts on failed command execution
Given a recipe with:
"""
task :sh_action_aborting do
sh '\false'
sh '\echo after_fail'
end
"""
When I execute the recipe on remote target
Then the output must not contain "after_fail"
Scenario: prints command when execution fail
Given a recipe with:
"""
task :sh_action_command_error do
sh '\false'
end
"""
When I execute the recipe on remote target
Then the output must match /\A\w+Error:\s+\\false/