minitest-reporters 1.4.0.beta1 → 1.4.0

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
  SHA256:
3
- metadata.gz: e495065d5a897f8a6ec41f5a33afec1d86ea98b29382487b1344b46080da97b6
4
- data.tar.gz: fed006f993ee6ac6a00ef8fea57e0d7de9e71ecb8cd59dbb5b16f5f701d7a806
3
+ metadata.gz: 4a0d617bd5555dc8aa2251bb8e6351700ac826b81c76a4146aa46c4de04bf37c
4
+ data.tar.gz: e1b2ab8a11ae00a613b75134008c6be55a0efb53c42c186346e40a90f76546e3
5
5
  SHA512:
6
- metadata.gz: eac0d5586ffc07f5c0e4f4a1efb5ba5ef1cabe6fab1b6dfe6eb382b0053331d6b09de593da4d871eca16eb8199d5ed4a123610443a1b4cc0e021950b6968adbf
7
- data.tar.gz: a159df66538779f2678d13baa5c7d4730037e1a8b48c677764f6172cb8d558dd55b18d466d0603165e54a7073c6fed8168686b800e2b7bc67dabf4e3c2dd661b
6
+ metadata.gz: 89af1791568eb12157ee3d438a27f97dbecad07d5c92a9bc307c21b1079b584444384107acac7c8b972962c3fe3ba66b77a749aa1e836c2e8c924c1fb79f9a76
7
+ data.tar.gz: 1a5698902d3237adc9711b68732fe3b6029a33ab2e79dd720261b5bec9689fc83767c4d91b3f4f71280b19abdd626b6429dfb44a389eab36892f66f9ab9e43e2
@@ -4,6 +4,7 @@ before_install:
4
4
  - gem install bundler -v '< 2'
5
5
  rvm:
6
6
  - 2
7
+ - 2.6
7
8
  - 2.5
8
9
  - 2.4
9
10
  - 2.3
@@ -1,4 +1,10 @@
1
- ### [dev](https://github.com/kern/minitest-reporters/compare/v1.4.0.beta1...master)
1
+ ### [dev](https://github.com/kern/minitest-reporters/compare/v1.4.0...master)
2
+
3
+ ### [1.4.0](https://github.com/kern/minitest-reporters/compare/v1.4.0.beta1...v1.4.0)
4
+
5
+ * travis updated to include ruby 2.6 ([#292](https://github.com/kern/minitest-reporters/pull/292) contributed by [pvalena](https://github.com/pvalena))
6
+ * location option added to DefaultReporter [#288](https://github.com/kern/minitest-reporters/pull/288) contributed by [bmo](https://github.com/bmo)
7
+ * Date and time added to HTML report [#287](https://github.com/kern/minitest-reporters/pull/287) contributed by [cderche](https://github.com/cderche)
2
8
 
3
9
  ### [1.4.0.beta1](https://github.com/kern/minitest-reporters/compare/v1.3.8...v1.4.0.beta1)
4
10
 
@@ -19,6 +19,7 @@ module Minitest
19
19
  @suite_times = []
20
20
  @suite_start_times = {}
21
21
  @fast_fail = options.fetch(:fast_fail, false)
22
+ @show_test_location = options.fetch(:location, false)
22
23
  @options = options
23
24
  end
24
25
 
@@ -141,11 +142,28 @@ module Minitest
141
142
  unless message.nil? || message.strip == ''
142
143
  puts
143
144
  puts colored_for(result(test), message)
145
+ if @show_test_location
146
+ location = get_source_location(test)
147
+ puts "\n\n#{relative_path(location[0])}:#{location[1]}"
148
+ end
149
+
144
150
  end
145
151
  end
146
152
 
147
153
  private
148
154
 
155
+ def relative_path(path)
156
+ Pathname.new(path).relative_path_from(Pathname.new(Dir.getwd))
157
+ end
158
+
159
+ def get_source_location(result)
160
+ if result.respond_to? :klass
161
+ result.source_location
162
+ else
163
+ result.method(result.name).source_location
164
+ end
165
+ end
166
+
149
167
  def color?
150
168
  return @color if defined?(@color)
151
169
  @color = @options.fetch(:color) do
@@ -187,7 +205,6 @@ module Minitest
187
205
 
188
206
  def location(exception)
189
207
  last_before_assertion = ''
190
-
191
208
  exception.backtrace.reverse_each do |s|
192
209
  break if s =~ /in .(assert|refute|flunk|pass|fail|raise|must|wont)/
193
210
  last_before_assertion = s
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'builder'
2
4
  require 'fileutils'
3
5
  require 'pathname'
@@ -10,7 +12,7 @@ module Minitest
10
12
  # Also inspired by Marc Seeger's attempt at producing a JUnitReporter (see https://github.com/rb2k/minitest-reporters/commit/e13d95b5f884453a9c77f62bc5cba3fa1df30ef5)
11
13
  # Also inspired by minitest-ci (see https://github.com/bhenderson/minitest-ci)
12
14
  class JUnitReporter < BaseReporter
13
- DEFAULT_REPORTS_DIR = "test/reports".freeze
15
+ DEFAULT_REPORTS_DIR = "test/reports"
14
16
 
15
17
  attr_reader :reports_path
16
18
 
@@ -20,20 +22,20 @@ module Minitest
20
22
  @single_file = options[:single_file]
21
23
  @base_path = options[:base_path] || Dir.pwd
22
24
 
23
- if empty
24
- puts "Emptying #{@reports_path}"
25
- FileUtils.mkdir_p(@reports_path)
26
- File.delete(*Dir.glob("#{@reports_path}/TEST-*.xml"))
27
- end
25
+ return unless empty
26
+
27
+ puts "Emptying #{@reports_path}"
28
+ FileUtils.mkdir_p(@reports_path)
29
+ File.delete(*Dir.glob("#{@reports_path}/TEST-*.xml"))
28
30
  end
29
31
 
30
32
  def report
31
33
  super
32
34
 
33
35
  puts "Writing XML reports to #{@reports_path}"
34
- suites = tests.group_by { |test|
36
+ suites = tests.group_by do |test|
35
37
  test_class(test)
36
- }
38
+ end
37
39
 
38
40
  if @single_file
39
41
  xml = Builder::XmlMarkup.new(:indent => 2)
@@ -134,6 +136,7 @@ module Minitest
134
136
  last_before_assertion = ''
135
137
  exception.backtrace.reverse_each do |s|
136
138
  break if s =~ /in .(assert|refute|flunk|pass|fail|raise|must|wont)/
139
+
137
140
  last_before_assertion = s
138
141
  end
139
142
  last_before_assertion.sub(/:in .*$/, '')
@@ -159,7 +162,10 @@ module Minitest
159
162
  while File.exist?(File.join(@reports_path, filename)) # restrict number of tries, to avoid infinite loops
160
163
  file_counter += 1
161
164
  filename = "TEST-#{suite_name}-#{file_counter}.xml"
162
- puts "Too many duplicate files, overwriting earlier report #{filename}" and break if file_counter >= 99
165
+ if file_counter >= 99
166
+ puts "Too many duplicate files, overwriting earlier report #{filename}"
167
+ break
168
+ end
163
169
  end
164
170
  File.join(@reports_path, filename)
165
171
  end
@@ -1,5 +1,5 @@
1
1
  module Minitest
2
2
  module Reporters
3
- VERSION = '1.4.0.beta1'.freeze
3
+ VERSION = '1.4.0'.freeze
4
4
  end
5
5
  end
@@ -11,7 +11,9 @@
11
11
  <body>
12
12
  <div class="container">
13
13
  <div class="jumbotron">
14
- <h1><%= title %></h1>
14
+ <h3><small>Generated on <%= Time.current.strftime("%b %d, %Y at %H:%M %Z") %></small></h3>
15
+ <h1>
16
+ <%= title %></h1>
15
17
  <p>
16
18
  Finished in <%= total_time_to_hms %>, <%= '%.2f tests/s' % (count / total_time) %>, <%= '%.2f assertions/s' % (assertions / total_time) %>
17
19
  </p>
@@ -80,4 +82,4 @@
80
82
  <% end %>
81
83
  </div>
82
84
  </body>
83
- </html>
85
+ </html>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minitest-reporters
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0.beta1
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-28 00:00:00.000000000 Z
11
+ date: 2019-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -181,9 +181,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
181
181
  version: 1.9.3
182
182
  required_rubygems_version: !ruby/object:Gem::Requirement
183
183
  requirements:
184
- - - ">"
184
+ - - ">="
185
185
  - !ruby/object:Gem::Version
186
- version: 1.3.1
186
+ version: '0'
187
187
  requirements: []
188
188
  rubygems_version: 3.0.3
189
189
  signing_key: