Sha256: 42bc4829304b765934242356fa68bb7f1054729fdf051a97352ad36534355e82

Contents?: true

Size: 1017 Bytes

Versions: 10

Compression:

Stored size: 1017 Bytes

Contents

require 'spec/runner/option_parser'

module Spec
  module Runner
    # Facade to run specs without having to fork a new ruby process (using `spec ...`)
    class CommandLine
      # Runs specs. +argv+ is the commandline args as per the spec commandline API, +err+ 
      # and +out+ are the streams output will be written to. +exit+ tells whether or
      # not a system exit should be called after the specs are run and
      # +warn_if_no_files+ tells whether or not a warning (the help message)
      # should be printed to +err+ in case no files are specified.
      def self.run(argv, err, out, exit=true, warn_if_no_files=true)
        old_behaviour_runner = defined?($behaviour_runner) ? $behaviour_runner : nil
        $behaviour_runner = OptionParser.new.create_behaviour_runner(argv, err, out, warn_if_no_files)
        return if $behaviour_runner.nil? # This is the case if we use --drb

        $behaviour_runner.run(argv, exit)
        $behaviour_runner = old_behaviour_runner
      end
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rspec-1.0.3 lib/spec/runner/command_line.rb
rspec-0.9.0 lib/spec/runner/command_line.rb
rspec-0.9.1 lib/spec/runner/command_line.rb
rspec-0.9.2 lib/spec/runner/command_line.rb
rspec-0.9.3 lib/spec/runner/command_line.rb
rspec-0.9.4 lib/spec/runner/command_line.rb
rspec-1.0.0 lib/spec/runner/command_line.rb
rspec-1.0.1 lib/spec/runner/command_line.rb
rspec-1.0.2 lib/spec/runner/command_line.rb
rspec-1.0.4 lib/spec/runner/command_line.rb