/vendor/bundle/jruby/2.1/gems/rspec-core-2.14.8/lib/rspec/core/command_line.rb
https://github.com/delowong/logstash · Ruby · 36 lines · 30 code · 2 blank · 4 comment · 1 complexity · bfbd4eb873bf318a72d5865fe7cdb2a7 MD5 · raw file
- module RSpec
- module Core
- class CommandLine
- def initialize(options, configuration=RSpec::configuration, world=RSpec::world)
- if Array === options
- options = ConfigurationOptions.new(options)
- options.parse_options
- end
- @options = options
- @configuration = configuration
- @world = world
- end
- # Configures and runs a suite
- #
- # @param [IO] err
- # @param [IO] out
- def run(err, out)
- @configuration.error_stream = err
- @configuration.output_stream ||= out
- @options.configure(@configuration)
- @configuration.load_spec_files
- @world.announce_filters
- @configuration.reporter.report(@world.example_count, @configuration.randomize? ? @configuration.seed : nil) do |reporter|
- begin
- @configuration.run_hook(:before, :suite)
- @world.example_groups.ordered.map {|g| g.run(reporter)}.all? ? 0 : @configuration.failure_exit_code
- ensure
- @configuration.run_hook(:after, :suite)
- end
- end
- end
- end
- end
- end