Provides a simple set of guards that you can use in your tests to skip execution if it is not applicable. These methods are mixed into Test
as both instance and class methods so you can use them inside or outside of the test methods.
def test_something_for_mri skip "bug 1234" if jruby? # ... end if windows? then # ... lots of test methods ... end
Is this running on jruby?
# File minitest-5.13.0/lib/minitest.rb, line 955 def jruby? platform = RUBY_PLATFORM "java" == platform end
Is this running on maglev?
# File minitest-5.13.0/lib/minitest.rb, line 962 def maglev? platform = defined?(RUBY_ENGINE) && RUBY_ENGINE where = Minitest.filter_backtrace(caller).first where = where.split(/:in /, 2).first # clean up noise warn "DEPRECATED: `maglev?` called from #{where}. This will fail in Minitest 6." "maglev" == platform end
Is this running on mri?
# File minitest-5.13.0/lib/minitest.rb, line 972 def mri? platform = RUBY_DESCRIPTION /^ruby/ =~ platform end
Is this running on macOS?
# File minitest-5.13.0/lib/minitest.rb, line 979 def osx? platform = RUBY_PLATFORM /darwin/ =~ platform end
Is this running on rubinius?
# File minitest-5.13.0/lib/minitest.rb, line 986 def rubinius? platform = defined?(RUBY_ENGINE) && RUBY_ENGINE where = Minitest.filter_backtrace(caller).first where = where.split(/:in /, 2).first # clean up noise warn "DEPRECATED: `rubinius?` called from #{where}. This will fail in Minitest 6." "rbx" == platform end