summaryrefslogtreecommitdiff
path: root/spec/mspec/lib/mspec/utils
diff options
context:
space:
mode:
authorBenoit Daloze <eregontp@gmail.com>2019-09-29 16:03:47 +0200
committerBenoit Daloze <eregontp@gmail.com>2019-09-29 16:03:47 +0200
commit31bb66a19df26409c9d47afcf37919c9a065516a (patch)
tree21d3d4171acbf2780b92c23833fe3727900de7c4 /spec/mspec/lib/mspec/utils
parenta27dc83113afa9831dcdf919138666b09a73ccf6 (diff)
Update to ruby/mspec@8106083
Diffstat (limited to 'spec/mspec/lib/mspec/utils')
-rw-r--r--spec/mspec/lib/mspec/utils/format.rb20
-rw-r--r--spec/mspec/lib/mspec/utils/options.rb8
2 files changed, 28 insertions, 0 deletions
diff --git a/spec/mspec/lib/mspec/utils/format.rb b/spec/mspec/lib/mspec/utils/format.rb
new file mode 100644
index 0000000000..bb75e131de
--- /dev/null
+++ b/spec/mspec/lib/mspec/utils/format.rb
@@ -0,0 +1,20 @@
+# If the implementation on which the specs are run cannot
+# load pp from the standard library, add a pp.rb file that
+# defines the #pretty_inspect method on Object or Kernel.
+begin
+ require 'pp'
+rescue LoadError
+ module Kernel
+ def pretty_inspect
+ inspect
+ end
+ end
+end
+
+module MSpec
+ def self.format(obj)
+ obj.pretty_inspect.chomp
+ rescue => e
+ "#<#{obj.class}>(#pretty_inspect raised #{e.inspect})"
+ end
+end
diff --git a/spec/mspec/lib/mspec/utils/options.rb b/spec/mspec/lib/mspec/utils/options.rb
index bbe64238c5..560826a723 100644
--- a/spec/mspec/lib/mspec/utils/options.rb
+++ b/spec/mspec/lib/mspec/utils/options.rb
@@ -419,6 +419,14 @@ class MSpecOptions
end
end
+ def timeout
+ on("--timeout", "TIMEOUT", "Abort if a spec takes longer than TIMEOUT seconds") do |timeout|
+ require 'mspec/runner/actions/timeout'
+ timeout = Float(timeout)
+ TimeoutAction.new(timeout).register
+ end
+ end
+
def verify
on("--report-on", "GUARD", "Report specs guarded by GUARD") do |g|
MSpec.register_mode :report_on