summaryrefslogtreecommitdiffstats
path: root/test/lib/spec/runner/extensions/kernel.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/lib/spec/runner/extensions/kernel.rb')
-rw-r--r--test/lib/spec/runner/extensions/kernel.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/lib/spec/runner/extensions/kernel.rb b/test/lib/spec/runner/extensions/kernel.rb
new file mode 100644
index 000000000..f060ec859
--- /dev/null
+++ b/test/lib/spec/runner/extensions/kernel.rb
@@ -0,0 +1,17 @@
+module Kernel
+ def context(name, &block)
+ context = Spec::Runner::Context.new(name, &block)
+ context_runner.add_context(context)
+ end
+
+private
+
+ def context_runner
+ # TODO: Figure out a better way to get this considered "covered" and keep this statement on multiple lines
+ unless $context_runner; \
+ $context_runner = ::Spec::Runner::OptionParser.new.create_context_runner(ARGV.dup, STDERR, STDOUT, false); \
+ at_exit { $context_runner.run(false) }; \
+ end
+ $context_runner
+ end
+end