X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/4589a823fd3da534ee3e80870ad2de86a23c3361..9f1ae9abee1da4e53b7e535e172213d81eb75ed7:/tests/test_helper.tcl diff --git a/tests/test_helper.tcl b/tests/test_helper.tcl index 59470e64..f427fabc 100644 --- a/tests/test_helper.tcl +++ b/tests/test_helper.tcl @@ -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" @@ -25,7 +26,14 @@ proc execute_tests name { # are nested, use "srv 0 pid" to get the pid of the inner server. To access # outer servers, use "srv -1 pid" etcetera. set ::servers {} -proc srv {level property} { +proc srv {args} { + set level 0 + if {[string is integer [lindex $args 0]]} { + set level [lindex $args 0] + set property [lindex $args 1] + } else { + set property [lindex $args 0] + } set srv [lindex $::servers end+$level] dict get $srv $property } @@ -73,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" @@ -88,6 +95,7 @@ proc main {} { execute_tests "unit/cas" execute_tests "integration/replication" execute_tests "integration/aof" +# execute_tests "integration/redis-cli" execute_tests "unit/pubsub" # run tests with VM enabled @@ -102,13 +110,25 @@ 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" if {$::failed > 0} { puts "\n*** WARNING!!! $::failed FAILED TESTS ***\n" + exit 1 } - - cleanup } # parse arguments @@ -124,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