Allow to specify which specific test files to run

This commit is contained in:
Pieter Noordhuis 2010-10-13 09:26:44 +02:00
parent b4f2e412d0
commit 9f1ae9abee
2 changed files with 18 additions and 3 deletions

View File

@ -126,7 +126,7 @@ dep:
$(CC) -MM *.c
test:
(cd ..; tclsh8.5 tests/test_helper.tcl --tags "${TAGS}")
(cd ..; tclsh8.5 tests/test_helper.tcl --tags "${TAGS}" --file "${FILE}")
bench:
./redis-benchmark

View File

@ -16,6 +16,7 @@ set ::valgrind 0
set ::denytags {}
set ::allowtags {}
set ::external 0; # If "1" this means, we are running against external instance
set ::file ""; # If set, runs only the tests in this comma separated list
proc execute_tests name {
source "tests/$name.tcl"
@ -80,8 +81,7 @@ proc cleanup {} {
catch {exec rm -rf {*}[glob tests/tmp/server.*]}
}
proc main {} {
cleanup
proc execute_everything {} {
execute_tests "unit/auth"
execute_tests "unit/protocol"
execute_tests "unit/basic"
@ -110,6 +110,18 @@ proc main {} {
execute_tests "unit/expire"
execute_tests "unit/other"
execute_tests "unit/cas"
}
proc main {} {
cleanup
if {[string length $::file] > 0} {
foreach {file} [split $::file ,] {
execute_tests $file
}
} else {
execute_everything
}
cleanup
puts "\n[expr $::passed+$::failed] tests, $::passed passed, $::failed failed"
@ -132,6 +144,9 @@ for {set j 0} {$j < [llength $argv]} {incr j} {
}
}
incr j
} elseif {$opt eq {--file}} {
set ::file $arg
incr j
} elseif {$opt eq {--host}} {
set ::external 1
set ::host $arg