]> git.saurik.com Git - redis.git/commitdiff
changed how server.tcl accepts options to support more directives without requiring...
authorPieter Noordhuis <pcnoordhuis@gmail.com>
Wed, 2 Jun 2010 20:23:52 +0000 (22:23 +0200)
committerPieter Noordhuis <pcnoordhuis@gmail.com>
Wed, 2 Jun 2010 20:23:52 +0000 (22:23 +0200)
14 files changed:
tests/integration/aof.tcl
tests/integration/replication.tcl
tests/support/server.tcl
tests/unit/auth.tcl
tests/unit/basic.tcl
tests/unit/cas.tcl
tests/unit/expire.tcl
tests/unit/other.tcl
tests/unit/protocol.tcl
tests/unit/sort.tcl
tests/unit/type/hash.tcl
tests/unit/type/list.tcl
tests/unit/type/set.tcl
tests/unit/type/zset.tcl

index 0d933449227376f7fa55338c87f10386bd55979d..ea2b399a903cf7baba1f9b40e1a6485f8d047224 100644 (file)
@@ -17,7 +17,7 @@ proc create_aof {code} {
 proc start_server_aof {overrides code} {
     upvar defaults defaults srv srv server_path server_path
     set _defaults $defaults
-    set srv [start_server default.conf [lappend _defaults $overrides]]
+    set srv [start_server {overrides [lappend _defaults $overrides]}]
     uplevel 1 $code
     kill_server $srv
 }
index 6a97edf446b4a6af576e72f592179311c51d7b86..0f61b75146ef75a38e9ec104a9be88105101b58c 100644 (file)
@@ -1,7 +1,7 @@
-start_server default.conf {} {
+start_server {} {
     r set mykey foo
     
-    start_server default.conf {} {
+    start_server {} {
         test {Second server should have role master at first} {
             s role
         } {master}
index 750d799ab811ad43ea165204c1e3e6fa3b60a464..419267b4b0f26803d3eb75c6fdc774097bb93853 100644 (file)
@@ -81,8 +81,21 @@ proc ping_server {host port} {
 }
 
 set ::global_overrides {}
-proc start_server {filename overrides {code undefined}} {
-    set data [split [exec cat "tests/assets/$filename"] "\n"]
+proc start_server {options {code undefined}} {
+    # setup defaults
+    set baseconfig "default.conf"
+    set overrides {}
+
+    # parse options
+    foreach {option value} $options {
+        switch $option {
+            "config" { set baseconfig $value }
+            "overrides" { set overrides $value }
+            default { error "Unknown option $option" }
+        }
+    }
+
+    set data [split [exec cat "tests/assets/$baseconfig"] "\n"]
     set config {}
     foreach line $data {
         if {[string length $line] > 0 && [string index $line 0] ne "#"} {
@@ -100,9 +113,7 @@ proc start_server {filename overrides {code undefined}} {
     dict set config port [incr ::port]
 
     # apply overrides from global space and arguments
-    foreach override [concat $::global_overrides $overrides] {
-        set directive [lrange $override 0 0]
-        set arguments [lrange $override 1 end]
+    foreach {directive arguments} [concat $::global_overrides $overrides] {
         dict set config $directive $arguments
     }
     
index 5bc83de80b111b289626d6cff811f3ba6bff991c..a10358ceaa7decd78f13d679ccfc8566c8f9cab5 100644 (file)
@@ -1,4 +1,4 @@
-start_server default.conf {{requirepass foobar}} {
+start_server {overrides {requirepass foobar}} {
     test {AUTH fails when a wrong password is given} {
         catch {r auth wrong!} err
         format $err
index b14ac6ed28d4e371a35e988bdf678e0ec2b71481..edde91c4d820e393eb6b1a0a29f17d30449069fc 100644 (file)
@@ -1,4 +1,4 @@
-start_server default.conf {} {
+start_server {} {
     test {DEL all keys to start with a clean DB} {
         foreach key [r keys *] {r del $key}
         r dbsize
index b850679640aa51188e207f105e7f09de8cefcc37..febc7d6b4d000ddf9c180c30a73515610a6d02b8 100644 (file)
@@ -1,4 +1,4 @@
-start_server default.conf {} {
+start_server {} {
     test {EXEC works on WATCHed key not modified} {
         r watch x y z
         r watch k
index 5954194c681afb1af590506fbc552f924cba50a1..c0dc8b94a4b71427724b8452068879f6e20462fd 100644 (file)
@@ -1,4 +1,4 @@
-start_server default.conf {} {
+start_server {} {
     test {EXPIRE - don't set timeouts multiple times} {
         r set x foobar
         set v1 [r expire x 5]
index 4d42c43609a34809af64a6ab8ec5fcc3e056b32d..00d2dd4649a4692503453eee87c6bfe647d12c7b 100644 (file)
@@ -1,4 +1,4 @@
-start_server default.conf {} {
+start_server {} {
     test {SAVE - make sure there are all the types as values} {
         # Wait for a background saving in progress to terminate
         waitForBgsave r
index 28334e30de6cbcd9c142ab68ab00809bb71a47b6..8717cd9ffa02914a3f82c7dd8858d3e9bec9efee 100644 (file)
@@ -1,4 +1,4 @@
-start_server default.conf {} {
+start_server {} {
     test {Handle an empty query well} {
         set fd [r channel]
         puts -nonewline $fd "\r\n"
index 2985c3d91d86f59e320161d7cedf607eeec4c9cf..6ae62cf7c423bd6cafe129aad3b318f76e250615 100644 (file)
@@ -1,4 +1,4 @@
-start_server default.conf {} {
+start_server {} {
     test {SORT ALPHA against integer encoded strings} {
         r del mylist
         r lpush mylist 2
index 0d08cc556120482374c6b091a780dd480c73e090..fd44c0b803096dd01955ddf9f3bee4cc14fc77e4 100644 (file)
@@ -1,4 +1,4 @@
-start_server default.conf {} {
+start_server {} {
     test {HSET/HLEN - Small hash creation} {
         array set smallhash {}
         for {set i 0} {$i < 8} {incr i} {
index 2597f1b9c62fe7dd66947953eb76a4e4d72b2ac4..6b1a39a22c5179bce4f0788114d06ce64ecea7ee 100644 (file)
@@ -1,4 +1,4 @@
-start_server default.conf {} {
+start_server {} {
     test {Basic LPUSH, RPUSH, LLENGTH, LINDEX} {
         set res [r lpush mylist a]
         append res [r lpush mylist b]
index c8d1a695c184d8db8bc437208b4943061622b617..c69f8ece17f0b923fdd18835ec9158903be3f53c 100644 (file)
@@ -1,4 +1,4 @@
-start_server default.conf {} {
+start_server {} {
     test {SADD, SCARD, SISMEMBER, SMEMBERS basics} {
         r sadd myset foo
         r sadd myset bar
index 9eb61f256f5f8f45275bb928c40912c3976e5a6a..0bdefeae3eb6a71b519774ae79e0c69d864c4acf 100644 (file)
@@ -1,4 +1,4 @@
-start_server default.conf {} {
+start_server {} {
     test {ZSET basic ZADD and score update} {
         r zadd ztmp 10 x
         r zadd ztmp 20 y