ci_reporter_minitest 0.0.1 → 0.0.2

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: 17d64dd80b9c39c5baaefe727fca515d3d0b658f
4
- data.tar.gz: 70c430f164924643ea6de9534fbff1959bcb6020
3
+ metadata.gz: 25670630bb575e8d923d64e3cd01ee46d3b424ec
4
+ data.tar.gz: 329601383b8e40ab1011fef80c8b5ba37fea75d5
5
5
  SHA512:
6
- metadata.gz: 43874ba8e95ea7d038e9fc6f4f17623471556dc5d4257914e5a0f99fb7dcab0075375d4cd5e7a004bbdbd24993bcd65b7ed18b87d8bb3aee1257f68b9de37160
7
- data.tar.gz: fa3d51753788f67ec984f25e2dcab1b76a1a3056a7385fdc8cf73c6ec009a9964a6b434dc6bc943faf9fb7e51b6d9b52e9b3a3ca30f5097c479ac0fea7214503
6
+ metadata.gz: 1b8aa967f94e95644da31b16d405712d66768eaf37ef41d8a8e6975324dabf119845e35065635ef9e54d68d895586e768b63d7fd2128af81285d06c7b83c4e1b
7
+ data.tar.gz: 1f12fd16cd7d59a81a2526fd6d3bcc3d68f8e9d63090fb08c8136f9832e517342797caf1c8e8d7a455bbd85e8d6a684db2e5d585ab0ab777fdf76162a64ac0ee
data/README.md CHANGED
@@ -3,12 +3,17 @@
3
3
  Connects [Minitest][mt] to [CI::Reporter][ci], and then to your CI
4
4
  system.
5
5
 
6
+ [![Gem Version](https://badge.fury.io/rb/ci_reporter_minitest.svg)](http://badge.fury.io/rb/ci_reporter_minitest)
7
+ [![Build Status](https://travis-ci.org/ci-reporter/ci_reporter_minitest.svg?branch=master)](https://travis-ci.org/ci-reporter/ci_reporter_minitest)
8
+ [![Dependency Status](https://gemnasium.com/ci-reporter/ci_reporter_minitest.svg)](https://gemnasium.com/ci-reporter/ci_reporter_minitest)
9
+ [![Code Climate](https://codeclimate.com/github/ci-reporter/ci_reporter_minitest.png)](https://codeclimate.com/github/ci-reporter/ci_reporter_minitest)
10
+
6
11
  [mt]: https://github.com/seattlerb/minitest
7
12
  [ci]: https://github.com/ci-reporter/ci_reporter
8
13
 
9
14
  ## Supported versions
10
15
 
11
- The latest release of Minitest 2.2 is supported.
16
+ The latest release of Minitest 5.x is supported.
12
17
 
13
18
  ## Installation
14
19
 
@@ -27,7 +32,7 @@ $ bundle
27
32
  ## Usage
28
33
 
29
34
  Require the reporter in your Rakefile, and ensure that
30
- `ci:setup:minitest` is a dependency of your RSpec task:
35
+ `ci:setup:minitest` is a dependency of your minitest task:
31
36
 
32
37
  ```ruby
33
38
  require 'ci/reporter/rake/minitest'
data/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  require "bundler/gem_tasks"
2
- require 'ci/reporter/internal'
3
- include CI::Reporter::Internal
2
+ require 'ci/reporter/test_utils/rake'
3
+ include CI::Reporter::TestUtils::Rake
4
4
 
5
5
  namespace :generate do
6
6
  task :clean do
@@ -8,7 +8,7 @@ namespace :generate do
8
8
  end
9
9
 
10
10
  task :minitest do
11
- run_ruby_acceptance "-rci/reporter/rake/minitest_loader acceptance/minitest_example_test.rb"
11
+ run_ruby_acceptance "acceptance/minitest_example_test.rb --ci-reporter"
12
12
  end
13
13
 
14
14
  task :all => [:clean, :minitest]
@@ -1,17 +1,29 @@
1
1
  require 'minitest/autorun'
2
2
 
3
- class MiniTestExampleTestOne < MiniTest::Unit::TestCase
4
- def test_one
5
- puts "Some <![CDATA[on stdout]]>"
3
+ class ExampleWithAFailure < Minitest::Test
4
+ def test_failure
6
5
  assert false
7
6
  end
8
- def teardown
7
+ end
8
+
9
+ class ExampleWithAnError < Minitest::Test
10
+ def test_error
9
11
  raise "second failure"
10
12
  end
11
13
  end
12
14
 
13
- class MiniTestExampleTestTwo < MiniTest::Unit::TestCase
14
- def test_two
15
+ class ExampleThatPasses < Minitest::Test
16
+ def test_passes
15
17
  assert true
16
18
  end
17
19
  end
20
+
21
+ class ExampleWithOutput < Minitest::Test
22
+ def test_stdout
23
+ $stdout.puts "This is stdout!"
24
+ end
25
+
26
+ def test_stderr
27
+ $stderr.puts "This is stderr!"
28
+ end
29
+ end
@@ -1,38 +1,86 @@
1
1
  require 'rexml/document'
2
+ require 'rspec/collection_matchers'
3
+ require 'ci/reporter/test_utils/accessor'
4
+ require 'ci/reporter/test_utils/shared_examples'
2
5
 
3
6
  REPORTS_DIR = File.dirname(__FILE__) + '/reports'
4
7
 
5
8
  describe "MiniTest::Unit acceptance" do
6
- it "should generate two XML files" do
7
- File.exist?(File.join(REPORTS_DIR, 'TEST-MiniTestExampleTestOne.xml')).should == true
8
- File.exist?(File.join(REPORTS_DIR, 'TEST-MiniTestExampleTestTwo.xml')).should == true
9
+ include CI::Reporter::TestUtils::SharedExamples
10
+ Accessor = CI::Reporter::TestUtils::Accessor
11
+
12
+ let(:failure_report_path) { File.join(REPORTS_DIR, 'TEST-ExampleWithAFailure.xml') }
13
+ let(:error_report_path) { File.join(REPORTS_DIR, 'TEST-ExampleWithAnError.xml') }
14
+ let(:passing_report_path) { File.join(REPORTS_DIR, 'TEST-ExampleThatPasses.xml') }
15
+ let(:output_report_path) { File.join(REPORTS_DIR, 'TEST-ExampleWithOutput.xml') }
16
+
17
+ it "generates only one XML file for each test class" do
18
+ expect(Dir["#{REPORTS_DIR}/*.xml"].count).to eql 4
9
19
  end
10
20
 
11
- it "should have one error and one failure for MiniTestExampleTestOne" do
12
- doc = File.open(File.join(REPORTS_DIR, 'TEST-MiniTestExampleTestOne.xml')) do |f|
13
- REXML::Document.new(f)
21
+ context "a test with a failure" do
22
+ subject(:result) { Accessor.new(load_xml_result(failure_report_path)) }
23
+
24
+ it { is_expected.to have(1).failures }
25
+ it { is_expected.to have(0).errors }
26
+ it { is_expected.to have(1).testcases }
27
+
28
+ describe "the assertion count" do
29
+ subject { result.assertions_count }
30
+ it { is_expected.to eql 1 }
31
+ end
32
+
33
+ it_behaves_like "nothing was output"
34
+ it_behaves_like "a report with consistent attribute counts"
35
+ end
36
+
37
+ context "a test with an error" do
38
+ subject(:result) { Accessor.new(load_xml_result(error_report_path)) }
39
+
40
+ it { is_expected.to have(0).failures }
41
+ it { is_expected.to have(1).errors }
42
+ it { is_expected.to have(1).testcases }
43
+
44
+ describe "the assertion count" do
45
+ subject { result.assertions_count }
46
+ it { is_expected.to eql 0 }
47
+ end
48
+
49
+ it_behaves_like "nothing was output"
50
+ it_behaves_like "a report with consistent attribute counts"
51
+ end
52
+
53
+ context "a test that outputs to STDOUT and STDERR" do
54
+ subject(:result) { Accessor.new(load_xml_result(output_report_path)) }
55
+
56
+ it "captures the STDOUT" do
57
+ expect(result.system_out).to eql "This is stdout!"
58
+ end
59
+
60
+ it "captures the STDERR" do
61
+ expect(result.system_err).to eql "This is stderr!"
14
62
  end
15
- doc.root.attributes["errors"].should == "1"
16
- doc.root.attributes["failures"].should == "1"
17
- doc.root.attributes["assertions"].should == "1"
18
- doc.root.attributes["tests"].should == "1"
19
- doc.root.elements.to_a("/testsuite/testcase").size.should == 1
20
- doc.root.elements.to_a("/testsuite/testcase/error").size.should == 1
21
- doc.root.elements.to_a("/testsuite/testcase/failure").size.should == 1
22
- doc.root.elements.to_a("/testsuite/system-out").first.texts.inject("") do |c,e|
23
- c << e.value; c
24
- end.strip.should == "Some <![CDATA[on stdout]]>"
25
63
  end
26
64
 
27
- it "should have no errors or failures for MiniTestExampleTestTwo" do
28
- doc = File.open(File.join(REPORTS_DIR, 'TEST-MiniTestExampleTestTwo.xml')) do |f|
65
+ context "a passing test" do
66
+ subject(:result) { Accessor.new(load_xml_result(passing_report_path)) }
67
+
68
+ it { is_expected.to have(0).failures }
69
+ it { is_expected.to have(0).errors }
70
+ it { is_expected.to have(1).testcases }
71
+
72
+ describe "the assertion count" do
73
+ subject { result.assertions_count }
74
+ it { is_expected.to eql 1 }
75
+ end
76
+
77
+ it_behaves_like "nothing was output"
78
+ it_behaves_like "a report with consistent attribute counts"
79
+ end
80
+
81
+ def load_xml_result(path)
82
+ File.open(path) do |f|
29
83
  REXML::Document.new(f)
30
84
  end
31
- doc.root.attributes["errors"].should == "0"
32
- doc.root.attributes["failures"].should == "0"
33
- doc.root.attributes["assertions"].should == "1"
34
- doc.root.attributes["tests"].should == "1"
35
- doc.root.elements.to_a("/testsuite/testcase").size.should == 1
36
- doc.root.elements.to_a("/testsuite/testcase/failure").size.should == 0
37
85
  end
38
86
  end
@@ -17,10 +17,12 @@ Gem::Specification.new do |spec|
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features|acceptance)/})
18
18
  spec.require_paths = ["lib"]
19
19
 
20
- spec.add_dependency "minitest", "~> 2.2.0"
21
- spec.add_dependency "ci_reporter", "2.0.0.alpha1"
20
+ spec.add_dependency "minitest", "~> 5.0"
21
+ spec.add_dependency "ci_reporter", "2.0.0.alpha2"
22
22
 
23
23
  spec.add_development_dependency "bundler", "~> 1.6"
24
24
  spec.add_development_dependency "rake"
25
25
  spec.add_development_dependency "rspec", "~> 2.0"
26
+ spec.add_development_dependency "rspec-collection_matchers"
27
+ spec.add_development_dependency "ci_reporter_test_utils"
26
28
  end
@@ -1,219 +1,124 @@
1
1
  require 'ci/reporter/core'
2
- require 'minitest/unit'
2
+ require 'minitest'
3
3
 
4
4
  module CI
5
5
  module Reporter
6
6
  class Failure
7
- def self.new(fault, type = nil, meth = nil)
8
- return MiniTestSkipped.new(fault) if type == :skip
9
- return MiniTestFailure.new(fault, meth) if type == :failure
10
- MiniTestError.new(fault)
11
- end
12
- end
13
-
14
- class FailureCore
15
- def location(e)
16
- last_before_assertion = ""
17
- e.backtrace.reverse_each do |s|
18
- break if s =~ /in .(assert|refute|flunk|pass|fail|raise|must|wont)/
19
- last_before_assertion = s
7
+ def self.classify(fault)
8
+ if fault.class == ::Minitest::Assertion
9
+ MiniTestFailure.new(fault)
10
+ else
11
+ MiniTestError.new(fault)
20
12
  end
21
- last_before_assertion.sub(/:in .*$/, '')
22
13
  end
23
- end
24
14
 
25
- class MiniTestSkipped < FailureCore
26
15
  def initialize(fault) @fault = fault end
27
- def failure?() false end
28
- def error?() false end
29
- def name() @fault.class.name end
16
+ def name() @fault.error.class.name end
30
17
  def message() @fault.message end
31
- def location() super @fault end
18
+ def location() @fault.location end
32
19
  end
33
20
 
34
- class MiniTestFailure < FailureCore
35
- def initialize(fault, meth) @fault = fault; @meth = meth end
21
+ class MiniTestFailure < Failure
36
22
  def failure?() true end
37
23
  def error?() false end
38
- def name() @meth end
39
- def message() @fault.message end
40
- def location() super @fault end
41
24
  end
42
25
 
43
- class MiniTestError < FailureCore
44
- def initialize(fault) @fault = fault end
26
+ class MiniTestError < Failure
45
27
  def failure?() false end
46
28
  def error?() true end
47
- def name() @fault.class.name end
48
- def message() @fault.message end
49
- def location() @fault.backtrace.join("\n") end
50
29
  end
51
30
 
52
- class Runner < MiniTest::Unit
53
-
54
- @@out = $stdout
55
-
56
- def initialize
57
- super
58
- @report_manager = ReportManager.new("test")
31
+ class ActualCapture
32
+ def start
33
+ @capture_out = OutputCapture.wrap($stdout) {|io| $stdout = io }
34
+ @capture_err = OutputCapture.wrap($stderr) {|io| $stderr = io }
59
35
  end
60
36
 
61
- def _run_anything(type)
62
- suites = MiniTest::Unit::TestCase.send "#{type}_suites"
63
- return if suites.empty?
64
-
65
- started_anything type
66
-
67
- sync = output.respond_to? :"sync=" # stupid emacs
68
- old_sync, output.sync = output.sync, true if sync
69
-
70
- _run_suites(suites, type)
71
-
72
- output.sync = old_sync if sync
73
-
74
- finished_anything(type)
37
+ def finish
38
+ [@capture_out.finish, @capture_err.finish]
75
39
  end
40
+ end
76
41
 
77
- def _run_suites(suites, type)
78
- suites.map { |suite| _run_suite suite, type }
42
+ class NoCapture
43
+ def start
79
44
  end
80
45
 
81
- def _run_suite(suite, type)
82
- start_suite(suite)
83
-
84
- header = "#{type}_suite_header"
85
- puts send(header, suite) if respond_to? header
86
-
87
- filter_suite_methods(suite, type).each do |method|
88
- _run_test(suite, method)
89
- end
90
-
91
- finish_suite
46
+ def finish
47
+ [nil, nil]
92
48
  end
49
+ end
93
50
 
94
- def _run_test(suite, method)
95
- start_case(method)
96
-
97
- result = run_test(suite, method)
98
-
99
- @assertion_count += result._assertions
100
- @test_count += 1
101
-
102
- finish_case
103
- end
51
+ class Runner < ::Minitest::AbstractReporter
52
+ def initialize
53
+ @report_manager = ReportManager.new("test")
104
54
 
105
- def puke(klass, meth, e)
106
- e = case e
107
- when MiniTest::Skip then
108
- @skips += 1
109
- fault(e, :skip)
110
- return "S" unless @verbose
111
- "Skipped:\n#{meth}(#{klass}) [#{location e}]:\n#{e.message}\n"
112
- when MiniTest::Assertion then
113
- @failures += 1
114
- fault(e, :failure, meth)
115
- "Failure:\n#{meth}(#{klass}) [#{location e}]:\n#{e.message}\n"
116
- else
117
- @errors += 1
118
- fault(e, :error)
119
- bt = MiniTest::filter_backtrace(e.backtrace).join "\n "
120
- "Error:\n#{meth}(#{klass}):\n#{e.class}: #{e.message}\n #{bt}\n"
121
- end
122
- @report << e
123
- e[0, 1]
55
+ # We have to handle this ourselves
56
+ if ENV['CI_CAPTURE'] == "off"
57
+ @capturer = NoCapture.new
58
+ else
59
+ @capturer = ActualCapture.new
60
+ end
61
+ ENV['CI_CAPTURE'] = "off"
124
62
  end
125
63
 
126
- private
127
-
128
- def started_anything(type)
129
- @test_count = 0
130
- @assertion_count = 0
131
- @last_assertion_count = 0
132
- @result_assertion_count = 0
133
- @start = Time.now
134
-
135
- puts
136
- puts "# Running #{type}s:"
137
- puts
64
+ def start
65
+ # We start to capture the std{out,err} here so that it is
66
+ # available at the end of the first test run.
67
+ @capturer.start
138
68
  end
139
69
 
140
- def finished_anything(type)
141
- t = Time.now - @start
142
- puts
143
- puts
144
- puts "Finished #{type}s in %.6fs, %.4f tests/s, %.4f assertions/s." %
145
- [t, @test_count / t, @assertion_count / t]
70
+ def record(result)
71
+ # Get the std{out,err} of the now-finished test before
72
+ # changing suites so that its lifecycle matches `result`.
73
+ stdout, stderr = @capturer.finish
74
+ @capturer.start
146
75
 
147
- report.each_with_index do |msg, i|
148
- puts "\n%3d) %s" % [i + 1, msg]
76
+ # This is the only method that gets to know what test and
77
+ # suite we are in, and is only called at the granularity of a
78
+ # test. We have to work backwards to understand when the suite
79
+ # changes.
80
+ if @current_suite_class != result.class
81
+ finish_suite
82
+ start_suite
149
83
  end
150
84
 
151
- puts
85
+ @current_suite_class = result.class
86
+ @current_suite.name = result.class.to_s
152
87
 
153
- status
154
- end
155
-
156
- def filter_suite_methods(suite, type)
157
- filter = options[:filter] || '/./'
158
- filter = Regexp.new $1 if filter =~ /\/(.*)\//
88
+ tc = TestCase.new(result.name, result.time, result.assertions)
89
+ tc.failures = result.failures.map {|f| Failure.classify(f)}
90
+ tc.skipped = result.skipped?
159
91
 
160
- suite.send("#{type}_methods").grep(filter)
92
+ @current_suite.testcases << tc
93
+ @current_suite.assertions += tc.assertions
94
+ @current_suite_stdout << stdout
95
+ @current_suite_stderr << stderr
161
96
  end
162
97
 
163
- def run_test(suite, method)
164
- inst = suite.new method
165
- inst._assertions = 0
166
-
167
- print "#{suite}##{method} = " if @verbose
168
-
169
- @start_time = Time.now
170
- result = inst.run self
171
- time = Time.now - @start_time
172
-
173
- print "%.2f s = " % time if @verbose
174
- print result
175
- puts if @verbose
176
-
177
- return inst
98
+ def report
99
+ finish_suite
178
100
  end
179
101
 
180
- def start_suite(suite_name)
181
- @current_suite = CI::Reporter::TestSuite.new(suite_name)
102
+ private
103
+
104
+ def start_suite
105
+ @current_suite = TestSuite.new("placeholder suite name")
182
106
  @current_suite.start
183
- end
184
107
 
185
- def finish_suite
186
- if @current_suite
187
- @current_suite.finish
188
- @current_suite.assertions = @assertion_count - @last_assertion_count
189
- @last_assertion_count = @assertion_count
190
- @report_manager.write_report(@current_suite)
191
- end
108
+ @current_suite.assertions = 0
109
+ @current_suite_stdout = []
110
+ @current_suite_stderr = []
192
111
  end
193
112
 
194
- def start_case(test_name)
195
- tc = CI::Reporter::TestCase.new(test_name)
196
- tc.start
197
- @current_suite.testcases << tc
198
- end
113
+ def finish_suite
114
+ return unless @current_suite
199
115
 
200
- def finish_case
201
- tc = @current_suite.testcases.last
202
- tc.finish
203
- tc.assertions = @assertion_count - @result_assertion_count
204
- @result_assertion_count = @assertion_count
205
- end
116
+ @current_suite.finish
117
+ @current_suite.stdout = @current_suite_stdout.join
118
+ @current_suite.stderr = @current_suite_stderr.join
206
119
 
207
- def fault(fault, type = nil, meth = nil)
208
- tc = @current_suite.testcases.last
209
- if :skip == type
210
- tc.skipped = true
211
- else
212
- tc.failures << Failure.new(fault, type, meth)
213
- end
120
+ @report_manager.write_report(@current_suite)
214
121
  end
215
-
216
122
  end
217
-
218
123
  end
219
124
  end
@@ -1,7 +1,7 @@
1
1
  module CI
2
2
  module Reporter
3
- class Minitest
4
- VERSION = "0.0.1"
3
+ module Minitest
4
+ VERSION = "0.0.2"
5
5
  end
6
6
  end
7
7
  end
@@ -4,8 +4,7 @@ namespace :ci do
4
4
  namespace :setup do
5
5
  task :minitest do
6
6
  rm_rf ENV["CI_REPORTS"] || "test/reports"
7
- test_loader = CI::Reporter.maybe_quote_filename "#{File.dirname(__FILE__)}/minitest_loader.rb"
8
- ENV["TESTOPTS"] = "#{ENV["TESTOPTS"]} #{test_loader}"
7
+ ENV["TESTOPTS"] = "#{ENV["TESTOPTS"]} --ci-reporter"
9
8
  end
10
9
  end
11
10
  end
@@ -0,0 +1,14 @@
1
+ module Minitest
2
+ def self.plugin_ci_reporter_options(opts, options)
3
+ opts.on "--ci-reporter", "Output to CI::Reporter" do
4
+ options[:ci_reporter] = true
5
+ end
6
+ end
7
+
8
+ def self.plugin_ci_reporter_init(options)
9
+ if options[:ci_reporter]
10
+ require 'ci/reporter/minitest'
11
+ self.reporter << CI::Reporter::Runner.new
12
+ end
13
+ end
14
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ci_reporter_minitest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Sieger
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-13 00:00:00.000000000 Z
12
+ date: 2014-07-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minitest
@@ -17,28 +17,28 @@ dependencies:
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: 2.2.0
20
+ version: '5.0'
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
- version: 2.2.0
27
+ version: '5.0'
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: ci_reporter
30
30
  requirement: !ruby/object:Gem::Requirement
31
31
  requirements:
32
32
  - - '='
33
33
  - !ruby/object:Gem::Version
34
- version: 2.0.0.alpha1
34
+ version: 2.0.0.alpha2
35
35
  type: :runtime
36
36
  prerelease: false
37
37
  version_requirements: !ruby/object:Gem::Requirement
38
38
  requirements:
39
39
  - - '='
40
40
  - !ruby/object:Gem::Version
41
- version: 2.0.0.alpha1
41
+ version: 2.0.0.alpha2
42
42
  - !ruby/object:Gem::Dependency
43
43
  name: bundler
44
44
  requirement: !ruby/object:Gem::Requirement
@@ -81,6 +81,34 @@ dependencies:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
83
  version: '2.0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: rspec-collection_matchers
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: ci_reporter_test_utils
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
84
112
  description:
85
113
  email:
86
114
  - nick@nicksieger.com
@@ -102,7 +130,7 @@ files:
102
130
  - lib/ci/reporter/minitest.rb
103
131
  - lib/ci/reporter/minitest/version.rb
104
132
  - lib/ci/reporter/rake/minitest.rb
105
- - lib/ci/reporter/rake/minitest_loader.rb
133
+ - lib/minitest/ci_reporter_plugin.rb
106
134
  homepage: https://github.com/ci-reporter/ci_reporter_minitest
107
135
  licenses:
108
136
  - MIT
@@ -1,5 +0,0 @@
1
- $: << File.dirname(__FILE__) + "/../../.."
2
- require 'ci/reporter/minitest'
3
-
4
- # set defaults
5
- MiniTest::Unit.runner = CI::Reporter::Runner.new