module Regtest::Git

Regtest plugin for git (results are checked automatically when running regtest)

Public Instance Methods

check_results() click to toggle source

Redefine Regtest.check_results.

# File lib/regtest/git.rb, line 17
def check_results
  output_files = Regtest.results.keys
  if output_files.empty?
    report "\nNothing to do.", type: :success
    return :success
  end
  git_stat, _, _ = Open3.capture3(*%w(git status --porcelain --), *output_files)
  case git_stat
  when /^.M/ # at least one modified file
    report "\nThere are changes in your sample results!", type: :fail
    system *%w(git status -s --), *output_files
    return :fail
  when /^.\?/ # at least one unknown file
    report "\nThere is at least one new sample result file.", type: :unknown_result
    system *%w(git status -s --), *output_files
    return :unknown_result
  when '', /^. / # no changes in (maybe staged) files
    report "\nLooks good. :)", type: :success
    system *%w(git status -s --), *output_files
    return :success
  else
    report "\nYour sample results are in a bad condition!", type: :fail
    system *%w(git status -s --), *output_files
    return :fail
  end
end