2006-08-04 14:05:50 -04:00
|
|
|
#--
|
2003-02-11 22:12:14 -05:00
|
|
|
#
|
|
|
|
# Author:: Nathaniel Talbott.
|
|
|
|
# Copyright:: Copyright (c) 2000-2002 Nathaniel Talbott. All rights reserved.
|
|
|
|
# License:: Ruby license.
|
|
|
|
|
|
|
|
module Test
|
|
|
|
module Unit
|
|
|
|
module UI
|
|
|
|
|
2003-12-08 08:48:14 -05:00
|
|
|
SILENT = 0
|
|
|
|
PROGRESS_ONLY = 1
|
|
|
|
NORMAL = 2
|
|
|
|
VERBOSE = 3
|
|
|
|
|
2003-02-11 22:12:14 -05:00
|
|
|
# Provides some utilities common to most, if not all,
|
|
|
|
# TestRunners.
|
|
|
|
#
|
|
|
|
#--
|
|
|
|
#
|
|
|
|
# Perhaps there ought to be a TestRunner superclass? There
|
|
|
|
# seems to be a decent amount of shared code between test
|
|
|
|
# runners.
|
|
|
|
|
|
|
|
module TestRunnerUtilities
|
|
|
|
|
2004-01-13 00:27:24 -05:00
|
|
|
# Creates a new TestRunner and runs the suite.
|
|
|
|
def run(suite, output_level=NORMAL)
|
|
|
|
return new(suite, output_level).start
|
|
|
|
end
|
|
|
|
|
2003-02-11 22:12:14 -05:00
|
|
|
# Takes care of the ARGV parsing and suite
|
|
|
|
# determination necessary for running one of the
|
|
|
|
# TestRunners from the command line.
|
|
|
|
def start_command_line_test
|
|
|
|
if ARGV.empty?
|
|
|
|
puts "You should supply the name of a test suite file to the runner"
|
|
|
|
exit
|
|
|
|
end
|
|
|
|
require ARGV[0].gsub(/.+::/, '')
|
|
|
|
new(eval(ARGV[0])).start
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|