From 9f1ae9abee1da4e53b7e535e172213d81eb75ed7 Mon Sep 17 00:00:00 2001 From: Pieter Noordhuis Date: Wed, 13 Oct 2010 09:26:44 +0200 Subject: [PATCH] Allow to specify which specific test files to run --- src/Makefile | 2 +- tests/test_helper.tcl | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/Makefile b/src/Makefile index e1e989c6..3add2925 100644 --- a/src/Makefile +++ b/src/Makefile @@ -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 diff --git a/tests/test_helper.tcl b/tests/test_helper.tcl index ee7fa3e1..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" @@ -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 -- 2.47.2