multi_test 0.1.0 → 1.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.
Files changed (64) hide show
  1. checksums.yaml +5 -5
  2. data/.github/CODEOWNERS +1 -0
  3. data/.github/settings.yml +41 -0
  4. data/.github/workflows/release-github.yml +24 -0
  5. data/.github/workflows/release-ruby.yml +33 -0
  6. data/.github/workflows/test-ruby.yml +46 -0
  7. data/.whitesource +15 -0
  8. data/CHANGELOG.md +46 -0
  9. data/Makefile +4 -4
  10. data/README.md +5 -5
  11. data/VERSION +1 -0
  12. data/lib/multi_test/assertion_library.rb +15 -5
  13. data/lib/multi_test.rb +0 -27
  14. data/multi_test.gemspec +6 -3
  15. data/test-all +7 -0
  16. data/test-gemfile +32 -0
  17. metadata +17 -100
  18. data/.travis.yml +0 -8
  19. data/History.md +0 -7
  20. data/Rakefile +0 -9
  21. data/test/README.md +0 -7
  22. data/test/all +0 -20
  23. data/test/gemfiles/activesupport-4.0.0/Gemfile +0 -3
  24. data/test/gemfiles/activesupport-4.0.0/Gemfile.lock +0 -22
  25. data/test/gemfiles/activesupport-4.0.0/scenarios +0 -3
  26. data/test/gemfiles/activesupport-4.1.0/Gemfile +0 -3
  27. data/test/gemfiles/activesupport-4.1.0/Gemfile.lock +0 -23
  28. data/test/gemfiles/activesupport-4.1.0/scenarios +0 -2
  29. data/test/gemfiles/minitest-5.0.1/Gemfile +0 -3
  30. data/test/gemfiles/minitest-5.0.1/Gemfile.lock +0 -10
  31. data/test/gemfiles/minitest-5.0.1/scenarios +0 -3
  32. data/test/gemfiles/minitest-5.1.0/Gemfile +0 -3
  33. data/test/gemfiles/minitest-5.1.0/Gemfile.lock +0 -10
  34. data/test/gemfiles/minitest-5.1.0/scenarios +0 -3
  35. data/test/gemfiles/minitest-5.2.0/Gemfile +0 -3
  36. data/test/gemfiles/minitest-5.2.0/Gemfile.lock +0 -10
  37. data/test/gemfiles/minitest-5.2.0/scenarios +0 -3
  38. data/test/gemfiles/plain-ruby/Gemfile +0 -1
  39. data/test/gemfiles/plain-ruby/Gemfile.lock +0 -8
  40. data/test/gemfiles/plain-ruby/scenarios +0 -3
  41. data/test/gemfiles/rspec-1.3.2/Gemfile +0 -4
  42. data/test/gemfiles/rspec-1.3.2/Gemfile.lock +0 -12
  43. data/test/gemfiles/rspec-1.3.2/scenarios +0 -3
  44. data/test/gemfiles/rspec-2.14/Gemfile +0 -3
  45. data/test/gemfiles/rspec-2.14/Gemfile.lock +0 -18
  46. data/test/gemfiles/rspec-2.14/scenarios +0 -3
  47. data/test/gemfiles/rspec-3.0/Gemfile +0 -3
  48. data/test/gemfiles/rspec-3.0/Gemfile.lock +0 -22
  49. data/test/gemfiles/rspec-3.0/scenarios +0 -3
  50. data/test/gemfiles/test-unit-2.4.8/Gemfile +0 -3
  51. data/test/gemfiles/test-unit-2.4.8/Gemfile.lock +0 -10
  52. data/test/gemfiles/test-unit-2.4.8/scenarios +0 -3
  53. data/test/gemfiles/test-unit-2.4.9/Gemfile +0 -3
  54. data/test/gemfiles/test-unit-2.4.9/Gemfile.lock +0 -10
  55. data/test/gemfiles/test-unit-2.4.9/scenarios +0 -3
  56. data/test/run +0 -25
  57. data/test/scenarios/bundler_require.rb +0 -7
  58. data/test/scenarios/minitest_assertions.rb +0 -7
  59. data/test/scenarios/minitest_propagate_exit_code.rb +0 -9
  60. data/test/scenarios/require_activesupport_testing_autorun.rb +0 -4
  61. data/test/scenarios/require_test_unit.rb +0 -6
  62. data/test/scenarios/rspec_matchers.rb +0 -7
  63. data/test/scenarios/spec_matchers.rb +0 -7
  64. data/test/scenarios/test_unit_assertions.rb +0 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: d0afef8f6d5935c731cc77f5ce62112900f7f267
4
- data.tar.gz: 01f9568a08b9855e9cf1c90ef72a2f17a39d54a3
2
+ SHA256:
3
+ metadata.gz: 9bf367ba6889bb0f2a47168e857a773f5c7749f2f4b41e9cad7a20a7981dafac
4
+ data.tar.gz: 2506bc7ff22e1a38b87f98a2bb9595dde03179d40ffa7a7b87b60e09d4ebc10d
5
5
  SHA512:
6
- metadata.gz: afbb8a2df72e7fa5804ed0da863d674aa3cfb86fd63c3d4f69fea55034ee79aa8ad17c3aede614d13063585cc3d75c9eefbd44c9b3b23263ff15fc1b3b0a8417
7
- data.tar.gz: c2c59790170b596573f972cd5175104d31bbc134cfc9ae92933feeec2c35db9d837455b04f763c1ec365b428bb5e0066620784a4bff72fe7059f3ca482619306
6
+ metadata.gz: d7eba973632f273bf8edfc3a56e643c6a5bce41e43814e30b9d00bbdcac28065e35f5808ea272ec08a0c9aebdcdc7daeb1102fd2e911bda49daa987b73fccb99
7
+ data.tar.gz: c7e7c7d0a3fe90e079f3dd4410ab22256a56ecfaa1eb671c6813031b0b0f456503547e88fdcf0cedc52ee1521452bae622db6e08fb50a06911b922b1e037ee59
@@ -0,0 +1 @@
1
+ .github/settings.yml @cucumber/settings
@@ -0,0 +1,41 @@
1
+ _extends: .github
2
+
3
+ branches:
4
+ - name: main
5
+ protection:
6
+ required_pull_request_reviews: null
7
+ required_status_checks: null
8
+ restrictions: null
9
+ enforce_admins: true
10
+ # https://github.com/cucumber/multi_test
11
+ # https://github.com/cucumber/multi_test
12
+ # # https://docs.github.com/en/rest/reference/repos#update-branch-protection
13
+ # # Branch Protection settings.
14
+ # protection:
15
+ # # Required. Require at least one approving review on a pull request, before merging. Set to null to disable.
16
+ # required_pull_request_reviews:
17
+ # # The number of approvals required. (1-6)
18
+ # required_approving_review_count: 0
19
+ # # Dismiss approved reviews automatically when a new commit is pushed.
20
+ # dismiss_stale_reviews: true
21
+ # # Blocks merge until code owners have reviewed.
22
+ # require_code_owner_reviews: true
23
+ # # Specify which users and teams can dismiss pull request reviews. Pass an empty dismissal_restrictions object to disable. User and team dismissal_restrictions are only available for organization-owned repositories. Omit this parameter for personal repositories.
24
+ # dismissal_restrictions:
25
+ # users: []
26
+ # teams: []
27
+ # # Required. Require status checks to pass before merging. Set to null to disable
28
+ # required_status_checks:
29
+ # # Required. Require branches to be up to date before merging.
30
+ # strict: true
31
+ # # Required. The list of status checks to require in order to merge into this branch
32
+ # contexts: []
33
+ # # Required. Enforce all configured restrictions for administrators. Set to true to enforce required status checks for repository administrators. Set to null to disable.
34
+ # enforce_admins: true
35
+ # # Prevent merge commits from being pushed to matching branches
36
+ # required_linear_history: true
37
+ # # Required. Restrict who can push to this branch. Team and user restrictions are only available for organization-owned repositories. Set to null to disable.
38
+ # restrictions:
39
+ # apps: []
40
+ # users: []
41
+ # teams: []
@@ -0,0 +1,24 @@
1
+ name: Release on github
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - release/*
7
+
8
+ jobs:
9
+ pre-release-check:
10
+ uses: cucumber/.github/.github/workflows/prerelease-checks.yml@main
11
+
12
+ create-github-release:
13
+ name: Create Git tag and GitHub Release
14
+ needs: [pre-release-check]
15
+ runs-on: ubuntu-latest
16
+ environment: Release
17
+ permissions:
18
+ contents: write
19
+
20
+ steps:
21
+ - uses: actions/checkout@v3
22
+ - uses: cucumber/action-create-github-release@v1.1.0
23
+ with:
24
+ github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,33 @@
1
+ name: Release ruby gem
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - release/*
7
+
8
+ jobs:
9
+ pre-release-check:
10
+ uses: cucumber/.github/.github/workflows/prerelease-checks.yml@main
11
+
12
+ test-ruby:
13
+ uses: ./.github/workflows/test-ruby.yml
14
+
15
+ publish-rubygem:
16
+ name: Publish Ruby Gem
17
+ needs: [pre-release-check, test-ruby]
18
+ runs-on: ubuntu-latest
19
+ environment: Release
20
+
21
+ steps:
22
+ - uses: actions/checkout@v3
23
+
24
+ - name: Set up Ruby
25
+ uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: "3.0"
28
+ bundler-cache: true
29
+
30
+ - name: Publish ruby gem
31
+ uses: cucumber/action-publish-rubygem@v1.0.0
32
+ with:
33
+ rubygems_api_key: ${{ secrets.RUBYGEMS_API_KEY }}
@@ -0,0 +1,46 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+ schedule:
11
+ - cron: "0 0 * * *"
12
+ workflow_call:
13
+
14
+ jobs:
15
+ test:
16
+ strategy:
17
+ fail-fast: false
18
+ matrix:
19
+ os: [ubuntu-latest]
20
+ ruby: ["2.6", "2.7", "3.0", "3.1"]
21
+ gemfile: # These are duplicated from the test/gemfiles folder
22
+ - activesupport-4
23
+ - activesupport-5
24
+ - minitest-4
25
+ - minitest-5
26
+ - plain-ruby
27
+ - rspec-1
28
+ - rspec-2
29
+ - rspec-3
30
+ - test-unit-2
31
+ - test-unit-3
32
+
33
+ runs-on: ${{ matrix.os }}
34
+ steps:
35
+ - uses: actions/checkout@v3
36
+
37
+ - name: Set up Ruby
38
+ uses: ruby/setup-ruby@v1
39
+ with:
40
+ ruby-version: ${{ matrix.ruby }}
41
+ bundler-cache: false
42
+
43
+ - name: Run test scenarios
44
+ run: |
45
+ ./test-gemfile test/gemfiles/${{ matrix.gemfile }}
46
+ shell: bash
data/.whitesource ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "scanSettings": {
3
+ "configMode": "AUTO",
4
+ "configExternalURL": "",
5
+ "projectToken": "",
6
+ "baseBranches": []
7
+ },
8
+ "checkRunSettings": {
9
+ "vulnerableCheckRunConclusionLevel": "failure",
10
+ "displayMode": "diff"
11
+ },
12
+ "issueSettings": {
13
+ "minSeverityLevel": "LOW"
14
+ }
15
+ }
data/CHANGELOG.md ADDED
@@ -0,0 +1,46 @@
1
+ # Changelog
2
+
3
+ ## [Unreleased]
4
+
5
+ ## [1.0.0] - 2022-05-04
6
+ ### Changed
7
+ - As per [#251](https://github.com/cucumber/cucumber/issues/251): renamed History.md to CHANGELOG.md, added contributing message at beginning, and other formatting. ([#12](https://github.com/cucumber/multi_test/pull/12) [jaysonesmith](https://github.com/jaysonesmith/))
8
+
9
+ ### Removed
10
+ - Remove test files from the gem to prevent false-positive with security scanners
11
+ as reported in [#21](https://github.com/cucumber/multi_test/issues/21)
12
+ - Drop support for ruby < 2.0
13
+ ([PR#28](https://github.com/cucumber/multi_test/pull/28))
14
+ - Removed `disable_autorun`
15
+ ([PR#30](https://github.com/cucumber/multi_test/pull/30)
16
+ [Issue#26](https://github.com/cucumber/multi_test/issues/26))
17
+
18
+ ## [0.1.2]
19
+ ### Changed
20
+ - Ensure that detecting assetion library doesn't fail if no test framework
21
+ included. Ruby 2.2 removed minitest from standard library. (@tooky, @jmoody)
22
+
23
+ ## [0.1.1]
24
+ ### Removed
25
+ - Remove incompatibility with ruby 1.8.7
26
+
27
+ ## [0.1.0]
28
+ ### Added
29
+ - Detect best available assertion library for cucumber (@tooky)
30
+
31
+ ## [0.0.3]
32
+ ### Fixed
33
+ - Fix for Rails 4.1, Minitest 5.x ([#4](https://github.com/cucumber/multi_test/pull/4) Andy Lindeman)
34
+
35
+ ## [0.0.2]
36
+ ### Changed
37
+ - First gem release
38
+ - First gem release
39
+
40
+ [Unreleased]: https://github.com/cucumber/multi_test/compare/1.0.0..main
41
+ [1.0.0]: https://github.com/cucumber/multi_test/compare/v0.1.2..main
42
+ [0.1.2]: https://github.com/cucumber/multi_test/compare/v0.1.1...v0.1.2
43
+ [0.1.1]: https://github.com/cucumber/multi_test/compare/v0.1.0...v0.1.1
44
+ [0.1.0]: https://github.com/cucumber/multi_test/compare/v0.0.3...v0.1.0
45
+ [0.0.3]: https://github.com/cucumber/multi_test/compare/v0.0.2...v0.0.3
46
+ [0.0.2]: https://github.com/cucumber/multi_test/compare/bae4b700eb63cfb4e95f7acc35e25683f697905a...v0.0.2
data/Makefile CHANGED
@@ -1,7 +1,7 @@
1
- GEMFILES=$(shell ls ./gemfiles/**/Gemfile)
2
-
3
1
  all:
4
- ./test/all
2
+ ./test-all
3
+ .PHONY: all
5
4
 
6
5
  clean:
7
- rm -f gemfiles/**/*.lock
6
+ rm -f test/gemfiles/**/*.lock
7
+ .PHONY: clean
data/README.md CHANGED
@@ -1,14 +1,14 @@
1
- [![Build Status](https://travis-ci.org/cucumber/multi_test.png?branch=master)](https://travis-ci.org/cucumber/multi_test)
1
+ [![Tests](https://github.com/cucumber/multi_test/actions/workflows/test-ruby.yml/badge.svg)](https://github.com/cucumber/multi_test/actions/workflows/test-ruby.yml)
2
2
 
3
3
  This project gives you a uniform interface onto whatever testing library has been
4
4
  loaded into a running Ruby process.
5
5
 
6
- We use this within the Cucumber project to clobber autorun behaviour from older
7
- versions of `Test::Unit` that automatically hook in when the user requires them.
6
+ We use this within cucumber-ruby to discover and auto-load your favourite assertion library
8
7
 
9
8
  Example:
10
9
  ~~~ruby
11
10
  require 'multi_test'
12
- MultiTest.disable_autorun
13
- ~~~
14
11
 
12
+ my_tests = Object.new
13
+ MultiTest.extend_with_best_assertion_library(my_tests)
14
+ ~~~
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 1.0.0
@@ -26,11 +26,18 @@ module MultiTest
26
26
 
27
27
  private
28
28
 
29
+ def self.null
30
+ AssertionLibrary.new(
31
+ proc { },
32
+ proc { }
33
+ )
34
+ end
35
+
29
36
  def self.available
30
37
  @available ||= [
31
38
  AssertionLibrary.new(
32
39
  proc { require 'rspec/expectations' },
33
- proc { |object| object.extend(::RSpec::Matchers) },
40
+ proc { |object| object.extend(::RSpec::Matchers) }
34
41
  ),
35
42
  AssertionLibrary.new(
36
43
  proc {
@@ -42,20 +49,23 @@ module MultiTest
42
49
  options = OpenStruct.new(:diff_format => :unified, :context_lines => 3)
43
50
  Spec::Expectations.differ = Spec::Expectations::Differs::Default.new(options)
44
51
  object.extend(Spec::Matchers)
45
- },
52
+ }
46
53
  ),
47
54
  AssertionLibrary.new(
48
55
  proc { require 'minitest/assertions' },
49
- proc { |object| object.extend(MinitestWorld) },
56
+ proc { |object| object.extend(MinitestWorld) }
50
57
  ),
51
58
  AssertionLibrary.new(
52
59
  proc { require 'minitest/unit' },
53
- proc { |object| object.extend(MiniTest::Assertions) },
60
+ proc { |object| object.extend(MiniTest::Assertions) }
54
61
  ),
55
62
  AssertionLibrary.new(
56
63
  proc { require 'test/unit/assertions' },
57
- proc { |object| object.extend(Test::Unit::Assertions) },
64
+ proc { |object| object.extend(Test::Unit::Assertions) }
58
65
  ),
66
+ # Null assertion library must come last to prevent exceptions if
67
+ # unable to load a test framework
68
+ AssertionLibrary.null
59
69
  ]
60
70
  end
61
71
  end
data/lib/multi_test.rb CHANGED
@@ -1,32 +1,5 @@
1
1
  require 'multi_test/assertion_library'
2
2
  module MultiTest
3
- def self.disable_autorun
4
- if defined?(Test::Unit::Runner)
5
- Test::Unit::Runner.module_eval("@@stop_auto_run = true")
6
- end
7
-
8
- if defined?(Minitest)
9
- Minitest.instance_eval do
10
- def run(*)
11
- # propagate the exit code from cucumber or another runner
12
- case $!
13
- when SystemExit
14
- $!.status
15
- else
16
- true
17
- end
18
- end
19
- end
20
-
21
- if defined?(Minitest::Unit)
22
- Minitest::Unit.class_eval do
23
- def run(*)
24
- end
25
- end
26
- end
27
- end
28
- end
29
-
30
3
  def self.extend_with_best_assertion_library(object)
31
4
  AssertionLibrary.detect_best.extend_world(object)
32
5
  end
data/multi_test.gemspec CHANGED
@@ -3,7 +3,7 @@ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'multi_test'
6
- s.version = '0.1.0'
6
+ s.version = File.read(File.join(File.expand_path(__dir__),'VERSION'))
7
7
  s.authors = ["Matt Wynne", "Steve Tooke"]
8
8
  s.description = 'Wafter-thin gem to help control rogue test/unit/autorun requires'
9
9
  s.summary = "multi-test-#{s.version}"
@@ -13,8 +13,11 @@ Gem::Specification.new do |s|
13
13
 
14
14
  s.platform = Gem::Platform::RUBY
15
15
 
16
- s.rubygems_version = ">= 1.6.1"
17
- s.files = `git ls-files`.split("\n").reject {|path| path =~ /\.gitignore$/ }
16
+ s.required_ruby_version = ">= 2.0"
17
+ s.required_rubygems_version = ">= 1.6.1"
18
+ s.files = `git ls-files`.split("\n").
19
+ reject { |path| path =~ /\.gitignore$/ }.
20
+ reject { |path| path =~ /^test\// }
18
21
  s.test_files = `git ls-files -- {gemfiles,test}/*`.split("\n")
19
22
  s.rdoc_options = ["--charset=UTF-8"]
20
23
  s.require_path = "lib"
data/test-all ADDED
@@ -0,0 +1,7 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ for gemfile in test/gemfiles/*; do
6
+ ./test-gemfile $gemfile
7
+ done
data/test-gemfile ADDED
@@ -0,0 +1,32 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ GEMFILE_FOLDER=$1
6
+ GEMFILE=$GEMFILE_FOLDER/Gemfile
7
+ echo
8
+ echo $GEMFILE
9
+ echo
10
+ scenarios=$(cat $GEMFILE_FOLDER/scenarios)
11
+
12
+ PLATFORM="$(BUNDLE_GEMFILE=$GEMFILE bundle platform)"
13
+ if [[ "$PLATFORM" =~ "Your Ruby version is" ]]; then
14
+ echo "$PLATFORM"
15
+ echo
16
+ echo "Skipping."
17
+ exit 0
18
+ fi
19
+
20
+ for scenario in $scenarios; do
21
+ echo
22
+ echo $scenario
23
+ echo
24
+ scenario_path=test/scenarios/$scenario
25
+ BUNDLE_GEMFILE=$GEMFILE bundle install
26
+ output=$(BUNDLE_GEMFILE=$GEMFILE bundle exec ruby -I lib test/scenarios/$scenario)
27
+ if [[ ! -z $output ]]; then
28
+ echo "Expected output to be empty, but was:"
29
+ echo "$output"
30
+ exit 1
31
+ fi
32
+ done
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: multi_test
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Wynne
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-16 00:00:00.000000000 Z
12
+ date: 2022-05-05 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Wafter-thin gem to help control rogue test/unit/autorun requires
15
15
  email: cukes@googlegroups.com
@@ -17,60 +17,23 @@ executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
- - ".travis.yml"
21
- - History.md
20
+ - ".github/CODEOWNERS"
21
+ - ".github/settings.yml"
22
+ - ".github/workflows/release-github.yml"
23
+ - ".github/workflows/release-ruby.yml"
24
+ - ".github/workflows/test-ruby.yml"
25
+ - ".whitesource"
26
+ - CHANGELOG.md
22
27
  - LICENSE
23
28
  - Makefile
24
29
  - README.md
25
- - Rakefile
30
+ - VERSION
26
31
  - lib/multi_test.rb
27
32
  - lib/multi_test/assertion_library.rb
28
33
  - lib/multi_test/minitest_world.rb
29
34
  - multi_test.gemspec
30
- - test/README.md
31
- - test/all
32
- - test/gemfiles/activesupport-4.0.0/Gemfile
33
- - test/gemfiles/activesupport-4.0.0/Gemfile.lock
34
- - test/gemfiles/activesupport-4.0.0/scenarios
35
- - test/gemfiles/activesupport-4.1.0/Gemfile
36
- - test/gemfiles/activesupport-4.1.0/Gemfile.lock
37
- - test/gemfiles/activesupport-4.1.0/scenarios
38
- - test/gemfiles/minitest-5.0.1/Gemfile
39
- - test/gemfiles/minitest-5.0.1/Gemfile.lock
40
- - test/gemfiles/minitest-5.0.1/scenarios
41
- - test/gemfiles/minitest-5.1.0/Gemfile
42
- - test/gemfiles/minitest-5.1.0/Gemfile.lock
43
- - test/gemfiles/minitest-5.1.0/scenarios
44
- - test/gemfiles/minitest-5.2.0/Gemfile
45
- - test/gemfiles/minitest-5.2.0/Gemfile.lock
46
- - test/gemfiles/minitest-5.2.0/scenarios
47
- - test/gemfiles/plain-ruby/Gemfile
48
- - test/gemfiles/plain-ruby/Gemfile.lock
49
- - test/gemfiles/plain-ruby/scenarios
50
- - test/gemfiles/rspec-1.3.2/Gemfile
51
- - test/gemfiles/rspec-1.3.2/Gemfile.lock
52
- - test/gemfiles/rspec-1.3.2/scenarios
53
- - test/gemfiles/rspec-2.14/Gemfile
54
- - test/gemfiles/rspec-2.14/Gemfile.lock
55
- - test/gemfiles/rspec-2.14/scenarios
56
- - test/gemfiles/rspec-3.0/Gemfile
57
- - test/gemfiles/rspec-3.0/Gemfile.lock
58
- - test/gemfiles/rspec-3.0/scenarios
59
- - test/gemfiles/test-unit-2.4.8/Gemfile
60
- - test/gemfiles/test-unit-2.4.8/Gemfile.lock
61
- - test/gemfiles/test-unit-2.4.8/scenarios
62
- - test/gemfiles/test-unit-2.4.9/Gemfile
63
- - test/gemfiles/test-unit-2.4.9/Gemfile.lock
64
- - test/gemfiles/test-unit-2.4.9/scenarios
65
- - test/run
66
- - test/scenarios/bundler_require.rb
67
- - test/scenarios/minitest_assertions.rb
68
- - test/scenarios/minitest_propagate_exit_code.rb
69
- - test/scenarios/require_activesupport_testing_autorun.rb
70
- - test/scenarios/require_test_unit.rb
71
- - test/scenarios/rspec_matchers.rb
72
- - test/scenarios/spec_matchers.rb
73
- - test/scenarios/test_unit_assertions.rb
35
+ - test-all
36
+ - test-gemfile
74
37
  homepage: http://cukes.info
75
38
  licenses:
76
39
  - MIT
@@ -84,61 +47,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
47
  requirements:
85
48
  - - ">="
86
49
  - !ruby/object:Gem::Version
87
- version: '0'
50
+ version: '2.0'
88
51
  required_rubygems_version: !ruby/object:Gem::Requirement
89
52
  requirements:
90
53
  - - ">="
91
54
  - !ruby/object:Gem::Version
92
- version: '0'
55
+ version: 1.6.1
93
56
  requirements: []
94
- rubyforge_project:
95
- rubygems_version: 2.2.0
57
+ rubygems_version: 3.2.33
96
58
  signing_key:
97
59
  specification_version: 4
98
- summary: multi-test-0.1.0
99
- test_files:
100
- - test/README.md
101
- - test/all
102
- - test/gemfiles/activesupport-4.0.0/Gemfile
103
- - test/gemfiles/activesupport-4.0.0/Gemfile.lock
104
- - test/gemfiles/activesupport-4.0.0/scenarios
105
- - test/gemfiles/activesupport-4.1.0/Gemfile
106
- - test/gemfiles/activesupport-4.1.0/Gemfile.lock
107
- - test/gemfiles/activesupport-4.1.0/scenarios
108
- - test/gemfiles/minitest-5.0.1/Gemfile
109
- - test/gemfiles/minitest-5.0.1/Gemfile.lock
110
- - test/gemfiles/minitest-5.0.1/scenarios
111
- - test/gemfiles/minitest-5.1.0/Gemfile
112
- - test/gemfiles/minitest-5.1.0/Gemfile.lock
113
- - test/gemfiles/minitest-5.1.0/scenarios
114
- - test/gemfiles/minitest-5.2.0/Gemfile
115
- - test/gemfiles/minitest-5.2.0/Gemfile.lock
116
- - test/gemfiles/minitest-5.2.0/scenarios
117
- - test/gemfiles/plain-ruby/Gemfile
118
- - test/gemfiles/plain-ruby/Gemfile.lock
119
- - test/gemfiles/plain-ruby/scenarios
120
- - test/gemfiles/rspec-1.3.2/Gemfile
121
- - test/gemfiles/rspec-1.3.2/Gemfile.lock
122
- - test/gemfiles/rspec-1.3.2/scenarios
123
- - test/gemfiles/rspec-2.14/Gemfile
124
- - test/gemfiles/rspec-2.14/Gemfile.lock
125
- - test/gemfiles/rspec-2.14/scenarios
126
- - test/gemfiles/rspec-3.0/Gemfile
127
- - test/gemfiles/rspec-3.0/Gemfile.lock
128
- - test/gemfiles/rspec-3.0/scenarios
129
- - test/gemfiles/test-unit-2.4.8/Gemfile
130
- - test/gemfiles/test-unit-2.4.8/Gemfile.lock
131
- - test/gemfiles/test-unit-2.4.8/scenarios
132
- - test/gemfiles/test-unit-2.4.9/Gemfile
133
- - test/gemfiles/test-unit-2.4.9/Gemfile.lock
134
- - test/gemfiles/test-unit-2.4.9/scenarios
135
- - test/run
136
- - test/scenarios/bundler_require.rb
137
- - test/scenarios/minitest_assertions.rb
138
- - test/scenarios/minitest_propagate_exit_code.rb
139
- - test/scenarios/require_activesupport_testing_autorun.rb
140
- - test/scenarios/require_test_unit.rb
141
- - test/scenarios/rspec_matchers.rb
142
- - test/scenarios/spec_matchers.rb
143
- - test/scenarios/test_unit_assertions.rb
144
- has_rdoc:
60
+ summary: multi-test-1.0.0
61
+ test_files: []
data/.travis.yml DELETED
@@ -1,8 +0,0 @@
1
- rvm:
2
- - 1.9.3
3
- - 2.0.0
4
- - 2.1.0
5
- - jruby
6
- script: make
7
- before_install:
8
- gem install bundler -v 1.5.1
data/History.md DELETED
@@ -1,7 +0,0 @@
1
- ## [v0.0.3](https://github.com/cucumber/multi_test/compare/v0.0.2...v0.0.3)
2
-
3
- * Fix for Rails 4.1, Minitest 5.x ([#4](https://github.com/cucumber/multi_test/pull/4) Andy Lindeman)
4
-
5
- ## [v0.0.2](https://github.com/cucumber/multi_test/compare/bae4b700eb63cfb4e95f7acc35e25683f697905a...v0.0.2)
6
-
7
- * First gem release
data/Rakefile DELETED
@@ -1,9 +0,0 @@
1
- # encoding: utf-8
2
- require 'rubygems'
3
- require 'bundler'
4
- Bundler::GemHelper.install_tasks
5
-
6
- desc 'Run all tests'
7
- task 'default' do
8
- sh 'make'
9
- end
data/test/README.md DELETED
@@ -1,7 +0,0 @@
1
- # How this gem is tested
2
-
3
- We build a matrix of test cases from the gemfiles and scenarios directories.
4
-
5
- The gemfiles contain each of the different gem configurations we want to test with. Then, for each gemfile, there's a scenarios file which lists the Ruby scripts from the scenarios directory that we'll run as tests in that gemfile's environment.
6
-
7
- Success for each test case is simply that nothing was written to standard output.
data/test/all DELETED
@@ -1,20 +0,0 @@
1
- #!/bin/bash
2
- exit_status=0
3
- gemfile_dirs=$(ls -d -- test/gemfiles/*)
4
- echo $gemfile_dirs
5
- for gemfile_dir in $gemfile_dirs
6
- do
7
- scenarios=$(cat $gemfile_dir/scenarios)
8
- echo $scenarios
9
- for scenario in $scenarios
10
- do
11
- ./test/run $gemfile_dir test/scenarios/$scenario
12
- if [ $? -ne 0 ]
13
- then
14
- exit_status=1
15
- fi
16
- done
17
- done
18
-
19
- exit $exit_status
20
-
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "activesupport", "4.0.0"
@@ -1,22 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- activesupport (4.0.0)
5
- i18n (~> 0.6, >= 0.6.4)
6
- minitest (~> 4.2)
7
- multi_json (~> 1.3)
8
- thread_safe (~> 0.1)
9
- tzinfo (~> 0.3.37)
10
- atomic (1.1.10)
11
- i18n (0.6.4)
12
- minitest (4.7.5)
13
- multi_json (1.7.7)
14
- thread_safe (0.1.0)
15
- atomic
16
- tzinfo (0.3.37)
17
-
18
- PLATFORMS
19
- ruby
20
-
21
- DEPENDENCIES
22
- activesupport (= 4.0.0)
@@ -1,3 +0,0 @@
1
- require_activesupport_testing_autorun.rb
2
- minitest_assertions.rb
3
-
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "activesupport", "4.1.0.beta1"
@@ -1,23 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- activesupport (4.1.0.beta1)
5
- i18n (~> 0.6, >= 0.6.9)
6
- json (~> 1.7, >= 1.7.7)
7
- minitest (~> 5.1)
8
- thread_safe (~> 0.1)
9
- tzinfo (~> 1.1)
10
- atomic (1.1.14)
11
- i18n (0.6.9)
12
- json (1.8.1)
13
- minitest (5.2.0)
14
- thread_safe (0.1.3)
15
- atomic
16
- tzinfo (1.1.0)
17
- thread_safe (~> 0.1)
18
-
19
- PLATFORMS
20
- ruby
21
-
22
- DEPENDENCIES
23
- activesupport (= 4.1.0.beta1)
@@ -1,2 +0,0 @@
1
- require_activesupport_testing_autorun.rb
2
- minitest_assertions.rb
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "minitest", "5.0.1"
@@ -1,10 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- minitest (5.0.1)
5
-
6
- PLATFORMS
7
- ruby
8
-
9
- DEPENDENCIES
10
- minitest (= 5.0.1)
@@ -1,3 +0,0 @@
1
- bundler_require.rb
2
- minitest_propagate_exit_code.rb
3
- minitest_assertions.rb
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "minitest", "5.1.0"
@@ -1,10 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- minitest (5.1.0)
5
-
6
- PLATFORMS
7
- ruby
8
-
9
- DEPENDENCIES
10
- minitest (= 5.1.0)
@@ -1,3 +0,0 @@
1
- bundler_require.rb
2
- minitest_propagate_exit_code.rb
3
- minitest_assertions.rb
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "minitest", "5.2.0"
@@ -1,10 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- minitest (5.2.0)
5
-
6
- PLATFORMS
7
- ruby
8
-
9
- DEPENDENCIES
10
- minitest (= 5.2.0)
@@ -1,3 +0,0 @@
1
- bundler_require.rb
2
- minitest_propagate_exit_code.rb
3
- minitest_assertions.rb
@@ -1 +0,0 @@
1
- source "https://rubygems.org"
@@ -1,8 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
-
5
- PLATFORMS
6
- ruby
7
-
8
- DEPENDENCIES
@@ -1,3 +0,0 @@
1
- bundler_require.rb
2
- require_test_unit.rb
3
-
@@ -1,4 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rspec", "1.3.2"
4
- gem "diff-lcs"
@@ -1,12 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- diff-lcs (1.2.5)
5
- rspec (1.3.2)
6
-
7
- PLATFORMS
8
- ruby
9
-
10
- DEPENDENCIES
11
- diff-lcs
12
- rspec (= 1.3.2)
@@ -1,3 +0,0 @@
1
- bundler_require.rb
2
- spec_matchers.rb
3
-
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rspec", "~> 2.14"
@@ -1,18 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- diff-lcs (1.2.5)
5
- rspec (2.14.1)
6
- rspec-core (~> 2.14.0)
7
- rspec-expectations (~> 2.14.0)
8
- rspec-mocks (~> 2.14.0)
9
- rspec-core (2.14.8)
10
- rspec-expectations (2.14.5)
11
- diff-lcs (>= 1.1.3, < 2.0)
12
- rspec-mocks (2.14.6)
13
-
14
- PLATFORMS
15
- ruby
16
-
17
- DEPENDENCIES
18
- rspec (~> 2.14)
@@ -1,3 +0,0 @@
1
- bundler_require.rb
2
- rspec_matchers.rb
3
-
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem 'rspec', '~> 3.0.0.beta'
@@ -1,22 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- diff-lcs (1.2.5)
5
- rspec (3.0.0.beta2)
6
- rspec-core (= 3.0.0.beta2)
7
- rspec-expectations (= 3.0.0.beta2)
8
- rspec-mocks (= 3.0.0.beta2)
9
- rspec-core (3.0.0.beta2)
10
- rspec-support (= 3.0.0.beta2)
11
- rspec-expectations (3.0.0.beta2)
12
- diff-lcs (>= 1.2.0, < 2.0)
13
- rspec-support (= 3.0.0.beta2)
14
- rspec-mocks (3.0.0.beta2)
15
- rspec-support (= 3.0.0.beta2)
16
- rspec-support (3.0.0.beta2)
17
-
18
- PLATFORMS
19
- ruby
20
-
21
- DEPENDENCIES
22
- rspec (~> 3.0.0.beta)
@@ -1,3 +0,0 @@
1
- bundler_require.rb
2
- rspec_matchers.rb
3
-
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "test-unit", "2.4.8"
@@ -1,10 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- test-unit (2.4.8)
5
-
6
- PLATFORMS
7
- ruby
8
-
9
- DEPENDENCIES
10
- test-unit (= 2.4.8)
@@ -1,3 +0,0 @@
1
- bundler_require.rb
2
- require_test_unit.rb
3
- test_unit_assertions.rb
@@ -1,3 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "test-unit", "2.4.9"
@@ -1,10 +0,0 @@
1
- GEM
2
- remote: https://rubygems.org/
3
- specs:
4
- test-unit (2.4.9)
5
-
6
- PLATFORMS
7
- ruby
8
-
9
- DEPENDENCIES
10
- test-unit (= 2.4.9)
@@ -1,3 +0,0 @@
1
- bundler_require.rb
2
- require_test_unit.rb
3
- test_unit_assertions.rb
data/test/run DELETED
@@ -1,25 +0,0 @@
1
- #!/bin/bash
2
-
3
- gemfile_dir=$1
4
- scenario=$2
5
- gemfile="$gemfile_dir/Gemfile"
6
-
7
- echo
8
- echo "Testing scenario $scenario with $gemfile..."
9
- export BUNDLE_GEMFILE=$gemfile
10
- bundle install
11
- result="$(bundle exec ruby -I lib $scenario)"
12
-
13
- status=$?
14
- if [[ $result != "" ]]; then
15
- echo
16
- echo "=> FAIL: Expected empty output but was:"
17
- echo "--$result--"
18
- exit 1
19
- fi
20
- if [[ $status -ne 0 ]]; then
21
- echo
22
- echo "=> FAIL: Expected zero exit status"
23
- exit 1
24
- fi
25
- echo "=> PASS"
@@ -1,7 +0,0 @@
1
- # Imagine this is your rails app
2
- Bundler.require
3
-
4
- # Now cucumber loads
5
- require "multi_test"
6
- MultiTest.disable_autorun
7
-
@@ -1,7 +0,0 @@
1
- require "multi_test"
2
-
3
- # Now we create the world
4
- MultiTest.extend_with_best_assertion_library(self)
5
-
6
- # Now we execute a scenario and assert something
7
- assert_equal(1,1)
@@ -1,9 +0,0 @@
1
- # Imagine this is your rails app
2
- require 'minitest/autorun'
3
-
4
- # Now cucumber loads and exits successfully
5
- require "multi_test"
6
- MultiTest.disable_autorun
7
- exit 0
8
-
9
- # Our Minitest hook should propagate that healthy status code
@@ -1,4 +0,0 @@
1
- require 'active_support/testing/autorun'
2
-
3
- require "multi_test"
4
- MultiTest.disable_autorun
@@ -1,6 +0,0 @@
1
- # Imagine this is your rails app
2
- require 'test/unit'
3
-
4
- # Now cucumber loads
5
- require "multi_test"
6
- MultiTest.disable_autorun
@@ -1,7 +0,0 @@
1
- require 'multi_test'
2
- # Now we create the world
3
- MultiTest.extend_with_best_assertion_library(self)
4
-
5
- # Now we execute a scenario and assert something
6
- expect(1).to eq(1)
7
-
@@ -1,7 +0,0 @@
1
- require "multi_test"
2
-
3
- # Now we create the world
4
- MultiTest.extend_with_best_assertion_library(self)
5
-
6
- # Now we execute a scenario and assert something
7
- 1.should == 1
@@ -1,6 +0,0 @@
1
- require "multi_test"
2
- # Now we create the world
3
- MultiTest.extend_with_best_assertion_library(self)
4
-
5
- # Now we execute a scenario and assert something
6
- assert_equal(1,1)