--- /dev/null
+require 'spec/version'
+require 'spec/matchers'
+require 'spec/expectations'
+require 'spec/example'
+require 'spec/extensions'
+require 'spec/runner'
+
+if Object.const_defined?(:Test); \
+ require 'spec/interop/test'; \
+end
+
+module Spec
+ class << self
+ def run?
+ @run || rspec_options.examples_run?
+ end
+
+ def run; \
+ return true if run?; \
+ result = rspec_options.run_examples; \
+ @run = true; \
+ result; \
+ end
+ attr_writer :run
+
+ def exit?; \
+ !Object.const_defined?(:Test) || Test::Unit.run?; \
+ end
+ end
+end
+
+at_exit do \
+ unless $! || Spec.run?; \
+ success = Spec.run; \
+ exit success if Spec.exit?; \
+ end \
+end
\ No newline at end of file