Sha256: 1c4f9150f44f918cb5647569e6c461da0a80c939373c9fe93f52421ee4c8c052

Contents?: true

Size: 1.61 KB

Versions: 1

Compression:

Stored size: 1.61 KB

Contents

#!/usr/bin/env ruby

$:.unshift(File.expand_path(File.join(File.dirname(__FILE__), "..", "lib")))
require 'optparse'
require 'ostruct'
require 'recog'
require 'recog/verifier_factory'

options = OpenStruct.new(color: false, detail: false, quiet: false, warnings: true)

option_parser = OptionParser.new do |opts|
  opts.banner = "Usage: #{$0} [options] XML_FINGERPRINT_FILE1 ..."
  opts.separator "Verifies that each fingerprint passes its internal tests."
  opts.separator ""
  opts.separator "Options"

  opts.on("-f", "--format FORMATTER",
          "Choose a formatter.",
          "  [s]ummary (default - failure/warning msgs and summary)",
          "  [q]uiet (configured failure/warning msgs only)",
          "  [d]etail  (fingerprint name with tests and expanded summary)") do |format|
    if format.start_with? 'd'
      options.detail = true
    end
    if format.start_with? 'q'
      options.quiet = true
    end
  end

  opts.on("-c", "--color", "Enable color in the output.") do
    options.color = true
  end

  opts.on("--[no-]warnings", "Track warnings") do |o|
    options.warnings = o
  end

  opts.on("-h", "--help", "Show this message.") do
    puts opts
    exit
  end
end
option_parser.parse!(ARGV)

if ARGV.empty?
  $stderr.puts 'Missing XML fingerprint files'
  puts option_parser
  exit(1)
end

warnings = 0
failures = 0
ARGV.each do |arg|
  Dir.glob(arg).each do |file|
    ndb = Recog::DB.new(file)
    verifier = Recog::VerifierFactory.build(options, ndb)
    verified = verifier.verify
    failures += verifier.reporter.failure_count
    warnings += verifier.reporter.warning_count
  end
end

exit failures + warnings

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
recog-2.3.22 bin/recog_verify