Skip to content

Commit

Permalink
run_tests now takes a mandatory --suite argument
Browse files Browse the repository at this point in the history
  • Loading branch information
jthornber committed Jun 15, 2012
1 parent 321b424 commit 04e5287
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 28 deletions.
49 changes: 21 additions & 28 deletions run_tests
Original file line number Diff line number Diff line change
Expand Up @@ -12,34 +12,6 @@ require 'test/unit/ui/testrunnermediator'
require 'test/unit/ui/testrunnerutilities'
require 'yaml'

# library test suites
require 'tests/infrastructure/prelude_tests'
require 'tests/infrastructure/process_tests'
require 'tests/infrastructure/segment_tests'
require 'tests/infrastructure/tvm_tests'
require 'tests/infrastructure/xml_format_tests'
require 'tests/infrastructure/math_tests'

# thinp test suites
require 'tests/thin-provisioning/basic_tests'
require 'tests/thin-provisioning/creation_tests'
require 'tests/thin-provisioning/deletion_tests'
require 'tests/thin-provisioning/discard_tests'
require 'tests/thin-provisioning/external_origin_tests'
require 'tests/thin-provisioning/held_root_tests'
require 'tests/thin-provisioning/mkfs_tests'
require 'tests/thin-provisioning/multiple_pool_tests'
require 'tests/thin-provisioning/pool_resize_tests'
require 'tests/thin-provisioning/read_only_tests'
require 'tests/thin-provisioning/restore_tests'
require 'tests/thin-provisioning/snapshot_tests'
require 'tests/thin-provisioning/transaction_id_tests'
require 'tests/thin-provisioning/immutable_target_tests'
require 'tests/thin-provisioning/fs_benchmark'

# cache target suite
require 'tests/cache/cache_tests'

#----------------------------------------------------------------

# based on the console test runner
Expand Down Expand Up @@ -242,6 +214,11 @@ def options
$profile = p
end

o.on('-s', '--suite=TEST_SUITE', String,
"Selects a test suite.") do |s|
$suite = s
end

o.on('-t', '--testcase=TESTCASE', String,
"Runs tests in TestCases matching TESTCASE (patterns may be used).") do |n|
n = (%r{\A/(.*)/\Z} =~ n ? Regexp.new($1) : n)
Expand Down Expand Up @@ -284,8 +261,11 @@ def options
end
end

#----------------------------------------------------------------

$filters = []
$profile = nil
$suite = nil

def process_args(args = ARGV)
begin
Expand All @@ -302,6 +282,17 @@ end

process_args

if $suite.nil?
STDERR.puts "please specify a test suite, eg, '--suite suites/infrastructure'"
exit(1)
end

unless $suite =~ /^suites\//
$suite = "suites/#{$suite}"
end

require $suite

c = Test::Unit::Collector::ObjectSpace.new
c.filter = $filters
suite = c.collect($0.sub(/\.rb\Z/, ''))
Expand All @@ -310,3 +301,5 @@ runner = Test::Unit::UI::ThinTestRunner.new(suite, Test::Unit::UI::VERBOSE)
runner.start

`./generate_reports`

#----------------------------------------------------------------
1 change: 1 addition & 0 deletions suites/cache.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require 'tests/cache/cache_tests'
7 changes: 7 additions & 0 deletions suites/infrastructure.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
require 'tests/infrastructure/prelude_tests'
require 'tests/infrastructure/process_tests'
require 'tests/infrastructure/segment_tests'
require 'tests/infrastructure/tvm_tests'
require 'tests/infrastructure/xml_format_tests'
require 'tests/infrastructure/math_tests'
require 'tests/infrastructure/metadata_tests'
15 changes: 15 additions & 0 deletions suites/thin-provisioning.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
require 'tests/thin-provisioning/basic_tests'
require 'tests/thin-provisioning/creation_tests'
require 'tests/thin-provisioning/deletion_tests'
require 'tests/thin-provisioning/discard_tests'
require 'tests/thin-provisioning/external_origin_tests'
require 'tests/thin-provisioning/held_root_tests'
require 'tests/thin-provisioning/mkfs_tests'
require 'tests/thin-provisioning/multiple_pool_tests'
require 'tests/thin-provisioning/pool_resize_tests'
require 'tests/thin-provisioning/read_only_tests'
require 'tests/thin-provisioning/restore_tests'
require 'tests/thin-provisioning/snapshot_tests'
require 'tests/thin-provisioning/transaction_id_tests'
require 'tests/thin-provisioning/immutable_target_tests'
require 'tests/thin-provisioning/fs_benchmark'

0 comments on commit 04e5287

Please sign in to comment.