Sha256: 000f7ea9f04354085d834d34f480b78b3d394437f15ae229be50227ea46fa5c4

Contents?: true

Size: 825 Bytes

Versions: 2

Compression:

Stored size: 825 Bytes

Contents

require_relative '../../test_queue'
require 'puppet-lint'

module TestQueue
  class Runner
    class PuppetLint < Runner
      def run_worker(iterator)
        errors = 0
        linter =  PuppetLint.new
        iterator.each do |file|
          puts "Evaluating #{file}"
          linter.file = file
          linter.run
          errors += 1 if linter.errors?
        end
        errors
      end

      def summarize_worker(worker)
        lines = worker.lines

        files    = lines.select{ |line| line =~ /^Evaluating/ }
        errors   = lines.select{ |line| line =~ /^ERROR/ }
        warnings = lines.select{ |line| line =~ /^WARNING/ }

        worker.summary = "#{files.size} files, #{warnings.size} warnings, #{errors.size} errors"
        worker.failure_output = errors.join("\n")
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
test-queue-0.7.0 lib/test_queue/runner/puppet_lint.rb
test-queue-0.6.0 lib/test_queue/runner/puppet_lint.rb