test-unit-runner-junitxml 0.2.0 → 0.3.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: dcc822c3eb15c8429e1bf4a416b8d851445949fdcd70e911e978c54e93ef185f
4
- data.tar.gz: 9019e7126e6c0d038ee23596de5c94e9b0151cd49cad5c295b94535991fd5a8b
3
+ metadata.gz: dae7dcbf6a1e92a1f31dae3d428eb815a08a36374096a5936ff38eae7cd0cb7b
4
+ data.tar.gz: bffb5ed616dd1df0c7601a938839ce1cfaceaf2fdad1908cea1b506963ea11d1
5
5
  SHA512:
6
- metadata.gz: cccd48257f5637df20b4e1df12a9018dce9a60b93c00743291cd841c212dcc97929de63863a65013b4813068e06f6d4fe0bf34c4b220cbc349ce100540b12051
7
- data.tar.gz: b2d1012a3d79972dea86c3e3c05815e0f87293386b39d188b9672c19a692385964816a60924b5207296ebe0a8860f47a0faaa358e88d25c9513d520025aa96a5
6
+ metadata.gz: fb431e6eb84b3baa5f2c834ec20376e86532747bdcf5dbe26d05748cfd3bc6d03bede34851cccf1baac239a1eb2f7d9169510560907ab5024d46ed43e4ad8784
7
+ data.tar.gz: e6f8db833e78bd128f6025dd631020e495a3511bf2ee9984ca050e7ef8bb4427289c7fdabe78a52c54af5fc491be6cc06390ea6414ff27e6cce8f72ab523b2a1
@@ -15,7 +15,7 @@ jobs:
15
15
  ruby: [head, 3.1, 3.0, 2.7, 2.6, jruby, truffleruby]
16
16
  exclude:
17
17
  - os: windows-latest
18
- ruby: 3.1
18
+ ruby: jruby
19
19
  - os: windows-latest
20
20
  ruby: truffleruby
21
21
  runs-on: ${{ matrix.os }}
data/README.ja.md CHANGED
@@ -33,8 +33,8 @@ $ ruby test.rb --runner=junitxml --junitxml-output-file=result.xml
33
33
  $ cat result.xml
34
34
  <?xml version="1.0" encoding="UTF-8" ?>
35
35
  <testsuites>
36
- <testsuite name="MyTest" tests="1" errors="0" failures="1" skipped="0" time="0.005365">
37
- <testcase classname="MyTest" name="test_1(MyTest)" time="0.0053308" assertions="1">
36
+ <testsuite name="MyTest" tests="1" errors="0" failures="1" skipped="0" time="0.0037614">
37
+ <testcase classname="MyTest" name="test_1(MyTest)" file="test.rb" time="0.0036311" assertions="1">
38
38
  <failure message="&lt;1&gt; expected but was
39
39
  &lt;2&gt;.">Failure:
40
40
  test_1(MyTest) [test.rb:7]:
data/README.md CHANGED
@@ -33,8 +33,8 @@ $ ruby test.rb --runner=junitxml --junitxml-output-file=result.xml
33
33
  $ cat result.xml
34
34
  <?xml version="1.0" encoding="UTF-8" ?>
35
35
  <testsuites>
36
- <testsuite name="MyTest" tests="1" errors="0" failures="1" skipped="0" time="0.005365">
37
- <testcase classname="MyTest" name="test_1(MyTest)" time="0.0053308" assertions="1">
36
+ <testsuite name="MyTest" tests="1" errors="0" failures="1" skipped="0" time="0.0037614">
37
+ <testcase classname="MyTest" name="test_1(MyTest)" file="test.rb" time="0.0036311" assertions="1">
38
38
  <failure message="&lt;1&gt; expected but was
39
39
  &lt;2&gt;.">Failure:
40
40
  test_1(MyTest) [test.rb:7]:
@@ -2,7 +2,7 @@ module Test
2
2
  module Unit
3
3
  module Runner
4
4
  module Junitxml
5
- VERSION = "0.2.0"
5
+ VERSION = "0.3.0"
6
6
  end
7
7
  end
8
8
  end
@@ -15,6 +15,7 @@ module Test
15
15
  def initialize(suite, options={})
16
16
  super
17
17
  @junit_test_suites = []
18
+ @base_dir_re = /\A#{Regexp.quote(Dir.pwd)}\//
18
19
  end
19
20
 
20
21
  private
@@ -49,7 +50,7 @@ module Test
49
50
  end
50
51
 
51
52
  def test_started(test)
52
- test_case = JUnitTestCase.new(test.class.name, test.description)
53
+ test_case = JUnitTestCase.new(test.class.name, test.description, test_file(test))
53
54
  @junit_test_suites.last << test_case
54
55
  unless @options[:junitxml_disable_output_capture]
55
56
  @stdout_org = $stdout
@@ -59,6 +60,12 @@ module Test
59
60
  end
60
61
  end
61
62
 
63
+ def test_file(test)
64
+ file = (test[:source_location] ||
65
+ test.method(test.method_name).source_location).first
66
+ file.sub(@base_dir_re, "")
67
+ end
68
+
62
69
  def test_finished(test)
63
70
  @junit_test_suites.last.test_cases.last.time = test.elapsed_time
64
71
  unless @options[:junitxml_disable_output_capture]
@@ -125,14 +132,15 @@ module Test
125
132
  end
126
133
 
127
134
  class JUnitTestCase
128
- attr_reader :class_name, :name
135
+ attr_reader :class_name, :name, :file
129
136
  attr_reader :failure, :error, :omission, :pending
130
137
  attr_reader :stdout, :stderr
131
138
  attr_accessor :assertion_count, :time
132
139
 
133
- def initialize(class_name, name)
140
+ def initialize(class_name, name, file)
134
141
  @class_name = class_name
135
142
  @name = name
143
+ @file = file
136
144
  @failure = @error = @omission = @pending = nil
137
145
  @stdout = StringIO.new
138
146
  @stderr = StringIO.new
@@ -3,7 +3,7 @@
3
3
  % @junit_test_suites.each do |test_suite|
4
4
  <testsuite name="<%=h test_suite.name %>" tests="<%=h test_suite.test_cases.size %>" errors="<%=h test_suite.errors.size %>" failures="<%=h test_suite.failures.size %>" skipped="<%=h test_suite.test_cases.count(&:skipped?) %>" time="<%=h test_suite.time %>">
5
5
  % test_suite.test_cases.each do |test_case|
6
- <testcase classname="<%=h test_case.class_name %>" name="<%=h test_case.name %>" time="<%=h test_case.time %>" assertions="<%=h test_case.assertion_count %>">
6
+ <testcase classname="<%=h test_case.class_name %>" name="<%=h test_case.name %>" file="<%=h test_case.file%>" time="<%=h test_case.time %>" assertions="<%=h test_case.assertion_count %>">
7
7
  % if test_case.error
8
8
  <error message="<%=h test_case.error.message %>" type="<%=h test_case.error.exception.class.name %>"><%=h test_case.error.long_display %></error>
9
9
  % elsif test_case.failure
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-unit-runner-junitxml
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OGAWA KenIchi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-12 00:00:00.000000000 Z
11
+ date: 2022-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler