Sha256: f2f4f84c226e321aa176ccf0767ec5d197db5af2ece39f62278f9b257c1716f0
Contents?: true
Size: 894 Bytes
Versions: 9
Compression:
Stored size: 894 Bytes
Contents
require 'yajl' class FailuresPrinter DEFAULT_OUTPUT_FILE = "/tmp/gorgon-failed-files.json" attr_reader :output_file def initialize(configuration, job_state) @job_state = job_state @job_state.add_observer(self) @output_file = configuration.fetch(:failed_files) { DEFAULT_OUTPUT_FILE } end def update payload return unless @job_state.is_job_complete? || @job_state.is_job_cancelled? File.open(@output_file, 'w+') do |fd| fd.write(Yajl::Encoder.encode(failed_files + unfinished_files)) end end private def failed_files failed_files = [] @job_state.each_failed_test do |test| failed_files << "#{test[:filename]}" end failed_files end def unfinished_files unfinished_files = [] @job_state.each_running_file do |hostname, filename| unfinished_files << "#{filename}" end unfinished_files end end
Version data entries
9 entries across 9 versions & 1 rubygems