lib/tryouts.rb in tryouts-2.0.4 vs lib/tryouts.rb in tryouts-2.1.0
- old
+ new
@@ -10,14 +10,11 @@
module VERSION
def self.to_s
load_config
[@version[:MAJOR], @version[:MINOR], @version[:PATCH]].join('.')
end
- def self.inspect
- load_config
- [@version[:MAJOR], @version[:MINOR], @version[:PATCH], @version[:BUILD]].join('.')
- end
+ alias_method :inspect, :to_s
def self.load_config
require 'yaml'
@version ||= YAML.load_file(File.join(TRYOUTS_LIB_HOME, '..', 'VERSION.yml'))
end
end
@@ -25,15 +22,16 @@
class Tryouts
@debug = false
@quiet = false
+ @noisy = false
@container = Class.new
@cases = []
@sysinfo = nil
class << self
- attr_accessor :debug, :container, :quiet
+ attr_accessor :debug, :container, :quiet, :noisy
attr_reader :cases
def sysinfo
require 'sysinfo'
@sysinfo ||= SysInfo.new
@@ -54,34 +52,46 @@
batches.each do |batch|
path = batch.path.gsub(/#{Dir.pwd}\/?/, '')
- msg '%-60s %s' % [path, ''] unless Tryouts.quiet # status
+ vmsg '%-60s %s' % [path, '']
before_handler = Proc.new do |t|
- msg Console.reverse(' %-58s ' % [t.desc.to_s]) unless Tryouts.quiet
- msg t.test.inspect, t.exps.inspect unless Tryouts.quiet
+ if Tryouts.noisy
+ vmsg Console.reverse(' %-58s ' % [t.desc.to_s])
+ vmsg t.test.inspect, t.exps.inspect
+ end
end
batch.run(before_handler) do |t|
if t.failed?
failed_tests += 1
- msg Console.color(:red, t.failed.join($/)), $/ unless Tryouts.quiet
+ if Tryouts.noisy
+ vmsg Console.color(:red, t.failed.join($/)), $/
+ else
+ msg ' %s (%s:%s)' % [Console.color(:red, "FAIL"), path, t.exps.first]
+ end
elsif t.skipped? || !t.run?
skipped_tests += 1
- msg Console.bright(t.skipped.join($/)), $/ unless Tryouts.quiet
+ if Tryouts.noisy
+ vmsg Console.bright(t.skipped.join($/)), $/
+ else
+ msg ' SKIP (%s:%s)' % [path, t.exps.first]
+ end
else
- msg Console.color(:green, t.passed.join($/)), $/ unless Tryouts.quiet
+ if Tryouts.noisy
+ vmsg Console.color(:green, t.passed.join($/)), $/
+ else
+ msg ' %s' % [Console.color(:green, 'PASS')]
+ end
end
-
all += 1
-
end
end
- msg unless Tryouts.quiet
+ msg
if all > 0
suffix = 'tests passed'
suffix << " (and #{skipped_tests} skipped)" if skipped_tests > 0
msg cformat(all-failed_tests-skipped_tests, all-skipped_tests, suffix) if all-skipped_tests > 0
end
@@ -95,11 +105,11 @@
failed_tests # 0 means success
end
def cformat(*args)
- Console.bright '%3d of %d %s' % args
+ Console.bright '%d of %d %s' % args
end
def run path
batch = parse path
batch.run
@@ -173,15 +183,20 @@
batch
end
def print str
+ return if Tryouts.quiet
STDOUT.print str
STDOUT.flush
end
+ def vmsg *msg
+ STDOUT.puts *msg if !Tryouts.quiet && Tryouts.noisy
+ end
+
def msg *msg
- STDOUT.puts *msg
+ STDOUT.puts *msg unless Tryouts.quiet
end
def err *msg
msg.each do |line|
STDERR.puts Console.color :red, line