Skip to content

Commit

Permalink
Remove Appraisal dependency
Browse files Browse the repository at this point in the history
  • Loading branch information
blowmage authored and searls committed Dec 10, 2022
1 parent f333c0e commit 82e7e8a
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 51 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ruby-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
appraisal:
gemfile:
- minitest4
- minitest5
- test_unit_gem
Expand All @@ -23,7 +23,7 @@ jobs:
- ruby-3.0
- truffleruby
env:
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.appraisal }}.gemfile
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
steps:
- name: Checkout
uses: actions/checkout@v2
Expand Down
11 changes: 0 additions & 11 deletions Appraisals

This file was deleted.

13 changes: 2 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -138,15 +138,6 @@ SUPPORT
CONTRIBUTING
============

## Setup

This project uses [Appraisal](https://github.com/thoughtbot/appraisal) to test against different versions of dependencies.

To install all scenarios (appraisals):

bundle install
bundle exec appraisal install

## Testing

You can run all the tests with:
Expand All @@ -155,11 +146,11 @@ You can run all the tests with:

You can also run tests selectively. For minitest 4 run:

appraisal minitest4 rake test
bundle exec rake test:minitest4

and the ones for minitest 5 with:

appraisal minitest5 rake test
bundle exec rake test:minitest5


LICENSE
Expand Down
25 changes: 20 additions & 5 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#!/usr/bin/env rake
require "rubygems"
require "bundler/setup"
require "appraisal"
require "coveralls"
require "bundler/gem_tasks"
require "rake/clean"
Expand All @@ -16,12 +15,28 @@ Rake::TestTask.new do |t|
t.pattern = "test/*_test.rb"
end

desc "Run all tests and get merged test coverage"
namespace :test do
Dir.glob("gemfiles/*.gemfile").each do |gemfile_path|
name = /gemfiles\/(.*).gemfile/.match(gemfile_path)[1]
desc "Run #{name} tests"
task name do |rake_task|
gemfile_name = rake_task.name.split(":").last
gemfile_path = "gemfiles/#{gemfile_name}.gemfile"
Bundler.with_original_env do
sh "BUNDLE_GEMFILE=#{gemfile_path} bundle exec rake"
end
end
end
end

desc "Run all tests and get merged test coverage"
task :tests do
system "rake test" or exit! 1
system "appraisal minitest4 rake test" or exit! 1
system "appraisal minitest5 rake test TEST=test/minitest_5_test.rb" or exit! 1
system "appraisal test_unit_gem rake test TEST=test/test_unit_test.rb" or exit! 1
Dir.glob("gemfiles/*.gemfile").each do |gemfile_path|
Bundler.with_original_env do
sh "BUNDLE_GEMFILE=#{gemfile_path} bundle exec rake"
end
end
Coveralls.push!
end

Expand Down
2 changes: 0 additions & 2 deletions gemfiles/minitest4.gemfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# This file was generated by Appraisal

source "https://rubygems.org"

gem "allocation_stats"
Expand Down
2 changes: 0 additions & 2 deletions gemfiles/minitest5.gemfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# This file was generated by Appraisal

source "https://rubygems.org"

gem "allocation_stats"
Expand Down
2 changes: 0 additions & 2 deletions gemfiles/test_unit_gem.gemfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# This file was generated by Appraisal

source "https://rubygems.org"

gem "allocation_stats"
Expand Down
32 changes: 16 additions & 16 deletions test/bench.rb
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
require "benchmark/ips"

Benchmark.ips do |bench|
bench.report "running m on a file that doesn't exist" do
`ruby -Ilib ./bin/m failwhale 2>/dev/null`
bench.report("running m on a file that doesn't exist") do
`bundle exec ruby -Ilib ./bin/m failwhale 2>/dev/null`
end

bench.report "running m on an empty file" do
`ruby -Ilib ./bin/m test/examples/empty_example_test.rb 2>/dev/null`
bench.report("running m on an empty file") do
`bundle exec ruby -Ilib ./bin/m test/examples/empty_example_test.rb 2>/dev/null`
end

bench.report "running m on an entire file with minitest4" do
`appraisal minitest4 ruby -Ilib ./bin/m test/examples/minitest_4_example_test.rb 2>/dev/null`
bench.report("running m on an entire file with minitest4") do
`BUNDLE_GEMFILE=gemfiles/minitest4.gemfile bundle exec ruby -Ilib ./bin/m test/examples/minitest_4_example_test.rb 2>/dev/null`
end

bench.report "running m on an entire file with minitest5" do
`appraisal minitest5 ruby -Ilib ./bin/m test/examples/minitest_5_example_test.rb 2>/dev/null`
bench.report("running m on an entire file with minitest5") do
`BUNDLE_GEMFILE=gemfiles/minitest5.gemfile bundle exec ruby -Ilib ./bin/m test/examples/minitest_5_example_test.rb 2>/dev/null`
end

bench.report "running m on an entire file with test-unit gem" do
`appraisal test_unit_gem ruby -Ilib ./bin/m test/examples/test_unit_example_test.rb 2>/dev/null`
bench.report("running m on an entire file with test-unit gem") do
`BUNDLE_GEMFILE=gemfiles/test_unit_gem.gemfile bundle exec ruby -Ilib ./bin/m test/examples/test_unit_example_test.rb 2>/dev/null`
end

bench.report "running m on a specific test with minitest4" do
`appraisal minitest4 ruby -Ilib ./bin/m test/examples/minitest_4_example_test.rb:19 2>/dev/null`
bench.report("running m on a specific test with minitest4") do
`BUNDLE_GEMFILE=gemfiles/minitest4.gemfile bundle exec ruby -Ilib ./bin/m test/examples/minitest_4_example_test.rb:19 2>/dev/null`
end

bench.report "running m on a specific test with minitest5" do
`appraisal minitest5 ruby -Ilib ./bin/m test/examples/minitest_5_example_test.rb:19 2>/dev/null`
bench.report("running m on a specific test with minitest5") do
`BUNDLE_GEMFILE=gemfiles/minitest5.gemfile bundle exec ruby -Ilib ./bin/m test/examples/minitest_5_example_test.rb:19 2>/dev/null`
end

bench.report "running m on a specific test with test-unit gem" do
`appraisal test_unit_gem ruby -Ilib ./bin/m test/examples/test_unit_example_test.rb:15 2>/dev/null`
bench.report("running m on a specific test with test-unit gem") do
`BUNDLE_GEMFILE=gemfiles/test_unit_gem.gemfile bundle exec ruby -Ilib ./bin/m test/examples/test_unit_example_test.rb:15 2>/dev/null`
end
end

0 comments on commit 82e7e8a

Please sign in to comment.