minitest-reporters 1.3.6 → 1.3.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +28 -27
  3. data/.rubocop.yml +77 -77
  4. data/.ruby-gemset +1 -1
  5. data/.travis.yml +14 -14
  6. data/.yardopts +5 -5
  7. data/CHANGELOG.md +98 -93
  8. data/Gemfile +2 -2
  9. data/LICENSE +20 -20
  10. data/README.md +135 -135
  11. data/Rakefile +70 -70
  12. data/appveyor.yml +22 -22
  13. data/lib/minitest/extensible_backtrace_filter.rb +67 -67
  14. data/lib/minitest/minitest_reporter_plugin.rb +76 -76
  15. data/lib/minitest/old_activesupport_fix.rb +24 -24
  16. data/lib/minitest/relative_position.rb +26 -26
  17. data/lib/minitest/reporters.rb +91 -91
  18. data/lib/minitest/reporters/ansi.rb +30 -30
  19. data/lib/minitest/reporters/base_reporter.rb +136 -136
  20. data/lib/minitest/reporters/default_reporter.rb +228 -228
  21. data/lib/minitest/reporters/html_reporter.rb +224 -224
  22. data/lib/minitest/reporters/junit_reporter.rb +168 -164
  23. data/lib/minitest/reporters/mean_time_reporter.rb +388 -388
  24. data/lib/minitest/reporters/progress_reporter.rb +102 -96
  25. data/lib/minitest/reporters/ruby_mate_reporter.rb +54 -54
  26. data/lib/minitest/reporters/rubymine_reporter.rb +116 -116
  27. data/lib/minitest/reporters/spec_reporter.rb +61 -61
  28. data/lib/minitest/reporters/version.rb +5 -5
  29. data/lib/minitest/templates/index.html.erb +82 -82
  30. data/minitest-reporters.gemspec +31 -32
  31. data/test/fixtures/junit_filename_bug_example_test.rb +41 -41
  32. data/test/fixtures/mean_time_test.rb +36 -36
  33. data/test/fixtures/progress_detailed_skip_test.rb +8 -8
  34. data/test/fixtures/progress_test.rb +8 -8
  35. data/test/fixtures/sample_test.rb +15 -15
  36. data/test/fixtures/spec_test.rb +18 -18
  37. data/test/gallery/bad_test.rb +25 -25
  38. data/test/gallery/good_test.rb +14 -14
  39. data/test/integration/reporters/junit_reporter_test.rb +12 -12
  40. data/test/integration/reporters/mean_time_reporter_test.rb +7 -7
  41. data/test/integration/reporters/progress_reporter_test.rb +40 -40
  42. data/test/test_helper.rb +22 -22
  43. data/test/unit/minitest/extensible_backtrace_filter_test.rb +42 -42
  44. data/test/unit/minitest/junit_reporter_test.rb +46 -23
  45. data/test/unit/minitest/mean_time_reporter_unit_test.rb +149 -149
  46. data/test/unit/minitest/minitest_reporter_plugin_test.rb +14 -14
  47. data/test/unit/minitest/reporters_test.rb +65 -65
  48. data/test/unit/minitest/spec_reporter_test.rb +62 -62
  49. metadata +22 -5
@@ -1,8 +1,8 @@
1
- require 'bundler/setup'
2
- require 'minitest/autorun'
3
- require 'minitest/reporters'
4
-
5
- Minitest::Reporters.use! Minitest::Reporters::ProgressReporter.new(detailed_skip: false)
6
-
7
- require_relative 'sample_test'
8
-
1
+ require 'bundler/setup'
2
+ require 'minitest/autorun'
3
+ require 'minitest/reporters'
4
+
5
+ Minitest::Reporters.use! Minitest::Reporters::ProgressReporter.new(detailed_skip: false)
6
+
7
+ require_relative 'sample_test'
8
+
@@ -1,8 +1,8 @@
1
- require 'bundler/setup'
2
- require 'minitest/autorun'
3
- require 'minitest/reporters'
4
-
5
- Minitest::Reporters.use! Minitest::Reporters::ProgressReporter.new
6
-
7
- require_relative 'sample_test'
8
-
1
+ require 'bundler/setup'
2
+ require 'minitest/autorun'
3
+ require 'minitest/reporters'
4
+
5
+ Minitest::Reporters.use! Minitest::Reporters::ProgressReporter.new
6
+
7
+ require_relative 'sample_test'
8
+
@@ -1,15 +1,15 @@
1
- Class.new(Minitest::Test) do
2
- def test_success
3
- assert true
4
- end
5
- def test_failure
6
- assert false
7
- end
8
- def test_skip
9
- skip('Skipping rope')
10
- end
11
- def test_error
12
- raise 'An unexpected error'
13
- end
14
- end
15
-
1
+ Class.new(Minitest::Test) do
2
+ def test_success
3
+ assert true
4
+ end
5
+ def test_failure
6
+ assert false
7
+ end
8
+ def test_skip
9
+ skip('Skipping rope')
10
+ end
11
+ def test_error
12
+ raise 'An unexpected error'
13
+ end
14
+ end
15
+
@@ -1,18 +1,18 @@
1
- require 'bundler/setup'
2
- require 'minitest'
3
- require 'minitest/reporters'
4
- require 'minitest/autorun'
5
-
6
- Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
7
-
8
- describe String do
9
- describe '#length' do
10
- it 'works' do
11
- assert_equal 5, 'hello'.length
12
- end
13
-
14
- it 'doesn\'t works' do
15
- assert_equal 6, 'hello'.length
16
- end
17
- end
18
- end
1
+ require 'bundler/setup'
2
+ require 'minitest'
3
+ require 'minitest/reporters'
4
+ require 'minitest/autorun'
5
+
6
+ Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
7
+
8
+ describe String do
9
+ describe '#length' do
10
+ it 'works' do
11
+ assert_equal 5, 'hello'.length
12
+ end
13
+
14
+ it 'doesn\'t works' do
15
+ assert_equal 6, 'hello'.length
16
+ end
17
+ end
18
+ end
@@ -1,25 +1,25 @@
1
- require_relative "../test_helper"
2
-
3
- module MinitestReportersTest
4
- class BadTest < TestCase
5
- def test_a
6
- assert_equal 1, 2
7
- end
8
-
9
- def test_b
10
- assert false # simple failure
11
- end
12
-
13
- def test_b
14
- assert_equal "ab\nc", "ab\nd" # some nice diff
15
- end
16
-
17
- def test_boom
18
- raise "A random exception"
19
- end
20
-
21
- def test_long_method_name
22
- skip
23
- end
24
- end
25
- end
1
+ require_relative "../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class BadTest < TestCase
5
+ def test_a
6
+ assert_equal 1, 2
7
+ end
8
+
9
+ def test_b
10
+ assert false # simple failure
11
+ end
12
+
13
+ def test_b
14
+ assert_equal "ab\nc", "ab\nd" # some nice diff
15
+ end
16
+
17
+ def test_boom
18
+ raise "A random exception"
19
+ end
20
+
21
+ def test_long_method_name
22
+ skip
23
+ end
24
+ end
25
+ end
@@ -1,14 +1,14 @@
1
- require_relative "../test_helper"
2
-
3
- module MinitestReportersTest
4
- class GoodTest < TestCase
5
- def test_a
6
- assert_equal 1, 1
7
- assert 1
8
- end
9
-
10
- def test_b
11
- assert_equal 2, 2
12
- end
13
- end
14
- end
1
+ require_relative "../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class GoodTest < TestCase
5
+ def test_a
6
+ assert_equal 1, 1
7
+ assert 1
8
+ end
9
+
10
+ def test_b
11
+ assert_equal 2, 2
12
+ end
13
+ end
14
+ end
@@ -1,12 +1,12 @@
1
- require_relative "../../test_helper"
2
-
3
- module MinitestReportersTest
4
- class JUnitReporterTest < TestCase
5
- def test_replaces_special_characters_for_filenames_and_doesnt_crash
6
- fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
7
- test_filename = File.join(fixtures_directory, 'junit_filename_bug_example_test.rb')
8
- output = `ruby #{test_filename} 2>&1`
9
- refute_match 'No such file or directory', output
10
- end
11
- end
12
- end
1
+ require_relative "../../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class JUnitReporterTest < TestCase
5
+ def test_replaces_special_characters_for_filenames_and_doesnt_crash
6
+ fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
7
+ test_filename = File.join(fixtures_directory, 'junit_filename_bug_example_test.rb')
8
+ output = `ruby #{test_filename} 2>&1`
9
+ refute_match 'No such file or directory', output
10
+ end
11
+ end
12
+ end
@@ -1,7 +1,7 @@
1
- require_relative "../../test_helper"
2
-
3
- module MinitestReportersTest
4
- class MeanTimeReporterTest < TestCase
5
-
6
- end
7
- end
1
+ require_relative "../../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class MeanTimeReporterTest < TestCase
5
+
6
+ end
7
+ end
@@ -1,40 +1,40 @@
1
- require_relative "../../test_helper"
2
-
3
- module MinitestReportersTest
4
- class ProgressReporterTest < TestCase
5
- def test_all_failures_are_displayed
6
- fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
7
- test_filename = File.join(fixtures_directory, 'progress_test.rb')
8
- output = `#{ruby_executable} #{test_filename} 2>&1`
9
- assert_match 'ERROR["test_error"', output, 'Errors should be displayed'
10
- assert_match 'FAIL["test_failure"', output, 'Failures should be displayed'
11
- assert_match 'SKIP["test_skip', output, 'Skipped tests should be displayed'
12
- end
13
- def test_skipped_tests_are_not_displayed
14
- fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
15
- test_filename = File.join(fixtures_directory, 'progress_detailed_skip_test.rb')
16
- output = `#{ruby_executable} #{test_filename} 2>&1`
17
- assert_match 'ERROR["test_error"', output, 'Errors should be displayed'
18
- assert_match 'FAIL["test_failure"', output, 'Failures should be displayed'
19
- refute_match 'SKIP["test_skip', output, 'Skipped tests should not be displayed'
20
- end
21
- def test_progress_works_with_filter_and_specs
22
- fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
23
- test_filename = File.join(fixtures_directory, 'spec_test.rb')
24
- output = `#{ruby_executable} #{test_filename} -n /length/ 2>&1`
25
- refute_match '0 out of 0', output, 'Progress should not puts a warning'
26
- end
27
- def test_progress_works_with_strict_filter
28
- fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
29
- test_filename = File.join(fixtures_directory, 'spec_test.rb')
30
- output = `#{ruby_executable} #{test_filename} -n /^test_0001_works$/ 2>&1`
31
- refute_match '0 out of 0', output, 'Progress should not puts a warning'
32
- end
33
-
34
- private
35
-
36
- def ruby_executable
37
- defined?(JRUBY_VERSION) ? 'jruby' : 'ruby'
38
- end
39
- end
40
- end
1
+ require_relative "../../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class ProgressReporterTest < TestCase
5
+ def test_all_failures_are_displayed
6
+ fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
7
+ test_filename = File.join(fixtures_directory, 'progress_test.rb')
8
+ output = `#{ruby_executable} #{test_filename} 2>&1`
9
+ assert_match 'ERROR["test_error"', output, 'Errors should be displayed'
10
+ assert_match 'FAIL["test_failure"', output, 'Failures should be displayed'
11
+ assert_match 'SKIP["test_skip', output, 'Skipped tests should be displayed'
12
+ end
13
+ def test_skipped_tests_are_not_displayed
14
+ fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
15
+ test_filename = File.join(fixtures_directory, 'progress_detailed_skip_test.rb')
16
+ output = `#{ruby_executable} #{test_filename} 2>&1`
17
+ assert_match 'ERROR["test_error"', output, 'Errors should be displayed'
18
+ assert_match 'FAIL["test_failure"', output, 'Failures should be displayed'
19
+ refute_match 'SKIP["test_skip', output, 'Skipped tests should not be displayed'
20
+ end
21
+ def test_progress_works_with_filter_and_specs
22
+ fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
23
+ test_filename = File.join(fixtures_directory, 'spec_test.rb')
24
+ output = `#{ruby_executable} #{test_filename} -n /length/ 2>&1`
25
+ refute_match '0 out of 0', output, 'Progress should not puts a warning'
26
+ end
27
+ def test_progress_works_with_strict_filter
28
+ fixtures_directory = File.expand_path('../../../fixtures', __FILE__)
29
+ test_filename = File.join(fixtures_directory, 'spec_test.rb')
30
+ output = `#{ruby_executable} #{test_filename} -n /^test_0001_works$/ 2>&1`
31
+ refute_match '0 out of 0', output, 'Progress should not puts a warning'
32
+ end
33
+
34
+ private
35
+
36
+ def ruby_executable
37
+ defined?(JRUBY_VERSION) ? 'jruby' : 'ruby'
38
+ end
39
+ end
40
+ end
@@ -1,22 +1,22 @@
1
- require "bundler/setup"
2
- require "minitest/autorun"
3
- require "minitest/reporters"
4
-
5
- ENV['MINITEST_REPORTERS_MONO'] = 'yes'
6
- module MinitestReportersTest
7
- class TestCase < Minitest::Test
8
- end
9
- end
10
-
11
- # Testing the built-in reporters using automated unit testing would be extremely
12
- # brittle. Consequently, there are no unit tests for them. If you'd like to run
13
- # all the reporters sequentially on a fake test suite, run `rake gallery`.
14
-
15
- if ENV["REPORTER"] == "Pride"
16
- require "minitest/pride"
17
- elsif ENV["REPORTER"]
18
- reporter_klass = Minitest::Reporters.const_get(ENV["REPORTER"])
19
- Minitest::Reporters.use!(reporter_klass.new)
20
- else
21
- Minitest::Reporters.use!(Minitest::Reporters::DefaultReporter.new)
22
- end
1
+ require "bundler/setup"
2
+ require "minitest/autorun"
3
+ require "minitest/reporters"
4
+
5
+ ENV['MINITEST_REPORTERS_MONO'] = 'yes'
6
+ module MinitestReportersTest
7
+ class TestCase < Minitest::Test
8
+ end
9
+ end
10
+
11
+ # Testing the built-in reporters using automated unit testing would be extremely
12
+ # brittle. Consequently, there are no unit tests for them. If you'd like to run
13
+ # all the reporters sequentially on a fake test suite, run `rake gallery`.
14
+
15
+ if ENV["REPORTER"] == "Pride"
16
+ require "minitest/pride"
17
+ elsif ENV["REPORTER"]
18
+ reporter_klass = Minitest::Reporters.const_get(ENV["REPORTER"])
19
+ Minitest::Reporters.use!(reporter_klass.new)
20
+ else
21
+ Minitest::Reporters.use!(Minitest::Reporters::DefaultReporter.new)
22
+ end
@@ -1,42 +1,42 @@
1
- require_relative "../../test_helper"
2
-
3
- module MinitestReportersTest
4
- class ExtensibleBacktraceFilterTest < TestCase
5
- def setup
6
- @default_filter = Minitest::ExtensibleBacktraceFilter.default_filter
7
- @filter = Minitest::ExtensibleBacktraceFilter.new
8
- @backtrace = ["foo", "bar", "baz"]
9
- end
10
-
11
- def test_adding_filters
12
- @filter.add_filter(/foo/)
13
- assert @filter.filters?("foo")
14
- refute @filter.filters?("baz")
15
- end
16
-
17
- def test_filter_backtrace_when_first_line_is_filtered
18
- @filter.add_filter(/foo/)
19
- assert_equal ["bar", "baz"], @filter.filter(@backtrace)
20
- end
21
-
22
- def test_filter_backtrace_when_middle_line_is_filtered
23
- @filter.add_filter(/bar/)
24
- assert_equal ["foo"], @filter.filter(@backtrace)
25
- end
26
-
27
- def test_filter_backtrace_when_all_lines_are_filtered
28
- @filter.add_filter(/./)
29
- assert_equal ["foo", "bar", "baz"], @filter.filter(@backtrace)
30
- end
31
-
32
- def test_default_filter
33
- assert @default_filter.filters?("lib/minitest")
34
- assert @default_filter.filters?("lib/minitest/reporters")
35
- refute @default_filter.filters?("lib/my_gem")
36
- end
37
-
38
- def test_nil_backtrace
39
- assert_equal [], @filter.filter(nil)
40
- end
41
- end
42
- end
1
+ require_relative "../../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class ExtensibleBacktraceFilterTest < TestCase
5
+ def setup
6
+ @default_filter = Minitest::ExtensibleBacktraceFilter.default_filter
7
+ @filter = Minitest::ExtensibleBacktraceFilter.new
8
+ @backtrace = ["foo", "bar", "baz"]
9
+ end
10
+
11
+ def test_adding_filters
12
+ @filter.add_filter(/foo/)
13
+ assert @filter.filters?("foo")
14
+ refute @filter.filters?("baz")
15
+ end
16
+
17
+ def test_filter_backtrace_when_first_line_is_filtered
18
+ @filter.add_filter(/foo/)
19
+ assert_equal ["bar", "baz"], @filter.filter(@backtrace)
20
+ end
21
+
22
+ def test_filter_backtrace_when_middle_line_is_filtered
23
+ @filter.add_filter(/bar/)
24
+ assert_equal ["foo"], @filter.filter(@backtrace)
25
+ end
26
+
27
+ def test_filter_backtrace_when_all_lines_are_filtered
28
+ @filter.add_filter(/./)
29
+ assert_equal ["foo", "bar", "baz"], @filter.filter(@backtrace)
30
+ end
31
+
32
+ def test_default_filter
33
+ assert @default_filter.filters?("lib/minitest")
34
+ assert @default_filter.filters?("lib/minitest/reporters")
35
+ refute @default_filter.filters?("lib/my_gem")
36
+ end
37
+
38
+ def test_nil_backtrace
39
+ assert_equal [], @filter.filter(nil)
40
+ end
41
+ end
42
+ end
@@ -1,23 +1,46 @@
1
- require_relative "../../test_helper"
2
-
3
- module MinitestReportersTest
4
- class JUnitReporterUnitTest < Minitest::Test
5
- def setup
6
- @reporter = Minitest::Reporters::JUnitReporter.new(
7
- "report",
8
- false,
9
- :base_apath => Dir.pwd
10
- )
11
- @result = Minitest::Result.new("test_name")
12
- end
13
-
14
- def test_relative_path
15
- path = Pathname.new(__FILE__).relative_path_from(Pathname.new(Dir.pwd)).to_s
16
- @result.source_location = [path, 10]
17
- relative_path = @reporter.get_relative_path(@result)
18
- assert_equal path, relative_path.to_s
19
- end
20
- end
21
- end
22
-
23
-
1
+ require_relative "../../test_helper"
2
+
3
+ module MinitestReportersTest
4
+ class JUnitReporterUnitTest < Minitest::Test
5
+ def setup
6
+ @reporter = Minitest::Reporters::JUnitReporter.new(
7
+ "report",
8
+ false,
9
+ :base_apath => Dir.pwd
10
+ )
11
+ @result = Minitest::Result.new("test_name")
12
+ end
13
+
14
+ def test_relative_path
15
+ path = Pathname.new(__FILE__).relative_path_from(Pathname.new(Dir.pwd)).to_s
16
+ @result.source_location = [path, 10]
17
+ relative_path = @reporter.get_relative_path(@result)
18
+ assert_equal path, relative_path.to_s
19
+ end
20
+
21
+ def test_defaults_reports_path
22
+ reporter = Minitest::Reporters::JUnitReporter.new
23
+ expected_reports_dir = Minitest::Reporters::JUnitReporter::DEFAULT_REPORTS_DIR
24
+ expected_reports_path = File.absolute_path(expected_reports_dir)
25
+ assert_equal expected_reports_path, reporter.reports_path
26
+ end
27
+
28
+ def test_accepts_custom_report_dir_using_env
29
+ expected_reports_dir = "test_reports"
30
+ expected_reports_path = File.absolute_path(expected_reports_dir)
31
+ with_env("MINITEST_REPORTERS_REPORTS_DIR" => expected_reports_dir) do
32
+ reporter = Minitest::Reporters::JUnitReporter.new
33
+ assert_equal expected_reports_path, reporter.reports_path
34
+ end
35
+ end
36
+
37
+ private
38
+
39
+ def with_env(hash)
40
+ original_env = ENV.to_hash
41
+ ENV.update(hash)
42
+ yield
43
+ ENV.replace(original_env)
44
+ end
45
+ end
46
+ end