test-unit-runner-junitxml 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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