summaryrefslogtreecommitdiff
path: root/spec/mspec/lib/mspec/runner
diff options
context:
space:
mode:
authoreregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-06-29 14:35:09 +0000
committereregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-06-29 14:35:09 +0000
commitd55cd34ba8680310fb07c2f5c1c6a27b4902865d (patch)
treeabc35065c29846042d84e71b6bf500df5cd76d68 /spec/mspec/lib/mspec/runner
parent0a11abfc7ec92fcf4eb9e973c68588f079fdb60d (diff)
Update to ruby/mspec@021a119
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec/mspec/lib/mspec/runner')
-rw-r--r--spec/mspec/lib/mspec/runner/evaluate.rb8
-rw-r--r--spec/mspec/lib/mspec/runner/mspec.rb21
-rw-r--r--spec/mspec/lib/mspec/runner/object.rb16
-rw-r--r--spec/mspec/lib/mspec/runner/shared.rb14
4 files changed, 33 insertions, 26 deletions
diff --git a/spec/mspec/lib/mspec/runner/evaluate.rb b/spec/mspec/lib/mspec/runner/evaluate.rb
index fded84421f..ecf7460a90 100644
--- a/spec/mspec/lib/mspec/runner/evaluate.rb
+++ b/spec/mspec/lib/mspec/runner/evaluate.rb
@@ -1,4 +1,6 @@
class SpecEvaluate
+ include MSpecMatchers
+
def self.desc=(desc)
@desc = desc
end
@@ -47,8 +49,6 @@ class SpecEvaluate
end
end
-class Object
- def evaluate(str, desc=nil, &block)
- SpecEvaluate.new(str, desc).define(&block)
- end
+def evaluate(str, desc=nil, &block)
+ SpecEvaluate.new(str, desc).define(&block)
end
diff --git a/spec/mspec/lib/mspec/runner/mspec.rb b/spec/mspec/lib/mspec/runner/mspec.rb
index 0ff0de36ca..8f9c7a602f 100644
--- a/spec/mspec/lib/mspec/runner/mspec.rb
+++ b/spec/mspec/lib/mspec/runner/mspec.rb
@@ -2,6 +2,10 @@ require 'mspec/runner/context'
require 'mspec/runner/exception'
require 'mspec/runner/tag'
+class MSpecEnv
+ include MSpec
+end
+
module MSpec
@exit = nil
@@ -53,11 +57,19 @@ module MSpec
if ENV["MSPEC_MULTI"]
STDOUT.print "."
STDOUT.flush
- while (file = STDIN.gets.chomp) != "QUIT"
+ while file = STDIN.gets and file = file.chomp
+ return if file == "QUIT"
yield file
- STDOUT.print "."
- STDOUT.flush
+ begin
+ STDOUT.print "."
+ STDOUT.flush
+ rescue Errno::EPIPE
+ # The parent died
+ exit 1
+ end
end
+ # The parent closed the connection without QUIT
+ abort "the parent did not send QUIT"
else
return unless files = retrieve(:files)
shuffle files if randomize?
@@ -76,8 +88,7 @@ module MSpec
end
def self.setup_env
- @env = Object.new
- @env.extend MSpec
+ @env = MSpecEnv.new
end
def self.actions(action, *args)
diff --git a/spec/mspec/lib/mspec/runner/object.rb b/spec/mspec/lib/mspec/runner/object.rb
index 018e356149..2ea8197165 100644
--- a/spec/mspec/lib/mspec/runner/object.rb
+++ b/spec/mspec/lib/mspec/runner/object.rb
@@ -1,28 +1,26 @@
class Object
- def before(at=:each, &block)
+ private def before(at=:each, &block)
MSpec.current.before at, &block
end
- def after(at=:each, &block)
+ private def after(at=:each, &block)
MSpec.current.after at, &block
end
- def describe(mod, msg=nil, options=nil, &block)
+ private def describe(mod, msg=nil, options=nil, &block)
MSpec.describe mod, msg, &block
end
- def it(msg, &block)
+ private def it(msg, &block)
MSpec.current.it msg, &block
end
- def it_should_behave_like(desc)
+ private def it_should_behave_like(desc)
MSpec.current.it_should_behave_like desc
end
- # For ReadRuby compatiability
- def doc(*a)
- end
-
alias_method :context, :describe
+ private :context
alias_method :specify, :it
+ private :specify
end
diff --git a/spec/mspec/lib/mspec/runner/shared.rb b/spec/mspec/lib/mspec/runner/shared.rb
index 336e35f6ac..b606de473b 100644
--- a/spec/mspec/lib/mspec/runner/shared.rb
+++ b/spec/mspec/lib/mspec/runner/shared.rb
@@ -1,12 +1,10 @@
require 'mspec/runner/mspec'
-class Object
- def it_behaves_like(desc, meth, obj=nil)
- send :before, :all do
- @method = meth
- @object = obj
- end
-
- send :it_should_behave_like, desc.to_s
+def it_behaves_like(desc, meth, obj=nil)
+ send :before, :all do
+ @method = meth
+ @object = obj
end
+
+ send :it_should_behave_like, desc.to_s
end