* Allow no_* to be used for every tests in condition DSL:
condition { no_has_env :shell, '/bin/sh' };
* Modify Test constructor to accept negated: named argument, implement
#negated? and #pass?;
* Rename #success? to #verify in all test classes.
When a user is configured for the targeted host name, use it for SSH
authentification instead of the name of current user logged in.
* Modify Remote#user_name to use configured user name.
Instead of interrupting task evaluation when condition is not met,
allow the whole task to be evaluated (including condition and
evaluation) so that the interpreter will get all tasks actions (whether
condition is met or not) and be able to query the condition.
* Modify Interpreter#process_task: test if task condition is met before
applying the actions;
* Implement condition handling in Task and Task::DSL;
* Implement Condition and Condition::DSL (useless as they are, but
needed to implement later test keywords as part of the condition DSL.
Fork an sshd server available for the duration of the scenario.
$HOME will be set to aruba temporary directory, and a custom ssh
config will be written so that the test server is accessible with the
alias `some_host.test'. sshd will listen on port 2222 by default, this
can be overridden by setting DEFAULT_LISTEN_PORT environment variable to
the desired port.
* Report invalid action usages from tasks;
* Implement backtrace cleaning in CLI;
* Extract error class declarations in a new errors file;
* Replace raise with fail keyword in task DSL class.
Currently the idea is to later implement a -h (or -t) option to the
command, and/or a `target' recipe keyword. Another option might be to
use the target/host key when the key/value registry will be implemented
and made available to the recipe and task DSLs.
Cucumber chomp the last \n from multiline strings (docstrings), this
monkey patch modify Cucumber::Ast::DocString constructor to add the
missing ending new line character and
Cucumber::Formatter::Pretty#doc_string to remove it from the output.