# File lib/spork/runner.rb, line 12
    def initialize(args, output, error)
      raise ArgumentError, "expected array of args" unless args.is_a?(Array)
      @output = output
      @error = error
      @options = {}
      opt = OptionParser.new
      opt.banner = "Usage: spork [test framework name] [options]\n\n"
      
      opt.separator "Options:"
      opt.on("-b", "--bootstrap")  {|ignore| @options[:bootstrap] = true }
      opt.on("-d", "--diagnose")  {|ignore| @options[:diagnose] = true }
      opt.on("-h", "--help")  {|ignore| @options[:help] = true }
      opt.on("-p", "--port [PORT]") {|port| @options[:port] = port }
      non_option_args = args.select { |arg| ! args[0].match(/^-/) }
      @options[:server_matcher] = non_option_args[0]
      opt.parse!(args)
      
      if @options[:help]
        @output.puts opt
        @output.puts
        @output.puts supported_test_frameworks_text
        exit(0)
      end
    end