knife-testcoverage 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -7,11 +7,17 @@ class Chef
7
7
  option :show_missing,
8
8
  :short => "-s",
9
9
  :long => "--show-missing",
10
- :description => "Show the missing tests",
10
+ :description => "Show the missing tests. Default false",
11
11
  :default => false
12
12
 
13
+ option :fail_threshold,
14
+ :short => "-f VALUE",
15
+ :long => "--fail-threshold VALUE",
16
+ :description => "Fail if coverage is less than this value. Default 100",
17
+ :default => 100
18
+
13
19
  def run
14
- if @name_args.length != 1
20
+ if @name_args.length == 0
15
21
  stdout.puts "You must provide the name of the cookbook to review."
16
22
  stdout.puts opt_parser
17
23
  exit 1
@@ -77,7 +83,7 @@ class Chef
77
83
 
78
84
  coverage = (testcount.to_f / recipecount.to_f * 100).round
79
85
 
80
- print "#{coverage}% coverage. (#{recipecount} recipes, #{testcount} tests)\n"
86
+ @fail = config[:fail_threshold]
81
87
 
82
88
  if config[:show_missing]
83
89
  print "Missing tests:\n"
@@ -86,9 +92,14 @@ class Chef
86
92
  end
87
93
  end
88
94
 
89
- if testcount == recipecount
95
+ print "Cookbook #{cookbook} contains #{recipecount} recipes and #{testcount} tests.\n"
96
+
97
+
98
+ if coverage >= config[:fail_threshold].to_i
99
+ print "Validation passed. Test coverage #{coverage}% exceeds the required threshold (#{config[:fail_threshold]}%)\n"
90
100
  exit 0
91
101
  else
102
+ print "Validation failed. Test coverage #{coverage}% is less than the required threshold (#{config[:fail_threshold]}%)\n"
92
103
  exit 1
93
104
  end
94
105
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: knife-testcoverage
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-15 00:00:00.000000000 Z
12
+ date: 2013-05-24 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: A simple plugin to report on minitest-handler coverage in a cookbook
15
15
  email: brian@stormtrooperguy.com
@@ -18,7 +18,7 @@ extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
20
  - lib/chef/knife/knife-testcoverage.rb
21
- homepage:
21
+ homepage: http://rubygems.org/gems/knife-testcoverage
22
22
  licenses: []
23
23
  post_install_message:
24
24
  rdoc_options: []