Sha256: e3339dd14158ce1a0e106b90043deba077c5d69f572b5ed853a8a83f6369214f

Contents?: true

Size: 1.22 KB

Versions: 1

Compression:

Stored size: 1.22 KB

Contents

module AppVeyor::Worker::RSpec
  def self.welcome
    ::AppVeyor::Worker.message "RSpec seed: #{RSpec.configuration.seed}"
    []
  end

  def self.report example
    res = example.execution_result
    return unless res.status

    ::AppVeyor::Worker.test testFramework: 'RSpec',
      testName: example.full_description,
      fileName: example.location,
      outcome: ({passed: 'Passed', failed: 'Failed', pending: 'Ignored'}[res.status] || '?'),
      durationMilliseconds: res.run_time*1000,
      ErrorMessage: (example.exception.message rescue nil),
      ErrorStackTrace: (example.exception.backtrace * "\n" rescue nil)
      #   StdOut: YAML.dump('assertions'=>result.assertions),
    true
  end

  def self.examples
    @examples ||= welcome
  end

  def self.add example
    process
    examples.push example
  end

  def self.process
    ex = examples
    @examples = []
    ex.each do |example|
      unless report example
        examples.push example
        end
    end
  end

  def self.intercept!
    this = self
    RSpec.configure do |config|
      config.before :each do |example|
        this.add example
      end

      config.after :all do
        this.process
      end
    end
  end

  intercept! if defined? RSpec
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
appveyor-worker-0.2.1 lib/appveyor/worker/rspec.rb