pax_global_header 0000666 0000000 0000000 00000000064 14315232525 0014514 g ustar 00root root 0000000 0000000 52 comment=02c1756f2b50853ccf698cca7ab2d607f67b47b3 rspec_junit_formatter-0.6.0/ 0000775 0000000 0000000 00000000000 14315232525 0016127 5 ustar 00root root 0000000 0000000 rspec_junit_formatter-0.6.0/.github/ 0000775 0000000 0000000 00000000000 14315232525 0017467 5 ustar 00root root 0000000 0000000 rspec_junit_formatter-0.6.0/.github/workflows/ 0000775 0000000 0000000 00000000000 14315232525 0021524 5 ustar 00root root 0000000 0000000 rspec_junit_formatter-0.6.0/.github/workflows/ci.yml 0000664 0000000 0000000 00000001377 14315232525 0022652 0 ustar 00root root 0000000 0000000 name: CI on: push: branches: [ main ] pull_request: branches: [ main ] jobs: test: strategy: matrix: ruby-version: ["2.6", "2.7", "3.0", "3.1"] rspec-version: ["2_x", "3_0", "3_1", "3_2", "3_3", "3_4", "3_5", "3_6", "3_7", "3_8", "3_9", "3_10"] runs-on: ubuntu-latest env: BUNDLE_GEMFILE: gemfiles/rspec_${{ matrix.rspec-version }}.gemfile steps: - uses: actions/checkout@v2 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby-version }} bundler-cache: true - name: Run tests run: bundle exec rake - name: Upload test artifacts uses: actions/upload-artifact@v2 if: always() with: name: test-artifacts path: tmp rspec_junit_formatter-0.6.0/.gitignore 0000664 0000000 0000000 00000000052 14315232525 0020114 0 ustar 00root root 0000000 0000000 /.bundle/ /doc/ /example/tmp/ /pkg/ /tmp/ rspec_junit_formatter-0.6.0/Appraisals 0000664 0000000 0000000 00000001572 14315232525 0020156 0 ustar 00root root 0000000 0000000 appraise "rspec-2-x" do gem "rspec", "~> 2.14", "< 2.99" gem "rake", "~> 10.0" # Rake.last_comment end appraise "rspec-3-0" do gem "rspec", "~> 3.0.0" gem "rake", "~> 10.0" # Rake.last_comment end appraise "rspec-3-1" do gem "rspec", "~> 3.1.0" gem "rake", "~> 10.0" # Rake.last_comment end appraise "rspec-3-2" do gem "rspec", "~> 3.2.0" gem "rake", "~> 10.0" # Rake.last_comment end appraise "rspec-3-3" do gem "rspec", "~> 3.3.0" gem "rake", "~> 10.0" # Rake.last_comment end appraise "rspec-3-4" do gem "rspec", "~> 3.4.0" end appraise "rspec-3-5" do gem "rspec", "~> 3.5.0" end appraise "rspec-3-6" do gem "rspec", "~> 3.6.0" end appraise "rspec-3-7" do gem "rspec", "~> 3.7.0" end appraise "rspec-3-8" do gem "rspec", "~> 3.8.0" end appraise "rspec-3-9" do gem "rspec", "~> 3.9.0" end appraise "rspec-3-10" do gem "rspec", "~> 3.10.0" end rspec_junit_formatter-0.6.0/CHANGELOG.md 0000664 0000000 0000000 00000003164 14315232525 0017744 0 ustar 00root root 0000000 0000000 # Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog] and this project adheres to [Semantic Versioning]. [Keep a Changelog]: http://keepachangelog.com/en/1.0.0/ [Semantic Versioning]: http://semver.org/spec/v2.0.0.html ## [Unreleased] [Unreleased]: https://github.com/sj26/rspec_junit_formatter/compare/v0.6.0...main ## [v0.6.0] ### Changed - Restrict to Ruby 2.3+ ### Fixed - Fix handling of nil durations [v0.6.0]: https://github.com/sj26/rspec_junit_formatter/compare/v0.5.1...v0.6.0 ## [v0.5.1] - 2022-01-06 ### Fixed - Fixed compatibility with older rubies [v0.5.1]: https://github.com/sj26/rspec_junit_formatter/compare/v0.5.0...v0.5.1 ## [v0.5.0] - 2022-01-04 ### Added - Added support to read outside error count returned from XML formatter (#86) ### Changed - Moved to GitHub Actions for CI - Test on current Ruby and RSpec versions [v0.5.0]: https://github.com/sj26/rspec_junit_formatter/compare/v0.4.1...v0.5.0 ## [v0.4.1] - 2018-05-26 ### Fixed - Diff ANSI stripping now works for codes with multiple tags, too [v0.4.1]: https://github.com/sj26/rspec_junit_formatter/compare/v0.4.0...v0.4.1 ## [v0.4.0] - 2018-05-26 ### Added - Add support for including STDOUT and STDERR from tests in the JUnit output (see ["Capturing output"] in the readme for details) ### Fixed - When RSpec includes a diff in its output, strip out ANSI escape codes used to color it for shell display [v0.4.0]: https://github.com/sj26/rspec_junit_formatter/compare/v0.3.0...v0.4.0 ["Capturing output"]: https://github.com/sj26/rspec_junit_formatter#capturing-output rspec_junit_formatter-0.6.0/Gemfile 0000664 0000000 0000000 00000000064 14315232525 0017422 0 ustar 00root root 0000000 0000000 source "https://rubygems.org" gemspec gem "rspec" rspec_junit_formatter-0.6.0/Gemfile.lock 0000664 0000000 0000000 00000001667 14315232525 0020363 0 ustar 00root root 0000000 0000000 PATH remote: . specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.8.0) nokogiri (1.13.4) mini_portile2 (~> 2.8.0) racc (~> 1.4) racc (1.6.0) rake (13.0.6) rspec (3.10.0) rspec-core (~> 3.10.0) rspec-expectations (~> 3.10.0) rspec-mocks (~> 3.10.0) rspec-core (3.10.1) rspec-support (~> 3.10.0) rspec-expectations (3.10.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.10.0) rspec-mocks (3.10.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.10.0) rspec-support (3.10.3) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake rspec rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/LICENSE 0000664 0000000 0000000 00000002047 14315232525 0017137 0 ustar 00root root 0000000 0000000 Copyright (c) 2011-2022 Samuel Cochran Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. rspec_junit_formatter-0.6.0/README.md 0000664 0000000 0000000 00000010170 14315232525 0017405 0 ustar 00root root 0000000 0000000 # RSpec JUnit Formatter [](https://github.com/sj26/rspec_junit_formatter/actions/workflows/ci.yml?branch=main) [](https://rubygems.org/gems/rspec_junit_formatter) [RSpec][rspec] 2 & 3 results that your CI can read. [Jenkins][jenkins-junit], [Buildkite][buildkite-junit], [CircleCI][circleci-junit], [Gitlab][gitlab-junit], and probably more, too. [rspec]: http://rspec.info/ [jenkins-junit]: https://jenkins.io/doc/pipeline/steps/junit/ [buildkite-junit]: https://github.com/buildkite/rspec-junit-example [circleci-junit]: https://circleci.com/docs/2.0/collect-test-data/ [gitlab-junit]: https://docs.gitlab.com/ee/ci/unit_test_reports.html#ruby-example ## Usage Install the gem: ```sh gem install rspec_junit_formatter ``` Use it: ```sh rspec --format RspecJunitFormatter --out rspec.xml ``` You'll get an XML file `rspec.xml` with your results in it. You can use it in combination with other [formatters][rspec-formatters], too: ```sh rspec --format progress --format RspecJunitFormatter --out rspec.xml ``` [rspec-formatters]: https://relishapp.com/rspec/rspec-core/v/3-6/docs/formatters ### Using in your project with Bundler Add it to your Gemfile if you're using [Bundler][bundler]. Put it in the same groups as rspec. ```ruby group :test do gem "rspec" gem "rspec_junit_formatter" end ``` Put the same arguments as the commands above in [your `.rspec`][rspec-file]: ```sh --format RspecJunitFormatter --out rspec.xml ``` [bundler]: https://bundler.io [rspec-file]: https://relishapp.com/rspec/rspec-core/v/3-6/docs/configuration/read-command-line-configuration-options-from-files ### Parallel tests For use with `parallel_tests`, add `$TEST_ENV_NUMBER` in the output file option (in `.rspec` or `.rspec_parallel`) to avoid concurrent process write conflicts. ```sh --format RspecJunitFormatter --out tmp/rspec<%= ENV["TEST_ENV_NUMBER"] %>.xml ``` The formatter includes `$TEST_ENV_NUMBER` in the test suite name within the XML, too. ### Capturing output If you like, you can capture the standard output and error streams of each test into the `:stdout` and `:stderr` example metadata which will be added to the junit report, e.g.: ```ruby # spec_helper.rb RSpec.configure do |config| # register around filter that captures stdout and stderr config.around(:each) do |example| $stdout = StringIO.new $stderr = StringIO.new example.run example.metadata[:stdout] = $stdout.string example.metadata[:stderr] = $stderr.string $stdout = STDOUT $stderr = STDERR end end ``` Note that this example captures all output from every example all the time, potentially interfering with local debugging. You might like to restrict this to only on CI, or by using [rspec filters](https://relishapp.com/rspec/rspec-core/docs/hooks/filters). ## Caveats * XML can only represent a [limited subset of characters][xml-charsets] which excludes null bytes and most control characters. This gem will use character entities where possible and fall back to replacing invalid characters with Ruby-like escape codes otherwise. For example, the null byte becomes `\0`. [xml-charsets]: https://www.w3.org/TR/xml/#charsets ## Development Run the specs with `bundle exec rake`, which uses [Appraisal][appraisal] to run the specs against all supported versions of rspec. [appraisal]: https://github.com/thoughtbot/appraisal ## Releasing Bump the gem version in the gemspec, and commit. Then `bundle exec rake build` to build a gem package, `bundle exec rake install` to install and test it locally, then `bundle exec rake release` to tag and push the commits and gem. ## License The MIT License, see [LICENSE](./LICENSE). ## Thanks Inspired by the work of [Diego Souza][dgvncsz0f] on [RSpec Formatters][dgvncsz0f/rspec_formatters] after frustration with [CI Reporter][ci_reporter]. [dgvncsz0f]: https://github.com/dgvncsz0f [dgvncsz0f/rspec_formatters]: https://github.com/dgvncsz0f/rspec_formatters [ci_reporter]: https://github.com/nicksieger/ci_reporter rspec_junit_formatter-0.6.0/Rakefile 0000664 0000000 0000000 00000000333 14315232525 0017573 0 ustar 00root root 0000000 0000000 require "bundler/gem_tasks" require "appraisal" require "rspec/core/rake_task" RSpec::Core::RakeTask.new(:spec) task :default => :spec if !ENV["APPRAISAL_INITIALIZED"] && !ENV["CI"] task :default => :appraisal end rspec_junit_formatter-0.6.0/example/ 0000775 0000000 0000000 00000000000 14315232525 0017562 5 ustar 00root root 0000000 0000000 rspec_junit_formatter-0.6.0/example/.rspec 0000664 0000000 0000000 00000000061 14315232525 0020674 0 ustar 00root root 0000000 0000000 --format RspecJunitFormatter --out tmp/rspec.xml rspec_junit_formatter-0.6.0/example/spec/ 0000775 0000000 0000000 00000000000 14315232525 0020514 5 ustar 00root root 0000000 0000000 rspec_junit_formatter-0.6.0/example/spec/example_spec.rb 0000664 0000000 0000000 00000002051 14315232525 0023504 0 ustar 00root root 0000000 0000000 require "spec_helper" require_relative "shared_examples" describe "some example specs" do it "should succeed" do expect(true).to be(true) end it "should fail" do expect(false).to be(true) end it "should raise" do raise ArgumentError end it "should be pending" do if defined? skip skip else pending end end it "shows diffs cleanly" do expect({a: "b", c: "d"}).to eql({a: 2, c: 4}) end it "replaces naughty \0 and \e characters, \x01 and \uFFFF too" do expect("\0\0\0").to eql("emergency services") end it "escapes controlling \u{7f} characters" do expect("\u{7f}").to eql("pacman om nom nom") end it "can include unicodes 😁" do expect("🚀").to eql("🔥") end it %{escapes } do expect("
This is important
").to eql("This is very important
") end it_should_behave_like "shared examples" it "can capture stdout and stderr" do $stdout.puts "Test" $stderr.puts "Bar" end end rspec_junit_formatter-0.6.0/example/spec/shared_examples.rb 0000664 0000000 0000000 00000000316 14315232525 0024205 0 ustar 00root root 0000000 0000000 shared_examples "shared examples" do context "in a shared example" do it "succeeds" do expect(true).to be(true) end it "also fails" do expect(false).to be(true) end end end rspec_junit_formatter-0.6.0/example/spec/spec_helper.rb 0000664 0000000 0000000 00000000526 14315232525 0023335 0 ustar 00root root 0000000 0000000 RSpec.configure do |config| # register around filter that captures stderr and stdout config.around(:each) do |example| $stdout = StringIO.new $stderr = StringIO.new example.run example.metadata[:stdout] = $stdout.string example.metadata[:stderr] = $stderr.string $stdout = STDOUT $stderr = STDERR end end rspec_junit_formatter-0.6.0/example/tmp/ 0000775 0000000 0000000 00000000000 14315232525 0020362 5 ustar 00root root 0000000 0000000 rspec_junit_formatter-0.6.0/example/tmp/.keep 0000664 0000000 0000000 00000000000 14315232525 0021275 0 ustar 00root root 0000000 0000000 rspec_junit_formatter-0.6.0/gemfiles/ 0000775 0000000 0000000 00000000000 14315232525 0017722 5 ustar 00root root 0000000 0000000 rspec_junit_formatter-0.6.0/gemfiles/.bundle/ 0000775 0000000 0000000 00000000000 14315232525 0021251 5 ustar 00root root 0000000 0000000 rspec_junit_formatter-0.6.0/gemfiles/.bundle/config 0000664 0000000 0000000 00000000071 14315232525 0022437 0 ustar 00root root 0000000 0000000 --- BUNDLE_RETRY: "1" BUNDLE_WITHOUT: "development,test" rspec_junit_formatter-0.6.0/gemfiles/rspec_2_x.gemfile 0000664 0000000 0000000 00000000223 14315232525 0023135 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 2.14", "< 2.99" gem "rake", "~> 10.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_2_x.gemfile.lock 0000664 0000000 0000000 00000001470 14315232525 0024071 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (10.5.0) rspec (2.14.1) rspec-core (~> 2.14.0) rspec-expectations (~> 2.14.0) rspec-mocks (~> 2.14.0) rspec-core (2.14.8) rspec-expectations (2.14.5) diff-lcs (>= 1.1.3, < 2.0) rspec-mocks (2.14.6) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake (~> 10.0) rspec (~> 2.14, < 2.99) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/gemfiles/rspec_3_0.gemfile 0000664 0000000 0000000 00000000212 14315232525 0023024 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 3.0.0" gem "rake", "~> 10.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_3_0.gemfile.lock 0000664 0000000 0000000 00000001641 14315232525 0023762 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (10.5.0) rspec (3.0.0) rspec-core (~> 3.0.0) rspec-expectations (~> 3.0.0) rspec-mocks (~> 3.0.0) rspec-core (3.0.4) rspec-support (~> 3.0.0) rspec-expectations (3.0.4) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.0.0) rspec-mocks (3.0.4) rspec-support (~> 3.0.0) rspec-support (3.0.4) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake (~> 10.0) rspec (~> 3.0.0) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/gemfiles/rspec_3_1.gemfile 0000664 0000000 0000000 00000000212 14315232525 0023025 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 3.1.0" gem "rake", "~> 10.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_3_1.gemfile.lock 0000664 0000000 0000000 00000001641 14315232525 0023763 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (10.5.0) rspec (3.1.0) rspec-core (~> 3.1.0) rspec-expectations (~> 3.1.0) rspec-mocks (~> 3.1.0) rspec-core (3.1.7) rspec-support (~> 3.1.0) rspec-expectations (3.1.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.1.0) rspec-mocks (3.1.3) rspec-support (~> 3.1.0) rspec-support (3.1.2) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake (~> 10.0) rspec (~> 3.1.0) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/gemfiles/rspec_3_10.gemfile 0000664 0000000 0000000 00000000165 14315232525 0023114 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 3.10.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_3_10.gemfile.lock 0000664 0000000 0000000 00000001704 14315232525 0024043 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (13.0.6) rspec (3.10.0) rspec-core (~> 3.10.0) rspec-expectations (~> 3.10.0) rspec-mocks (~> 3.10.0) rspec-core (3.10.1) rspec-support (~> 3.10.0) rspec-expectations (3.10.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.10.0) rspec-mocks (3.10.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.10.0) rspec-support (3.10.3) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake rspec (~> 3.10.0) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/gemfiles/rspec_3_2.gemfile 0000664 0000000 0000000 00000000212 14315232525 0023026 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 3.2.0" gem "rake", "~> 10.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_3_2.gemfile.lock 0000664 0000000 0000000 00000001702 14315232525 0023762 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (10.5.0) rspec (3.2.0) rspec-core (~> 3.2.0) rspec-expectations (~> 3.2.0) rspec-mocks (~> 3.2.0) rspec-core (3.2.3) rspec-support (~> 3.2.0) rspec-expectations (3.2.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.2.0) rspec-mocks (3.2.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.2.0) rspec-support (3.2.2) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake (~> 10.0) rspec (~> 3.2.0) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/gemfiles/rspec_3_3.gemfile 0000664 0000000 0000000 00000000212 14315232525 0023027 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 3.3.0" gem "rake", "~> 10.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_3_3.gemfile.lock 0000664 0000000 0000000 00000001702 14315232525 0023763 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (10.5.0) rspec (3.3.0) rspec-core (~> 3.3.0) rspec-expectations (~> 3.3.0) rspec-mocks (~> 3.3.0) rspec-core (3.3.2) rspec-support (~> 3.3.0) rspec-expectations (3.3.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.3.0) rspec-mocks (3.3.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.3.0) rspec-support (3.3.0) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake (~> 10.0) rspec (~> 3.3.0) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/gemfiles/rspec_3_4.gemfile 0000664 0000000 0000000 00000000164 14315232525 0023036 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 3.4.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_3_4.gemfile.lock 0000664 0000000 0000000 00000001670 14315232525 0023770 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (13.0.6) rspec (3.4.0) rspec-core (~> 3.4.0) rspec-expectations (~> 3.4.0) rspec-mocks (~> 3.4.0) rspec-core (3.4.4) rspec-support (~> 3.4.0) rspec-expectations (3.4.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.4.0) rspec-mocks (3.4.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.4.0) rspec-support (3.4.1) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake rspec (~> 3.4.0) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/gemfiles/rspec_3_5.gemfile 0000664 0000000 0000000 00000000164 14315232525 0023037 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 3.5.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_3_5.gemfile.lock 0000664 0000000 0000000 00000001670 14315232525 0023771 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (13.0.6) rspec (3.5.0) rspec-core (~> 3.5.0) rspec-expectations (~> 3.5.0) rspec-mocks (~> 3.5.0) rspec-core (3.5.4) rspec-support (~> 3.5.0) rspec-expectations (3.5.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.5.0) rspec-mocks (3.5.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.5.0) rspec-support (3.5.0) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake rspec (~> 3.5.0) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/gemfiles/rspec_3_6.gemfile 0000664 0000000 0000000 00000000164 14315232525 0023040 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 3.6.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_3_6.gemfile.lock 0000664 0000000 0000000 00000001670 14315232525 0023772 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (13.0.6) rspec (3.6.0) rspec-core (~> 3.6.0) rspec-expectations (~> 3.6.0) rspec-mocks (~> 3.6.0) rspec-core (3.6.0) rspec-support (~> 3.6.0) rspec-expectations (3.6.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.6.0) rspec-mocks (3.6.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.6.0) rspec-support (3.6.0) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake rspec (~> 3.6.0) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/gemfiles/rspec_3_7.gemfile 0000664 0000000 0000000 00000000164 14315232525 0023041 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 3.7.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_3_7.gemfile.lock 0000664 0000000 0000000 00000001670 14315232525 0023773 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (13.0.6) rspec (3.7.0) rspec-core (~> 3.7.0) rspec-expectations (~> 3.7.0) rspec-mocks (~> 3.7.0) rspec-core (3.7.1) rspec-support (~> 3.7.0) rspec-expectations (3.7.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.7.0) rspec-mocks (3.7.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.7.0) rspec-support (3.7.1) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake rspec (~> 3.7.0) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/gemfiles/rspec_3_8.gemfile 0000664 0000000 0000000 00000000164 14315232525 0023042 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 3.8.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_3_8.gemfile.lock 0000664 0000000 0000000 00000001670 14315232525 0023774 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (13.0.6) rspec (3.8.0) rspec-core (~> 3.8.0) rspec-expectations (~> 3.8.0) rspec-mocks (~> 3.8.0) rspec-core (3.8.2) rspec-support (~> 3.8.0) rspec-expectations (3.8.6) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.8.0) rspec-mocks (3.8.2) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.8.0) rspec-support (3.8.3) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake rspec (~> 3.8.0) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/gemfiles/rspec_3_9.gemfile 0000664 0000000 0000000 00000000164 14315232525 0023043 0 ustar 00root root 0000000 0000000 # This file was generated by Appraisal source "https://rubygems.org" gem "rspec", "~> 3.9.0" gemspec path: "../" rspec_junit_formatter-0.6.0/gemfiles/rspec_3_9.gemfile.lock 0000664 0000000 0000000 00000001670 14315232525 0023775 0 ustar 00root root 0000000 0000000 PATH remote: .. specs: rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) GEM remote: https://rubygems.org/ specs: appraisal (2.4.1) bundler rake thor (>= 0.14.0) coderay (1.1.3) diff-lcs (1.5.0) mini_portile2 (2.6.1) nokogiri (1.12.5) mini_portile2 (~> 2.6.1) racc (~> 1.4) racc (1.6.0) rake (13.0.6) rspec (3.9.0) rspec-core (~> 3.9.0) rspec-expectations (~> 3.9.0) rspec-mocks (~> 3.9.0) rspec-core (3.9.3) rspec-support (~> 3.9.3) rspec-expectations (3.9.4) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.9.0) rspec-mocks (3.9.1) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.9.0) rspec-support (3.9.4) thor (1.1.0) PLATFORMS ruby DEPENDENCIES appraisal bundler coderay nokogiri (~> 1.8, >= 1.8.2) rake rspec (~> 3.9.0) rspec_junit_formatter! BUNDLED WITH 2.2.26 rspec_junit_formatter-0.6.0/lib/ 0000775 0000000 0000000 00000000000 14315232525 0016675 5 ustar 00root root 0000000 0000000 rspec_junit_formatter-0.6.0/lib/rspec_junit_formatter.rb 0000664 0000000 0000000 00000013542 14315232525 0023637 0 ustar 00root root 0000000 0000000 # frozen_string_literal: true require "socket" require "time" require "rspec/core" require "rspec/core/formatters/base_formatter" # Dumps rspec results as a JUnit XML file. # Based on XML schema: http://windyroad.org/dl/Open%20Source/JUnit.xsd class RSpecJUnitFormatter < RSpec::Core::Formatters::BaseFormatter # rspec 2 and 3 implements are in separate files. private def xml_dump output << %{\n} output << %{