producer extensions like producer-rails must not reimplement all the
testing infrastructure, this extraction allows to setup everything with
just one require call in cucumber env:
require 'producer/core/testing/cucumber'
CLI will stop arguments processing after the special `--' argument,
the rest will be saved in the env and accessible through a new task
keyword: `recipe_argv'.
Backtrace filtering was only disabled for exception cause, this change
ensure no backtrace filtering at all in debug mode.
* Prevent main exception filtering when debug mode is enabled;
* Test when exception cause must be displayed;
* Test how exception cause must be displayed.
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'
It was initially added to allow reuse of aruba cucumber steps, using
`must' instead of `should'. This is creating more harm than good, hence
we remove it and implements all missing steps, using aruba API.
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.
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.