Skip to content

Commit bed1edb

Browse files
authored
Merge pull request #114 from hanxizh9910/feature/automated-test-failure-detector
Feature/automated test failure detector
2 parents 938d6be + 03b7a6f commit bed1edb

7 files changed

Lines changed: 123 additions & 106 deletions

File tree

.github/workflows/daily.yml

Lines changed: 89 additions & 89 deletions
Large diffs are not rendered by default.

tests/instances.tcl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ set ::dont_clean 0
2525
set ::simulate_error 0
2626
set ::failed 0
2727
set ::failed_tests {}
28-
set ::failures_json_file ""
28+
set ::failures_output_file ""
2929
set ::sentinel_instances {}
3030
set ::valkey_instances {}
3131
set ::global_config {}
@@ -317,8 +317,8 @@ proc parse_options {} {
317317
set ::stop_on_failure 1
318318
} elseif {$opt eq {--loop}} {
319319
set ::loop 1
320-
} elseif {$opt eq {--failures-json}} {
321-
set ::failures_json_file [file normalize "../../../$val"]
320+
} elseif {$opt eq {--failures-output}} {
321+
set ::failures_output_file [file normalize "../../../$val"]
322322
incr j
323323
} elseif {$opt eq {--log-req-res}} {
324324
set ::log_req_res 1
@@ -339,7 +339,7 @@ proc parse_options {} {
339339
puts "--fast-fail Exit immediately once the first test fails."
340340
puts "--stop Blocks once the first test fails."
341341
puts "--loop Execute the specified set of tests forever."
342-
puts "--failures-json <path> Write test failures to the specified JSON file."
342+
puts "--failures-output <path> Write test failures to the specified JSON file."
343343
puts "--help Shows this help."
344344
exit 0
345345
} else {
@@ -533,7 +533,7 @@ while 1 {
533533
}
534534

535535
proc write_test_failures {} {
536-
if {$::failures_json_file eq ""} {
536+
if {$::failures_output_file eq ""} {
537537
return
538538
}
539539

@@ -550,11 +550,11 @@ proc write_test_failures {} {
550550
lappend failures "\{\"test_name\":\"$test_name\",\"test_file\":\"$test_file\",\"status\":\"err\",\"error\":\"$error_msg\"\}"
551551
}
552552

553-
set outdir [file dirname $::failures_json_file]
553+
set outdir [file dirname $::failures_output_file]
554554
if {$outdir ne "."} {
555555
file mkdir $outdir
556556
}
557-
set fp [open $::failures_json_file w]
557+
set fp [open $::failures_output_file w]
558558
puts $fp "\[[join $failures ","]\]"
559559
close $fp
560560
}

tests/sentinel/tests/00-base.tcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ test "SENTINEL MYID return the sentinel instance ID" {
4646
test "SENTINEL INFO CACHE returns the cached info" {
4747
set res [S 0 SENTINEL INFO-CACHE mymaster]
4848
assert_morethan_equal [llength $res] 2
49-
assert_equal "mymaster" [lindex $res 0]
49+
assert_equal "mymasterr" [lindex $res 0]
5050

5151
set res [lindex $res 1]
5252
assert_morethan_equal [llength $res] 2

tests/test_helper.tcl

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ set ::file ""; # If set, runs only the tests in this comma separated list
7474
set ::curfile ""; # Hold the filename of the current suite
7575
set ::accurate 0; # If true runs fuzz tests with more iterations
7676
set ::force_failure 0
77-
set ::failures_json_file ""; # If set, write failures JSON to this path
77+
set ::failures_output_file ""; # If set, write failures JSON to this path
7878
set ::timeout 1200; # 20 minutes without progresses will quit the test.
7979
set ::last_progress [clock seconds]
8080
set ::active_servers {} ; # Pids of active server instances.
@@ -613,7 +613,7 @@ proc print_test_summary {} {
613613
}
614614

615615
proc write_test_failures {} {
616-
if {$::failures_json_file eq ""} {
616+
if {$::failures_output_file eq ""} {
617617
return
618618
}
619619

@@ -644,11 +644,11 @@ proc write_test_failures {} {
644644
lappend failures "\{\"test_name\":\"$test_name\",\"test_file\":\"$test_file\",\"status\":\"$status\",\"error\":\"$error_msg\"\}"
645645
}
646646

647-
set outdir [file dirname $::failures_json_file]
647+
set outdir [file dirname $::failures_output_file]
648648
if {$outdir ne "."} {
649649
file mkdir $outdir
650650
}
651-
set fp [open $::failures_json_file w]
651+
set fp [open $::failures_output_file w]
652652
puts $fp "\[[join $failures ","]\]"
653653
close $fp
654654
}
@@ -734,7 +734,7 @@ proc print_help_screen {} {
734734
"--clients <num> Number of test clients (default 16)."
735735
"--timeout <sec> Test timeout in seconds (default 20 min)."
736736
"--force-failure Force the execution of a test that always fails."
737-
"--failures-json <path>"
737+
"--failures-output <path>"
738738
" Write test failures to the specified JSON file."
739739
"--config <k> <v> Extra config file argument."
740740
"--skipfile <file> Name of a file containing test names or regexp patterns (if"
@@ -862,8 +862,8 @@ for {set j 0} {$j < [llength $argv]} {incr j} {
862862
set ::accurate 1
863863
} elseif {$opt eq {--force-failure}} {
864864
set ::force_failure 1
865-
} elseif {$opt eq {--failures-json}} {
866-
set ::failures_json_file $arg
865+
} elseif {$opt eq {--failures-output}} {
866+
set ::failures_output_file $arg
867867
incr j
868868
} elseif {$opt eq {--single}} {
869869
foreach unit [expand_unit_spec $arg] {

tests/unit/cluster/cli.tcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ start_multiple_servers 3 [list overrides $base_conf] {
2424
127.0.0.1:[srv -2 port]
2525

2626
wait_for_condition 1000 50 {
27-
[CI 1 cluster_state] eq {ok} &&
27+
[CI 1 cluster_state] eq {okk} &&
2828
[CI 2 cluster_state] eq {ok}
2929
} else {
3030
fail "Cluster doesn't stabilize"

tests/unit/dummy-flaky.tcl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
start_server {tags {"dummy"}} {
2+
test "dummy-flaky - basic SET and GET" {
3+
r SET mykey myvalue
4+
assert_equal [r GET mykey] "myvalue"
5+
}
6+
7+
test "dummy-flaky - intentional failure" {
8+
r SET mykey myvalue
9+
assert_equal [r GET mykey] "wrongvalue"
10+
}
11+
12+
test "dummy-flaky - another passing test" {
13+
r SET counter 0
14+
r INCR counter
15+
assert_equal [r GET counter] "1"
16+
}
17+
}

tests/unit/moduleapi/auth.tcl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ start_server {tags {"modules"}} {
1414

1515
# Verify returned id is the same as our current id and
1616
# we are authenticated with the specified user
17-
assert_equal [r acl whoami] "global"
17+
assert_equal [r acl whoami] "globall"
1818
}
1919

2020
test {De-authenticating clients is tracked and kills clients} {

0 commit comments

Comments
 (0)