34 Commits

Author SHA1 Message Date
Thibault Jouan
bd754f2bf6 Enable verbose mode when PRODUCER_VERBOSE is set 2015-04-06 13:45:57 +00:00
Thibault Jouan
9a8ab69c8c Extract cucumber env and steps to ease code reuse
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'
2015-04-05 02:14:00 +00:00
Thibault Jouan
d481398980 Fix typo in features and specs (exists -> exist) 2015-04-04 23:14:05 +00:00
Thibault Jouan
8efb548474 Remove debug code in recipe steps (from aa4845fd) 2015-04-04 20:20:54 +00:00
Thibault Jouan
aa4845fdae Refactor cucumber recipe steps 2015-04-04 05:25:01 +00:00
Thibault Jouan
b6cbd1b6f2 Fix coding standards 2015-04-04 05:25:01 +00:00
Thibault Jouan
433f830c54 Implement recipe arguments
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'.
2015-04-04 05:25:01 +00:00
Thibault Jouan
1ccd95b80f Fix error formatting in debug mode
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.
2015-04-03 23:18:28 +00:00
Thibault Jouan
b93e5717ce Filter ruby lib directory from error backtrace 2015-04-03 22:36:23 +00:00
Thibault Jouan
dc561de047 Fix backtrace filtering for net-ssh
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'
2015-04-03 22:34:46 +00:00
Thibault Jouan
b1879ea9f9 Test net-ssh error filtering 2015-04-03 20:27:28 +00:00
Thibault Jouan
2f34414bf8 Fix aruba 0.6.2 API usage
Use `check_file_content` instead of `check_exact_file_content` which
has been deprecated.
2015-02-03 04:02:10 +00:00
Thibault Jouan
e22d0039e1 Implement CLI debug option 2014-10-12 23:45:01 +00:00
Thibault Jouan
0ba12bfb90 Implement `yaml_write' action 2014-10-11 00:47:16 +00:00
Thibault Jouan
9bc5c2aeec Implement `composed_macro' recipe keyword 2014-10-02 03:20:12 +00:00
Thibault Jouan
db91eb06cd Forward standard error stream from remote execution 2014-07-24 17:38:13 +00:00
Thibault Jouan
a033e19583 Refactor features 2014-07-18 12:23:17 +00:00
Thibault Jouan
e6ee3d5f77 Implement `-t' CLI option switch to specify target 2014-06-27 17:32:42 +00:00
Thibault Jouan
8291f1bcfd Implement verbose mode 2014-05-25 12:14:22 +00:00
Thibault Jouan
94f6bbb4aa Accept mode as argument in `mkdir' action 2014-04-25 00:33:27 +00:00
Thibault Jouan
5cb6296057 Accept mode as argument in `file_write' action 2014-04-25 00:33:24 +00:00
Thibault Jouan
947df56d6b Expose fake home dir usage with a cucumber tag 2014-04-23 22:45:39 +00:00
Thibault Jouan
9323391161 Remove cucumber monkey patch translating steps:
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.
2014-04-23 22:44:27 +00:00
Thibault Jouan
d22b023ff4 Implement `file_replace_content' task action 2014-03-05 02:02:52 +00:00
Thibault Jouan
a0482d175c Implement `file_contains' condition keyword 2014-01-23 16:37:19 +00:00
Thibault Jouan
7f5d1a4085 Implement `mkdir' task action 2014-01-21 15:50:07 +00:00
Thibault Jouan
0b4df20f55 Implement `has_dir' condition keyword 2014-01-21 15:02:07 +00:00
Thibault Jouan
7e062e06a1 Implement `ask' recipe keyword 2014-01-21 00:52:44 +00:00
Thibault Jouan
892a9862fc Implement `file_write' action 2013-12-20 06:26:21 +00:00
Thibault Jouan
85a47df547 Use SSH user name configured for a given target:
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.
2013-09-28 20:07:36 +00:00
Thibault Jouan
2cbe1726f7 Implement `has_file' condition keyword 2013-09-26 00:28:40 +00:00
Thibault Jouan
33a2b9de5a Refactor producer invocation in cucumber features:
Use "When I successfully execute" instead of "When I execute", and
assert that exit status code was successful in this new step.
2013-09-06 20:10:28 +00:00
Thibault Jouan
0aa043b61a Remove host argument:
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.
2013-08-01 00:01:20 +00:00
Thibault Jouan
0921be9ab0 Implement recipe evaluation feature 2013-07-27 18:20:45 +00:00