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.15.0/lib/minitest.rb, line 967 def jruby? platform = RUBY_PLATFORM "java" == platform end
Is this running on maglev?
# File minitest-5.15.0/lib/minitest.rb, line 974 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.15.0/lib/minitest.rb, line 984 def mri? platform = RUBY_DESCRIPTION /^ruby/ =~ platform end
Is this running on macOS?
# File minitest-5.15.0/lib/minitest.rb, line 991 def osx? platform = RUBY_PLATFORM /darwin/ =~ platform end
Is this running on rubinius?
# File minitest-5.15.0/lib/minitest.rb, line 998 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