Thibault Jouan
658e333420
Enable dry run mode when PRODUCER_DRYRUN is set
2015-04-06 13:53:29 +00:00
Thibault Jouan
2b0e62be26
Enable debug mode when PRODUCER_DEBUG is set
2015-04-06 13:49:44 +00:00
Thibault Jouan
bd754f2bf6
Enable verbose mode when PRODUCER_VERBOSE is set
2015-04-06 13:45:57 +00:00
Thibault Jouan
2363bfb62a
Implement `set' task keyword
2015-04-06 12:39:09 +00:00
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
Thibault Jouan
a3e75b0ac6
Refactor cucumber tags and steps
...
Use @mocked_home_directory provided by aruba and remove our custom
@fake_home tag.
2015-04-06 08:46:50 +00:00
Thibault Jouan
85b5ba4c6d
Stop excluding sshd related features on CI
2015-04-05 12:25:12 +00:00
Thibault Jouan
f3970c1fc6
Update cucumber-sshd test dependency to ~> 1.0
2015-04-05 05:39:49 +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
dbe7fea204
Fix backtrace filtering for producer own code
...
Using /producer-\w+ as pattern is incorrect, we have no guarantee that
the canonical repository or gem name will be included in the install
path. Just use /producer pattern to match lib files or executables.
2015-04-04 20:15:22 +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
0da47a0acb
Fix backtrace filtering for producer
2015-04-03 22:35:44 +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
ed01bbed4e
Merge cucumber env setup in a unique file
2015-04-03 16:12:47 +00:00
Thibault Jouan
a9c8485d09
Update cucumber dependency
...
In the process, we remove our cucumber docstrings monkey patch. It
does not work anymore and it was not a so good idea.
2015-04-03 15:54:11 +00:00
Thibault Jouan
5d9778f33f
Fix coding standards
2015-03-05 07:24:10 +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
cacfa7e342
Move registry cucumber feature in recipe directory
2014-11-18 17:40:42 +00:00
Thibault Jouan
3b413a242f
Implement `set?' task keyword:
...
When called from a task, will return true when given key exists and
false when key does not exist.
2014-11-18 16:48:11 +00:00
Thibault Jouan
1465b98f18
Accept a default value for `get' registry keyword
2014-11-18 15:56:25 +00:00
Thibault Jouan
2d3975d47f
Unflatten features directory tree
2014-11-18 11:58:23 +00:00
Thibault Jouan
e22d0039e1
Implement CLI debug option
2014-10-12 23:45:01 +00:00
Thibault Jouan
25d03d4322
Improve CLI error reporting
2014-10-12 18:11:37 +00:00
Thibault Jouan
f6237bfc0c
Implement `yaml_eq' condition keyword
2014-10-11 13:46:18 +00:00
Thibault Jouan
0ba12bfb90
Implement `yaml_write' action
2014-10-11 00:47:16 +00:00
Thibault Jouan
9780cdf220
Support YAML templates
2014-10-10 23:58:20 +00:00
Thibault Jouan
82879b56b4
Extract Task#template code in Template class
2014-10-10 16:36:06 +00:00
Thibault Jouan
c4006416e4
Support `file_write' status attributes
2014-10-08 22:36:32 +00:00
Thibault Jouan
a84b34b7ca
Support `mkdir' status attributes
2014-10-08 22:36:27 +00:00
Thibault Jouan
9bc5c2aeec
Implement `composed_macro' recipe keyword
2014-10-02 03:20:12 +00:00
Thibault Jouan
6cd294a0b8
Implement `template' task keyword
2014-09-28 14:33:35 +00:00
Thibault Jouan
2543fdeb00
Implement `file_match' condition keyword
2014-09-27 12:14:16 +00:00
Thibault Jouan
7a7c8379ff
Improve CLI usage:
...
* Rewrite arguments parsing with OptionParser;
* Allow processing of multiple recipes.
2014-09-26 19:06:10 +00:00
Thibault Jouan
85ee79ab88
Indent logging output on nested tasks
2014-09-26 10:26:00 +00:00
Thibault Jouan
2d4e04b2e5
Fail when accessing registry with invalid key
2014-09-26 00:24:19 +00:00
Thibault Jouan
bd66ec25e4
Allow `mkdir' action to work recursively
2014-09-25 21:28:12 +00:00
Thibault Jouan
b11d0b6950
Allow `target' recipe keyword to return target
2014-09-25 14:57:27 +00:00
Thibault Jouan
42e29cc1fe
Implement `target' condition keyword
2014-09-25 01:34:44 +00:00
Thibault Jouan
a7b2c4abea
Implement `target' recipe keyword
2014-09-25 01:24:25 +00:00
Thibault Jouan
3dc414f188
Declare macro in tasks
2014-09-25 00:27:46 +00:00
Thibault Jouan
77582ef843
Allow access to registry from conditions
2014-09-25 00:01:03 +00:00
Thibault Jouan
638f8320bc
Implement nested tasks
2014-09-24 22:26:29 +00:00
Thibault Jouan
52ecf4899b
Implement Recipe{.,#}compose_macro
2014-09-22 22:04:46 +00:00