Unverified Commit 4d3c4cfa authored by sundb's avatar sundb Committed by GitHub
Browse files

Show the elapsed time of single test and speed up some tests (#10058)

Following #10038.

This PR introduces two changes.
1. Show the elapsed time of a single test in the test output, in order to have a more
detailed understanding of the changes in test run time.

2. Speedup two tests related to `key-load-delay` configuration.
other tests do not seem to be affected by #10003.
parent 95380887
......@@ -170,7 +170,7 @@ start_server {} {
}
test {client freed during loading} {
start_server [list overrides [list key-load-delay 50 rdbcompression no]] {
start_server [list overrides [list key-load-delay 50 loading-process-events-interval-bytes 1024 rdbcompression no]] {
# create a big rdb that will take long to load. it is important
# for keys to be big since the server processes events only once in 2mb.
# 100mb of rdb, 100k keys will load in more than 5 seconds
......
......@@ -180,6 +180,7 @@ proc test {name code {okpattern undefined} {tags {}}} {
send_data_packet $::test_server_fd testing $name
set test_start_time [clock milliseconds]
if {[catch {set retval [uplevel 1 $code]} error]} {
set assertion [string match "assertion:*" $error]
if {$assertion || $::durable} {
......@@ -207,7 +208,8 @@ proc test {name code {okpattern undefined} {tags {}}} {
} else {
if {$okpattern eq "undefined" || $okpattern eq $retval || [string match $okpattern $retval]} {
incr ::num_passed
send_data_packet $::test_server_fd ok $name
set elapsed [expr {[clock milliseconds]-$test_start_time}]
send_data_packet $::test_server_fd ok $name $elapsed
} else {
set msg "Expected '$okpattern' to equal or match '$retval'"
lappend details $msg
......
......@@ -372,7 +372,7 @@ proc accept_test_clients {fd addr port} {
proc read_from_test_client fd {
set bytes [gets $fd]
set payload [read $fd $bytes]
foreach {status data} $payload break
foreach {status data elapsed} $payload break
set ::last_progress [clock seconds]
if {$status eq {ready}} {
......@@ -391,7 +391,7 @@ proc read_from_test_client fd {
set ::active_clients_task($fd) "(DONE) $data"
} elseif {$status eq {ok}} {
if {!$::quiet} {
puts "\[[colorstr green $status]\]: $data"
puts "\[[colorstr green $status]\]: $data ($elapsed ms)"
}
set ::active_clients_task($fd) "(OK) $data"
} elseif {$status eq {skip}} {
......@@ -557,8 +557,8 @@ proc test_client_main server_port {
}
}
proc send_data_packet {fd status data} {
set payload [list $status $data]
proc send_data_packet {fd status data {elapsed 0}} {
set payload [list $status $data $elapsed]
puts $fd [string length $payload]
puts -nonewline $fd $payload
flush $fd
......
......@@ -464,7 +464,7 @@ start_server {config "minimal.conf" tags {"introspection external:skip"} overrid
}
test {config during loading} {
start_server [list overrides [list key-load-delay 50 rdbcompression no]] {
start_server [list overrides [list key-load-delay 50 loading-process-events-interval-bytes 1024 rdbcompression no]] {
# create a big rdb that will take long to load. it is important
# for keys to be big since the server processes events only once in 2mb.
# 100mb of rdb, 100k keys will load in more than 5 seconds
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment