Sha256: c94ba8f8cdecea1893766f026a885f74dd5d79edbc80da1bb49855af8caebbd2

Contents?: true

Size: 923 Bytes

Versions: 1

Compression:

Stored size: 923 Bytes

Contents

require "minitest"

module Minitest
  @server = false

  def self.plugin_server_options opts, options # :nodoc:
    opts.on "--server=pid", Integer, "Connect to minitest server w/ pid." do |s|
      @server = s
    end
  end

  def self.plugin_server_init options
    if @server then
      require "minitest/server"
      self.reporter << Minitest::ServerReporter.new(@server)
    end
  end
end

module Minitest
  class ServerReporter < Minitest::AbstractReporter
    def initialize pid
      DRb.start_service
      uri = Minitest::Server.path(pid)
      @mt_server = DRbObject.new_with_uri uri
      super()
    end

    def start
      @mt_server.start
    end

    def record result
      r = result
      c = r.class
      file, = c.instance_method(r.name).source_location
      @mt_server.result file, c.name, r.name, r.failures, r.assertions, r.time
    end

    def report
      @mt_server.report
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
minitest-bisect-1.1.0 lib/minitest/server_plugin.rb