set ::all_tests {
unit/printver
+ unit/dump
unit/auth
unit/protocol
unit/basic
unit/sort
unit/expire
unit/other
- unit/cas
+ unit/multi
unit/quit
unit/aofrw
integration/replication
unit/introspection
unit/limits
unit/obuf-limits
- unit/dump
+ unit/bitops
}
# Index to the next test to run in the ::all_tests list.
set ::next_test 0
}
}
+# With the parallel test running multiple Redis instances at the same time
+# we need a fast enough computer, otherwise a lot of tests may generate
+# false positives.
+# If the computer is too slow we revert the sequetial test without any
+# parallelism, that is, clients == 1.
+proc is_a_slow_computer {} {
+ set start [clock milliseconds]
+ for {set j 0} {$j < 1000000} {incr j} {}
+ set elapsed [expr [clock milliseconds]-$start]
+ expr {$elapsed > 200}
+}
+
if {$::client} {
if {[catch { test_client_main $::test_server_port } err]} {
set estr "Executing test client: $err.\n$::errorInfo"
exit 1
}
} else {
+ if {[is_a_slow_computer]} {
+ puts "** SLOW COMPUTER ** Using a single client to avoid false positives."
+ set ::numclients 1
+ }
+
if {[catch { test_server_main } err]} {
if {[string length $err] > 0} {
# only display error when not generated by the test suite