minitest-ci 2.4.0 → 3.0.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.
- data/History.txt +19 -0
- data/Isolate +9 -0
- data/Manifest.txt +4 -1
- data/README.txt +5 -5
- data/Rakefile +1 -5
- data/lib/autotest/minitest_ci.rb +26 -0
- data/lib/minitest/ci.rb +72 -69
- data/lib/minitest/ci_plugin.rb +19 -0
- data/test/{test_minitest_ci.rb → minitest/test_ci.rb} +44 -30
- metadata +23 -26
data/History.txt
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
=== 3.0.0 / 2013-07-03
|
2
|
+
|
3
|
+
* 1 major enhancement:
|
4
|
+
|
5
|
+
* Retool to support minitest 5.
|
6
|
+
|
7
|
+
* 1 bug fix:
|
8
|
+
|
9
|
+
* Use inspect to correctly escape test/class names. (eentzel) Fixes #8
|
10
|
+
|
11
|
+
* 5 unknowns:
|
12
|
+
|
13
|
+
* Add autotest plugin.
|
14
|
+
* Add notes to autotest plugin.
|
15
|
+
* Update readme to reflect changes.
|
16
|
+
* Use Isolate file.
|
17
|
+
* Use error label.
|
18
|
+
|
19
|
+
|
1
20
|
=== 2.4.0 / 2012-11-10
|
2
21
|
This release let's people use either 3.x or 4.x as 4.x doesn't break the
|
3
22
|
needed api
|
data/Isolate
ADDED
data/Manifest.txt
CHANGED
data/README.txt
CHANGED
@@ -4,13 +4,13 @@
|
|
4
4
|
|
5
5
|
== DESCRIPTION:
|
6
6
|
|
7
|
-
CI reporter plugin for
|
7
|
+
CI reporter plugin for Minitest
|
8
8
|
|
9
|
-
This gem was made possible by
|
9
|
+
This gem was made possible by YP.com
|
10
10
|
|
11
11
|
== FEATURES/PROBLEMS:
|
12
12
|
|
13
|
-
* Uses
|
13
|
+
* Uses Minitest::Reporter which is only available since version 5
|
14
14
|
|
15
15
|
== SYNOPSIS:
|
16
16
|
|
@@ -21,12 +21,12 @@ for example) at the end of the test run. The report directory is cleaned
|
|
21
21
|
between test runs. To disable:
|
22
22
|
|
23
23
|
# test/helper.rb
|
24
|
-
|
24
|
+
Minitest::Ci.clean = false
|
25
25
|
|
26
26
|
# Rakefile (optional, but recommended!)
|
27
27
|
task :ci_cleanup do
|
28
28
|
require 'minitest/ci'
|
29
|
-
|
29
|
+
Minitest::Ci.new.start
|
30
30
|
end
|
31
31
|
task :test => %w[ci_cleanup test:one test:two]
|
32
32
|
|
data/Rakefile
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
require 'rubygems'
|
4
4
|
require 'hoe'
|
5
|
+
require 'isolate/rake'
|
5
6
|
|
6
7
|
Hoe.plugin :isolate
|
7
8
|
Hoe.plugin :version, :git
|
@@ -10,11 +11,6 @@ Hoe.spec 'minitest-ci' do
|
|
10
11
|
developer 'Brian Henderson', 'bhenderson@attinteractive.com'
|
11
12
|
|
12
13
|
self.testlib = :none
|
13
|
-
|
14
|
-
extra_deps << ['minitest', '>= 3.0', '< 5.0']
|
15
|
-
extra_dev_deps << ['nokogiri', '~> 1.5.0']
|
16
|
-
extra_dev_deps << ['rdoc', '>= 2.4.2']
|
17
|
-
extra_dev_deps << ['ZenTest']
|
18
14
|
end
|
19
15
|
|
20
16
|
# vim: syntax=ruby
|
@@ -0,0 +1,26 @@
|
|
1
|
+
##
|
2
|
+
# Plugin for Autotest to ignore MiniTest::Ci report directory.
|
3
|
+
#
|
4
|
+
# in your .autotest file:
|
5
|
+
#
|
6
|
+
# require 'autotest/minitest_ci'
|
7
|
+
#
|
8
|
+
# # optionally:
|
9
|
+
# Autotest::MiniTestCI.report_dir = 'some/other/path/to/reports'
|
10
|
+
#
|
11
|
+
# I think this plugin can do more than what it does now, but not sure yet.
|
12
|
+
# Leaving here to think about it more.
|
13
|
+
module Autotest::MiniTestCI
|
14
|
+
class << self
|
15
|
+
attr_accessor :report_dir
|
16
|
+
end
|
17
|
+
# MiniTest::Ci.report_dir which is configurable in your test suite is not
|
18
|
+
# accessible to autotest so we just have to make it duplicated here. If
|
19
|
+
# anyone has any good suggestions other than evaling a file etc. I'm open.
|
20
|
+
self.report_dir = 'test/reports'
|
21
|
+
|
22
|
+
# tell autotest to ignore the report directory.
|
23
|
+
Autotest.add_hook :initialize do |at|
|
24
|
+
at.add_exception Autotest::MiniTestCI.report_dir
|
25
|
+
end
|
26
|
+
end
|
data/lib/minitest/ci.rb
CHANGED
@@ -1,118 +1,121 @@
|
|
1
|
-
gem 'minitest'
|
2
|
-
require 'minitest/unit'
|
3
|
-
#unless MiniTest::Unit::VERSION >= '2.12.0'
|
4
|
-
unless MiniTest::Unit.public_method_defined? :record
|
5
|
-
abort 'you are running an unsupported version of MiniTest. try upgrading.'
|
6
|
-
end
|
7
|
-
|
8
1
|
require 'fileutils'
|
9
2
|
require 'cgi'
|
10
3
|
|
11
|
-
module
|
12
|
-
|
13
|
-
|
14
|
-
VERSION = '2.4.0'
|
4
|
+
module Minitest
|
5
|
+
class Ci < Reporter
|
15
6
|
|
16
|
-
|
7
|
+
VERSION = '3.0.0'
|
17
8
|
|
18
9
|
class << self
|
10
|
+
|
11
|
+
##
|
19
12
|
# Accessor method to change the report dir if you don't like the
|
20
13
|
# defaults.
|
14
|
+
|
21
15
|
attr_accessor :report_dir
|
22
16
|
|
17
|
+
##
|
23
18
|
# Clean the report_dir between test runs? (defaults to true)
|
24
|
-
|
19
|
+
|
20
|
+
attr_accessor :clean
|
25
21
|
end
|
22
|
+
|
26
23
|
self.report_dir = 'test/reports'
|
27
|
-
self.
|
24
|
+
self.clean = true
|
25
|
+
|
26
|
+
def initialize *args
|
27
|
+
super
|
28
28
|
|
29
|
-
|
30
|
-
@suites[suite] << [method, num_assertions, time, error]
|
29
|
+
self.results = Hash.new {|h,k| h[k] = []}
|
31
30
|
end
|
32
31
|
|
33
|
-
def
|
32
|
+
def passed?
|
33
|
+
true # don't care?
|
34
|
+
end
|
35
|
+
|
36
|
+
def start # clean
|
37
|
+
FileUtils.rm_rf report_dir if clean?
|
38
|
+
FileUtils.mkdir_p report_dir
|
39
|
+
end
|
40
|
+
|
41
|
+
def record result
|
42
|
+
results[result.class] << result
|
43
|
+
end
|
44
|
+
|
45
|
+
def report
|
34
46
|
io.puts
|
35
47
|
io.puts 'generating ci files'
|
36
48
|
|
37
|
-
clean
|
38
|
-
|
39
49
|
Dir.chdir report_dir do
|
40
|
-
|
41
|
-
|
50
|
+
results.each do |name, resultz|
|
51
|
+
File.open "TEST-#{CGI.escape(name.to_s)}.xml", "w" do |f|
|
52
|
+
f.puts generate_results name, resultz
|
53
|
+
end
|
42
54
|
end
|
43
55
|
end
|
44
56
|
end
|
45
57
|
|
46
|
-
def clean verbose = false
|
47
|
-
FileUtils.rm_rf report_dir, :verbose => verbose if auto_clean
|
48
|
-
FileUtils.mkdir_p report_dir, :verbose => verbose
|
49
|
-
end
|
50
|
-
|
51
58
|
private
|
52
59
|
|
53
60
|
def escape o
|
54
61
|
CGI.escapeHTML(o.to_s)
|
55
62
|
end
|
56
63
|
|
57
|
-
def
|
64
|
+
def generate_results name, results
|
58
65
|
total_time = assertions = errors = failures = skips = 0
|
59
|
-
|
60
|
-
total_time +=
|
61
|
-
assertions +=
|
62
|
-
|
63
|
-
|
66
|
+
results.each do |result|
|
67
|
+
total_time += result.time
|
68
|
+
assertions += result.assertions
|
69
|
+
# p result.failure.class
|
70
|
+
case result.failure
|
71
|
+
when Skip
|
64
72
|
skips += 1
|
65
|
-
when
|
66
|
-
failures += 1
|
67
|
-
when Exception
|
73
|
+
when UnexpectedError
|
68
74
|
errors += 1
|
75
|
+
when Assertion
|
76
|
+
failures += 1
|
69
77
|
end
|
70
78
|
end
|
71
79
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
80
|
+
xml = []
|
81
|
+
|
82
|
+
xml << '<?xml version="1.0" encoding="UTF-8"?>'
|
83
|
+
xml << "<testsuite time='%6f' skipped='%d' failures='%d' errors='%d' name=%p assertions='%d' tests='%d'>" %
|
84
|
+
[total_time, skips, failures, errors, name.to_s, assertions, results.count]
|
85
|
+
|
86
|
+
results.each do |result|
|
87
|
+
xml << " <testcase time='%6f' name=%p assertions='%s'>" %
|
88
|
+
[result.time, result.name, result.assertions]
|
89
|
+
if failure = result.failure
|
90
|
+
label = failure.result_label.downcase
|
91
|
+
|
92
|
+
if failure.is_a?(UnexpectedError)
|
93
|
+
failure = failure.error
|
83
94
|
end
|
84
|
-
f.puts " </testcase>"
|
85
|
-
end
|
86
95
|
|
87
|
-
|
88
|
-
|
89
|
-
|
96
|
+
klass = failure.class
|
97
|
+
msg = failure.message
|
98
|
+
bt = Minitest::filter_backtrace failure.backtrace
|
90
99
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
'failure'
|
100
|
+
xml << " <%s type='%s' message=%s>%s" %
|
101
|
+
[label, escape(klass), escape(msg).inspect, escape(bt.join("\n"))]
|
102
|
+
xml << " </%s>" % label
|
103
|
+
end
|
104
|
+
xml << " </testcase>"
|
97
105
|
end
|
98
|
-
end
|
99
106
|
|
100
|
-
|
101
|
-
end
|
107
|
+
xml << "</testsuite>"
|
102
108
|
|
103
|
-
|
109
|
+
xml
|
110
|
+
end
|
104
111
|
|
105
|
-
|
106
|
-
|
112
|
+
def report_dir
|
113
|
+
options.fetch(:ci_dir, self.class.report_dir)
|
107
114
|
end
|
108
115
|
|
109
|
-
def
|
110
|
-
|
111
|
-
super
|
116
|
+
def clean?
|
117
|
+
options.fetch(:ci_clean, self.class.clean)
|
112
118
|
end
|
113
119
|
|
114
120
|
end
|
115
121
|
end
|
116
|
-
|
117
|
-
# use
|
118
|
-
MiniTest::Unit.runner = MiniTest::CiUnit.new
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'minitest/ci'
|
2
|
+
|
3
|
+
module Minitest
|
4
|
+
|
5
|
+
def self.plugin_ci_init options
|
6
|
+
self.reporter << Ci.new(options[:io], options)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.plugin_ci_options opts, options
|
10
|
+
opts.on "--ci-dir", "Set the CI report dir. Default to #{Ci.report_dir}" do |dir|
|
11
|
+
options[:ci_dir] = dir
|
12
|
+
end
|
13
|
+
|
14
|
+
opts.on "--[no-]ci-clean", "Clean the CI report dir in between test runs. Default #{Ci.clean}" do |clean|
|
15
|
+
options[:ci_clean] = clean
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
@@ -1,10 +1,11 @@
|
|
1
|
-
|
2
|
-
require "minitest/spec"
|
1
|
+
gem 'minitest'
|
3
2
|
require "minitest/autorun"
|
3
|
+
require "minitest/ci"
|
4
|
+
|
4
5
|
require 'stringio'
|
5
6
|
require 'nokogiri'
|
6
7
|
|
7
|
-
class MockTestSuite <
|
8
|
+
class MockTestSuite < Minitest::Test
|
8
9
|
def test_raise_error
|
9
10
|
raise 'raise an error'
|
10
11
|
end
|
@@ -34,36 +35,33 @@ class MockTestSuite < MiniTest::Unit::TestCase
|
|
34
35
|
end
|
35
36
|
end
|
36
37
|
|
37
|
-
SpecWithPunctuation = describe "spec/with::punctuation" do
|
38
|
+
SpecWithPunctuation = describe "spec/with::'punctuation'" do
|
38
39
|
it "passes" do
|
39
40
|
pass
|
40
41
|
end
|
41
42
|
end
|
42
43
|
|
43
|
-
|
44
|
-
|
44
|
+
# better way?
|
45
|
+
$ci_io = StringIO.new
|
46
|
+
Minitest::Ci.clean = false
|
45
47
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
48
|
+
# setup test files
|
49
|
+
reporter = Minitest::Ci.new $ci_io
|
50
|
+
reporter.run_and_report do
|
51
|
+
Minitest.__run reporter, {}
|
52
|
+
end
|
51
53
|
|
52
|
-
|
53
|
-
runner._run_suite SpecWithPunctuation, :test
|
54
|
+
Minitest::Runnable.reset
|
54
55
|
|
55
|
-
|
56
|
-
|
57
|
-
ensure
|
58
|
-
MiniTest::Unit.output = old_out
|
59
|
-
end
|
56
|
+
class TestMinitest; end
|
57
|
+
class TestMinitest::TestCi < Minitest::Test
|
60
58
|
|
61
|
-
def
|
62
|
-
|
59
|
+
def output
|
60
|
+
$ci_io
|
63
61
|
end
|
64
62
|
|
65
63
|
def setup
|
66
|
-
file = "
|
64
|
+
file = "test/reports/TEST-MockTestSuite.xml"
|
67
65
|
@file = File.read file
|
68
66
|
@doc = Nokogiri.parse @file
|
69
67
|
@doc = @doc.at_xpath('/testsuite')
|
@@ -78,37 +76,51 @@ class TestMinitest::TestCi < MiniTest::Unit::TestCase
|
|
78
76
|
assert_equal "MockTestSuite", @doc['name']
|
79
77
|
end
|
80
78
|
|
81
|
-
def
|
79
|
+
def test_testcase_count
|
82
80
|
assert_equal 7, @doc.children.count {|c| Nokogiri::XML::Element === c}
|
83
81
|
@doc.children.each do |c|
|
84
82
|
next unless Nokogiri::XML::Element === c
|
85
83
|
assert_equal 'testcase', c.name
|
86
84
|
end
|
85
|
+
end
|
87
86
|
|
87
|
+
def test_testcase_passed
|
88
88
|
passed = @doc.at_xpath('/testsuite/testcase[@name="test_pass"]')
|
89
89
|
assert_equal 0, passed.children.count {|c| Nokogiri::XML::Element === c}
|
90
90
|
assert_equal '1', passed['assertions']
|
91
|
+
end
|
91
92
|
|
93
|
+
def test_testcase_skipped
|
92
94
|
skipped = @doc.at_xpath('/testsuite/testcase[@name="test_skip_assertion"]')
|
93
95
|
assert_equal 'skip assertion', skipped.at_xpath('skipped')['message']
|
94
96
|
assert_equal '0', skipped['assertions']
|
97
|
+
end
|
95
98
|
|
99
|
+
def test_testcase_failures
|
96
100
|
failure = @doc.at_xpath('/testsuite/testcase[@name="test_fail_assertion"]')
|
97
101
|
assert_equal 'fail assertion', failure.at_xpath('failure')['message']
|
98
102
|
assert_equal '1', failure['assertions']
|
103
|
+
end
|
99
104
|
|
105
|
+
def test_testcase_errors
|
100
106
|
error = @doc.at_xpath('/testsuite/testcase[@name="test_raise_error"]')
|
101
|
-
assert_equal 'raise an error', error.at_xpath('
|
107
|
+
assert_equal 'raise an error', error.at_xpath('error')['message']
|
102
108
|
assert_equal '0', error['assertions']
|
109
|
+
end
|
103
110
|
|
111
|
+
def test_testcase_error_with_invalid_chars
|
104
112
|
error = @doc.at_xpath('/testsuite/testcase[@name="test_invalid_characters_in_message"]')
|
105
|
-
assert_match( /^#<Object/, error.at_xpath('
|
113
|
+
assert_match( /^#<Object/, error.at_xpath('error')['message'] )
|
106
114
|
assert_equal '0', error['assertions']
|
115
|
+
end
|
107
116
|
|
117
|
+
def test_testcase_error_with_invalid_name
|
108
118
|
error = @doc.at_xpath('/testsuite/testcase[@name="test_invalid_error_name"]')
|
109
|
-
assert_match( /^#<Class/, error.at_xpath('
|
119
|
+
assert_match( /^#<Class/, error.at_xpath('error')['message'] )
|
110
120
|
assert_equal '0', error['assertions']
|
121
|
+
end
|
111
122
|
|
123
|
+
def test_testcase_error_with_bad_chars
|
112
124
|
error = @doc.at_xpath('/testsuite/testcase[@name="test_escaping_failure_message"]')
|
113
125
|
msg = "failed: doesn't like single or \"double\" quotes or symbols such as <"
|
114
126
|
assert_equal msg, error.at_xpath('failure')['message']
|
@@ -116,8 +128,9 @@ class TestMinitest::TestCi < MiniTest::Unit::TestCase
|
|
116
128
|
end
|
117
129
|
|
118
130
|
def test_output
|
119
|
-
|
120
|
-
|
131
|
+
output.rewind
|
132
|
+
expected = "\ngenerating ci files\n"
|
133
|
+
assert_equal expected, output.read
|
121
134
|
end
|
122
135
|
|
123
136
|
def test_filtering_backtraces
|
@@ -125,8 +138,9 @@ class TestMinitest::TestCi < MiniTest::Unit::TestCase
|
|
125
138
|
refute_match( /lib\/minitest/, error.inner_text )
|
126
139
|
end
|
127
140
|
|
128
|
-
def
|
129
|
-
|
130
|
-
|
141
|
+
def test_suitename
|
142
|
+
file = File.read "test/reports/TEST-spec%2Fwith%3A%3A%27punctuation%27.xml"
|
143
|
+
suite = Nokogiri.parse(file).at_xpath('/testsuite')
|
144
|
+
assert_equal "spec/with::'punctuation'", suite['name']
|
131
145
|
end
|
132
146
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: minitest-ci
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,17 +9,14 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-07-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: minitest
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: '3.0'
|
22
|
-
- - <
|
19
|
+
- - ~>
|
23
20
|
- !ruby/object:Gem::Version
|
24
21
|
version: '5.0'
|
25
22
|
type: :runtime
|
@@ -27,20 +24,17 @@ dependencies:
|
|
27
24
|
version_requirements: !ruby/object:Gem::Requirement
|
28
25
|
none: false
|
29
26
|
requirements:
|
30
|
-
- -
|
31
|
-
- !ruby/object:Gem::Version
|
32
|
-
version: '3.0'
|
33
|
-
- - <
|
27
|
+
- - ~>
|
34
28
|
- !ruby/object:Gem::Version
|
35
29
|
version: '5.0'
|
36
30
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
31
|
+
name: nokogiri
|
38
32
|
requirement: !ruby/object:Gem::Requirement
|
39
33
|
none: false
|
40
34
|
requirements:
|
41
35
|
- - ~>
|
42
36
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
37
|
+
version: 1.5.0
|
44
38
|
type: :development
|
45
39
|
prerelease: false
|
46
40
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -48,23 +42,23 @@ dependencies:
|
|
48
42
|
requirements:
|
49
43
|
- - ~>
|
50
44
|
- !ruby/object:Gem::Version
|
51
|
-
version:
|
45
|
+
version: 1.5.0
|
52
46
|
- !ruby/object:Gem::Dependency
|
53
|
-
name:
|
47
|
+
name: rdoc
|
54
48
|
requirement: !ruby/object:Gem::Requirement
|
55
49
|
none: false
|
56
50
|
requirements:
|
57
|
-
- -
|
51
|
+
- - ! '>='
|
58
52
|
- !ruby/object:Gem::Version
|
59
|
-
version:
|
53
|
+
version: 2.4.2
|
60
54
|
type: :development
|
61
55
|
prerelease: false
|
62
56
|
version_requirements: !ruby/object:Gem::Requirement
|
63
57
|
none: false
|
64
58
|
requirements:
|
65
|
-
- -
|
59
|
+
- - ! '>='
|
66
60
|
- !ruby/object:Gem::Version
|
67
|
-
version:
|
61
|
+
version: 2.4.2
|
68
62
|
- !ruby/object:Gem::Dependency
|
69
63
|
name: ZenTest
|
70
64
|
requirement: !ruby/object:Gem::Requirement
|
@@ -88,7 +82,7 @@ dependencies:
|
|
88
82
|
requirements:
|
89
83
|
- - ~>
|
90
84
|
- !ruby/object:Gem::Version
|
91
|
-
version: '3.
|
85
|
+
version: '3.5'
|
92
86
|
type: :development
|
93
87
|
prerelease: false
|
94
88
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -96,11 +90,11 @@ dependencies:
|
|
96
90
|
requirements:
|
97
91
|
- - ~>
|
98
92
|
- !ruby/object:Gem::Version
|
99
|
-
version: '3.
|
100
|
-
description: ! 'CI reporter plugin for
|
93
|
+
version: '3.5'
|
94
|
+
description: ! 'CI reporter plugin for Minitest
|
101
95
|
|
102
96
|
|
103
|
-
This gem was made possible by
|
97
|
+
This gem was made possible by YP.com'
|
104
98
|
email:
|
105
99
|
- bhenderson@attinteractive.com
|
106
100
|
executables: []
|
@@ -112,11 +106,14 @@ extra_rdoc_files:
|
|
112
106
|
files:
|
113
107
|
- .autotest
|
114
108
|
- History.txt
|
109
|
+
- Isolate
|
115
110
|
- Manifest.txt
|
116
111
|
- README.txt
|
117
112
|
- Rakefile
|
113
|
+
- lib/autotest/minitest_ci.rb
|
118
114
|
- lib/minitest/ci.rb
|
119
|
-
-
|
115
|
+
- lib/minitest/ci_plugin.rb
|
116
|
+
- test/minitest/test_ci.rb
|
120
117
|
- .gemtest
|
121
118
|
homepage: https://github.com/bhenderson/minitest-ci
|
122
119
|
licenses: []
|
@@ -140,9 +137,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
137
|
version: '0'
|
141
138
|
requirements: []
|
142
139
|
rubyforge_project: minitest-ci
|
143
|
-
rubygems_version: 1.8.
|
140
|
+
rubygems_version: 1.8.25
|
144
141
|
signing_key:
|
145
142
|
specification_version: 3
|
146
|
-
summary: CI reporter plugin for
|
143
|
+
summary: CI reporter plugin for Minitest This gem was made possible by YP.com
|
147
144
|
test_files:
|
148
|
-
- test/
|
145
|
+
- test/minitest/test_ci.rb
|