minitest-chef-handler 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ === 0.5.1 / 05-31-2012
2
+
3
+ * 1 new feature:
4
+
5
+ * Raise error on test failures.
6
+
1
7
  === 0.5.0 / 05-02-2012
2
8
 
3
9
  * 1 new feature:
data/README.md CHANGED
@@ -122,6 +122,36 @@ handler = MiniTest::Chef::Handler.new({
122
122
  report_handlers << handler
123
123
  ```
124
124
 
125
+ ## Automatic tests detection
126
+
127
+ MiniTest-chef-hander collects test paths based in the recipes ran.
128
+ It loads the tests based in the name of the cookbook and the name of the recipe.
129
+ The tests must be under the cookbooks directory.
130
+
131
+ Examples:
132
+
133
+ If the seen recipes includes the recipe "foo" we try to load tests from:
134
+
135
+ cookbooks/foo/tests/default_test.rb
136
+ cookbooks/foo/tests/default/*_test.rb
137
+
138
+ cookbooks/foo/specs/default_spec.rb
139
+ cookbooks/foo/specs/default/*_spec.rb
140
+
141
+ If the seen recipes includes the recipe "foo::install" we try to load tests from:
142
+
143
+ cookbooks/foo/tests/install_test.rb
144
+ cookbooks/foo/tests/install/*_test.rb
145
+
146
+ cookbooks/foo/specs/install_spec.rb
147
+ cookbooks/foo/specs/install/*_spec.rb
148
+
149
+ ## Automatic chef failure
150
+
151
+ If the tests detect any failure, the handler raises an error to abort the
152
+ Chef execution. This error can be captured by any other exception handler
153
+ and be treated like any other error in the Chef execution.
154
+
125
155
  ## Chef server distribution
126
156
 
127
157
  The instructions abow have described how to use it in a Chef solo installation. If you want to distribute the handler to your Chef server check either the chef_handler cookbooks in the examples or [minitest-handler-cookbook](https://github.com/btm/minitest-handler-cookbook).
@@ -1,6 +1,6 @@
1
1
  require 'minitest-chef-handler'
2
2
 
3
- path = './{test/test_*,spec/*_spec}.rb'
3
+ path = File.expand_path('{test/test_*,spec/*_spec}.rb', File.dirname(__FILE__))
4
4
 
5
5
  report_handlers << MiniTest::Chef::Handler.new(:path => path)
6
6
  cookbook_path File.expand_path('cookbooks', File.dirname(__FILE__))
@@ -26,6 +26,12 @@ module MiniTest
26
26
  else
27
27
  runner.run(miniunit_options)
28
28
  end
29
+
30
+ if runner.failures.nonzero?
31
+ ::Chef::Client.when_run_completes_successfully do |run_status|
32
+ raise "MiniTest failed with #{runner.failures} failure(s)"
33
+ end
34
+ end
29
35
  end
30
36
 
31
37
  private
@@ -11,7 +11,7 @@ Gem::Specification.new do |gem|
11
11
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
12
12
  gem.name = "minitest-chef-handler"
13
13
  gem.require_paths = ["lib"]
14
- gem.version = '0.5.0'
14
+ gem.version = '0.5.1'
15
15
 
16
16
  gem.add_dependency('chef')
17
17
  gem.add_development_dependency('rake')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-chef-handler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-02 00:00:00.000000000 Z
12
+ date: 2012-06-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: chef
16
- requirement: &70284019403120 !ruby/object:Gem::Requirement
16
+ requirement: &70293859474040 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70284019403120
24
+ version_requirements: *70293859474040
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70284019401500 !ruby/object:Gem::Requirement
27
+ requirement: &70293859473200 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70284019401500
35
+ version_requirements: *70293859473200
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70284019400800 !ruby/object:Gem::Requirement
38
+ requirement: &70293859472480 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70284019400800
46
+ version_requirements: *70293859472480
47
47
  description: Run Minitest suites as Chef report handlers
48
48
  email:
49
49
  - david.calavera@gmail.com
@@ -106,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
106
  version: '0'
107
107
  segments:
108
108
  - 0
109
- hash: -3992918998714058940
109
+ hash: 833207758309813032
110
110
  required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  none: false
112
112
  requirements:
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
115
  version: '0'
116
116
  segments:
117
117
  - 0
118
- hash: -3992918998714058940
118
+ hash: 833207758309813032
119
119
  requirements: []
120
120
  rubyforge_project:
121
121
  rubygems_version: 1.8.11