mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Update to ruby/mspec@7074b56
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63766 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
cbbe2fab82
commit
80fdfbf809
6 changed files with 69 additions and 30 deletions
|
@ -1,8 +1,5 @@
|
||||||
sudo: false
|
sudo: false
|
||||||
language: ruby
|
language: ruby
|
||||||
before_script:
|
|
||||||
# https://github.com/travis-ci/travis-ci/issues/8408
|
|
||||||
- unset _JAVA_OPTIONS
|
|
||||||
script:
|
script:
|
||||||
- bundle exec rspec
|
- bundle exec rspec
|
||||||
matrix:
|
matrix:
|
||||||
|
@ -23,8 +20,10 @@ matrix:
|
||||||
# https://github.com/travis-ci/travis-ci/issues/8978
|
# https://github.com/travis-ci/travis-ci/issues/8978
|
||||||
- gem update --system
|
- gem update --system
|
||||||
- gem install bundler
|
- gem install bundler
|
||||||
- jdk: oraclejdk8
|
- rvm: system
|
||||||
install:
|
install:
|
||||||
- curl -L https://github.com/oracle/truffleruby/releases/download/vm-enterprise-0.28/truffleruby-testing-0.28.tar.gz | tar xz
|
- curl -L https://github.com/oracle/truffleruby/releases/download/vm-1.0.0-rc2/truffleruby-1.0.0-rc2-linux-amd64.tar.gz | tar xz
|
||||||
- source truffleruby/setup_env
|
- export PATH="$PWD/truffleruby-1.0.0-rc2-linux-amd64/bin:$PATH"
|
||||||
|
- $PWD/truffleruby-1.0.0-rc2-linux-amd64/lib/truffle/post_install_hook.sh
|
||||||
|
- gem install bundler
|
||||||
- bundle install
|
- bundle install
|
||||||
|
|
|
@ -40,8 +40,6 @@ def with_feature(*features, &block)
|
||||||
FeatureGuard.new(*features).run_if(:with_feature, &block)
|
FeatureGuard.new(*features).run_if(:with_feature, &block)
|
||||||
end
|
end
|
||||||
|
|
||||||
MSpecEnv.class_eval do
|
|
||||||
def without_feature(*features, &block)
|
def without_feature(*features, &block)
|
||||||
FeatureGuard.new(*features).run_unless(:without_feature, &block)
|
FeatureGuard.new(*features).run_unless(:without_feature, &block)
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ class BeCloseMatcher
|
||||||
|
|
||||||
def matches?(actual)
|
def matches?(actual)
|
||||||
@actual = actual
|
@actual = actual
|
||||||
(@actual - @expected).abs < @tolerance
|
(@actual - @expected).abs <= @tolerance
|
||||||
end
|
end
|
||||||
|
|
||||||
def failure_message
|
def failure_message
|
||||||
|
|
|
@ -78,3 +78,43 @@ describe Object, "#with_feature" do
|
||||||
ScratchPad.recorded.should be_nil
|
ScratchPad.recorded.should be_nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe Object, "#without_feature" do
|
||||||
|
before :each do
|
||||||
|
ScratchPad.clear
|
||||||
|
|
||||||
|
@guard = FeatureGuard.new :encoding
|
||||||
|
FeatureGuard.stub(:new).and_return(@guard)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "sets the name of the guard to :without_feature" do
|
||||||
|
without_feature(:encoding) { }
|
||||||
|
@guard.name.should == :without_feature
|
||||||
|
end
|
||||||
|
|
||||||
|
it "calls #unregister even when an exception is raised in the guard block" do
|
||||||
|
@guard.should_receive(:match?).and_return(false)
|
||||||
|
@guard.should_receive(:unregister)
|
||||||
|
lambda do
|
||||||
|
without_feature { raise Exception }
|
||||||
|
end.should raise_error(Exception)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe Object, "#without_feature" do
|
||||||
|
before :each do
|
||||||
|
ScratchPad.clear
|
||||||
|
end
|
||||||
|
|
||||||
|
it "does not yield if the feature is enabled" do
|
||||||
|
MSpec.should_receive(:feature_enabled?).with(:encoding).and_return(true)
|
||||||
|
without_feature(:encoding) { ScratchPad.record :yield }
|
||||||
|
ScratchPad.recorded.should be_nil
|
||||||
|
end
|
||||||
|
|
||||||
|
it "yields if the feature is disabled" do
|
||||||
|
MSpec.should_receive(:feature_enabled?).with(:encoding).and_return(false)
|
||||||
|
without_feature(:encoding) { ScratchPad.record :yield }
|
||||||
|
ScratchPad.recorded.should == :yield
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
|
@ -16,12 +16,14 @@ describe BeCloseMatcher do
|
||||||
BeCloseMatcher.new(5.0, 0.5).matches?(4.51).should == true
|
BeCloseMatcher.new(5.0, 0.5).matches?(4.51).should == true
|
||||||
end
|
end
|
||||||
|
|
||||||
it "does not match when actual == (expected + tolerance)" do
|
it "matches when actual == (expected + tolerance)" do
|
||||||
BeCloseMatcher.new(5.0, 0.5).matches?(5.5).should == false
|
BeCloseMatcher.new(5.0, 0.5).matches?(5.5).should == true
|
||||||
|
BeCloseMatcher.new(3, 2).matches?(5).should == true
|
||||||
end
|
end
|
||||||
|
|
||||||
it "does not match when actual == (expected - tolerance)" do
|
it "matches when actual == (expected - tolerance)" do
|
||||||
BeCloseMatcher.new(5.0, 0.5).matches?(4.5).should == false
|
BeCloseMatcher.new(5.0, 0.5).matches?(4.5).should == true
|
||||||
|
BeCloseMatcher.new(3, 2).matches?(1).should == true
|
||||||
end
|
end
|
||||||
|
|
||||||
it "does not match when actual < (expected - tolerance)" do
|
it "does not match when actual < (expected - tolerance)" do
|
||||||
|
|
|
@ -159,22 +159,22 @@ end
|
||||||
def test_new_specs
|
def test_new_specs
|
||||||
require "yaml"
|
require "yaml"
|
||||||
Dir.chdir(SOURCE_REPO) do
|
Dir.chdir(SOURCE_REPO) do
|
||||||
if MSPEC
|
|
||||||
sh "bundle", "exec", "rspec"
|
|
||||||
else
|
|
||||||
versions = YAML.load_file(".travis.yml")
|
versions = YAML.load_file(".travis.yml")
|
||||||
versions = versions["matrix"]["include"].map { |job| job["rvm"] }
|
versions = versions["matrix"]["include"].map { |job| job["rvm"] }
|
||||||
versions.delete "ruby-head"
|
versions.delete "ruby-head"
|
||||||
|
versions.delete "system"
|
||||||
min_version, max_version = versions.minmax
|
min_version, max_version = versions.minmax
|
||||||
|
|
||||||
run_rubyspec = -> version {
|
test_command = MSPEC ? "bundle exec rspec" : "../mspec/bin/mspec -j"
|
||||||
command = "chruby #{version} && ../mspec/bin/mspec -j"
|
|
||||||
|
run_test = -> version {
|
||||||
|
command = "chruby #{version} && #{test_command}"
|
||||||
sh ENV["SHELL"], "-c", command
|
sh ENV["SHELL"], "-c", command
|
||||||
}
|
}
|
||||||
run_rubyspec[min_version]
|
|
||||||
run_rubyspec[max_version]
|
run_test[min_version]
|
||||||
run_rubyspec["trunk"]
|
run_test[max_version]
|
||||||
end
|
run_test["trunk"]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue