protest 0.5.3 → 0.5.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bdee89723b7e2c18f0570fb69bec483403a81690
4
- data.tar.gz: e6b8beb1b903b873402d1bfc10b64a3188143e6b
3
+ metadata.gz: 7b0363b7887f87c45bc40276d7caabcbafed7c6a
4
+ data.tar.gz: 6ba853d2afd0e235e5e959a926c583a8d2d7815e
5
5
  SHA512:
6
- metadata.gz: a5917865f87ac1f47d28ed7c262d572662cc2540f026054367764ff82cef898137d807da9c4bbce20bd623705b40edb488aa84efbc587de8be288625e8768b45
7
- data.tar.gz: 2a8f0ca0d8581159b31873525defab89efc16cc18490bee7559febd34fef6dfa05178675bbbea634e5718fc376036af439a1e8f3f06fe120f561beca6125aa04
6
+ metadata.gz: 8ebd8b63a5c053955b07d8dacb41a408463d4d36634d15515cd021309b81dea29eb3354dffd0ee4eb9b510e96498189f017fc544c4282341e3240de92a9f4328
7
+ data.tar.gz: a071b3dfd872066ff67d765416148a84a14ae3111550b5898d03333f83c44e9f5898c0ce32097b0b4a4a358fbf92311f7db94bb23cf0edfd71271ae9cc6727d0
@@ -1,3 +1,8 @@
1
+ ### v0.5.4
2
+
3
+ * Added list of pending tests, failed tests and errors to summary report.
4
+ * Added `Protest.fail_early` option.
5
+
1
6
  ### v0.5.3
2
7
 
3
8
  * Stop running tests and display summary on ^C.
data/README.md CHANGED
@@ -244,6 +244,20 @@ register your subclass by calling `Protest.add_report`. See the
244
244
  documentation for details, or take a look at the source code for
245
245
  `Protest::Reports::Progress` and `Protest::Reports::Documentation`.
246
246
 
247
+ ## Failing Early
248
+
249
+ If needed, you can configure Protest to stop the execution when the first error
250
+ or failed assertion occurs.
251
+
252
+ This can be configured with the `fail_early` method:
253
+
254
+ ```ruby
255
+ Protest.fail_early = true
256
+ ```
257
+
258
+ This feature can be configured by passing a `PROTEST_FAIL_EARLY` environment
259
+ variable, to activate it you must set it to `"true"`.
260
+
247
261
  ## Using Rails?
248
262
 
249
263
  If you are using Rails you may want to take a look at [protest-rails](http://github.com/matflores/protest-rails).
@@ -31,6 +31,17 @@ module Protest
31
31
  !!@autorun
32
32
  end
33
33
 
34
+ # Set to +true+ if tests should stop on the first failure. Default is +false+
35
+ def self.fail_early=(flag)
36
+ @fail_early = flag
37
+ end
38
+
39
+ # Checks to see if tests should stop on the first failure. Default is +false+
40
+ # See Protest.fail_early=
41
+ def self.fail_early?
42
+ !!@fail_early
43
+ end
44
+
34
45
  # Run all registered test cases through the selected report. You can pass
35
46
  # arguments to the Report constructor here.
36
47
  #
@@ -95,6 +106,7 @@ require "protest/reports/summary"
95
106
  Protest.autorun = true
96
107
  Protest.report_with((ENV["PROTEST_REPORT"] || "documentation").to_sym)
97
108
  Protest.backtrace_filter = Protest::Utils::BacktraceFilter.new
109
+ Protest.fail_early = ENV["PROTEST_FAIL_EARLY"] == "true"
98
110
 
99
111
  at_exit do
100
112
  exit $!.status if $!.is_a?(SystemExit) && !$!.success?
@@ -2,8 +2,12 @@ module Protest
2
2
  # The +:summary+ report will output a brief summary with the total number
3
3
  # of tests, assertions, passed tests, pending tests, failed tests and
4
4
  # errors.
5
+ #
6
+ # It will also output the list of pending tests, failed tests and errors.
5
7
  class Reports::Summary < Report
6
8
  on :end do |report|
9
+ report.summarize_pending_tests
10
+ report.summarize_errors
7
11
  report.summarize_test_totals
8
12
  end
9
13
  end
@@ -32,9 +32,11 @@ module Protest
32
32
  fire_event :pending, PendingTest.new(test, e)
33
33
  rescue AssertionFailed => e
34
34
  fire_event :failure, FailedTest.new(test, e)
35
+ exit 1 if Protest.fail_early?
35
36
  rescue Exception => e
36
37
  raise if e.is_a?(Interrupt)
37
38
  fire_event :error, ErroredTest.new(test, e)
39
+ exit 1 if Protest.fail_early?
38
40
  end
39
41
 
40
42
  protected
@@ -1,3 +1,3 @@
1
1
  module Protest
2
- VERSION = "0.5.3"
2
+ VERSION = "0.5.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.5.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicolás Sanguinetti
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-12-04 00:00:00.000000000 Z
12
+ date: 2015-04-23 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Protest is a tiny, simple, and easy-to-extend test framework for ruby.
15
15
  email: flores.matias@gmail.com