(This page was automatically generated by the tools in the opsboy project on 09:46:46 03-Nov-2020 GMT.)

Detailed Test Report for lua-resty-upstream-healthcheck in linux x86_64 (hv)

Summary

Commit Testing Time Unexpected
Failures
Expected
Failures
Files Tests Elapsed Time
f354e943 2020-10-18 03:12:29 GMT 1 27 1 113 25 sec

LuaJIT

LuaJIT 2.1.0-beta3, commit 0e646b54

OpenSSL

OpenSSL 1.1.1d 10 Sep 2019

Compilation Errors

Unexpected Failures

File Name Details
sanity.t TEST 14: health check with ipv6 backend (good case), status ignored by default - response_body - response is expected (repeated req 0, req 0) @@ -3,6 +3,6 @@
127.0.0.1:12354 up
[::1]:12355 up
Backup Peers
- [0:0::1]:12356 up
+ [::1]:12356 up
upstream addr: 127.0.0.1:12354
upstream addr: [::1]:12355
'

Expected Failures

File Name Details
sanity.t TEST 7: peers version upgrade (make up peers down) - grep_error_log_out (req 0) 'healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12357 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12357 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12357 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12357 was checked to be not ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
upgrading peers version to 1
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
warn(): healthcheck: peer 127.0.0.1:12355 is turned up after 2 success(es)
healthcheck: peer 127.0.0.1:12356 was checked to be ok
warn(): healthcheck: peer 127.0.0.1:12356 is turned up after 2 success(es)
publishing peers version 2
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
'
doesn't match '(?^:^upgrading peers version to 1
healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
warn\(\): healthcheck: peer 127\.0\.0\.1:12355 is turned up after 2 success\(es\)
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
warn\(\): healthcheck: peer 127\.0\.0\.1:12356 is turned up after 2 success\(es\)
publishing peers version 2
(?:healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
){2,4}$)'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *158 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12355 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12013\#0: malloc: 0000000008A50220:24
2020/10/18 03:25:25 [debug] 12013\#0: malloc: 0000000008A50280:16
2020/10/18 03:25:25 [debug] 12013\#0: add cleanup: 0000000008A50220
2020/10/18 03:25:25 [debug] 12013\#0: malloc: 0000000008A52E90:24
2020/10/18 03:25:25 [debug] 12013\#0: malloc: 0000000008A52EF0:16
2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:foo.com:p1" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *166 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12355 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:bar.com:p1" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: *166 lua finalize socket
2020/10/18 03:25:25 [debug] 12014\#0: *166 lua http cleanup free: 0000000008B2C0C0
2020/10/18 03:25:25 [debug] 12014\#0: *166 lua close socket connection
2020/10/18 03:25:25 [debug] 12014\#0: *166 reusable connection: 0
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *166 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12357 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:bar.com:p2" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: *166 lua finalize socket
2020/10/18 03:25:25 [debug] 12014\#0: *166 lua http cleanup free: 0000000008B2C0C0
2020/10/18 03:25:25 [debug] 12014\#0: *166 lua close socket connection
2020/10/18 03:25:25 [debug] 12014\#0: *166 reusable connection: 0
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *176 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12355 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:foo.com:p1" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: *176 lua finalize socket
2020/10/18 03:25:25 [debug] 12014\#0: *176 lua http cleanup free: 0000000008B3D9E0
2020/10/18 03:25:25 [debug] 12014\#0: *176 lua close socket connection
2020/10/18 03:25:25 [debug] 12014\#0: *176 reusable connection: 0
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *183 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12355 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:bar.com:p1" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: *183 lua finalize socket
2020/10/18 03:25:25 [debug] 12014\#0: *183 lua http cleanup free: 0000000008B4BC80
2020/10/18 03:25:25 [debug] 12014\#0: *183 lua close socket connection
2020/10/18 03:25:25 [debug] 12014\#0: *183 reusable connection: 0
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *183 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12357 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:bar.com:p2" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: *183 lua finalize socket
2020/10/18 03:25:25 [debug] 12014\#0: *183 lua http cleanup free: 0000000008B4BC80
2020/10/18 03:25:25 [debug] 12014\#0: *183 lua close socket connection
2020/10/18 03:25:25 [debug] 12014\#0: *183 reusable connection: 0
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *192 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12355 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:foo.com:p1" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: *192 lua finalize socket
2020/10/18 03:25:25 [debug] 12014\#0: *192 lua http cleanup free: 0000000008B57FD0
2020/10/18 03:25:25 [debug] 12014\#0: *192 lua close socket connection
2020/10/18 03:25:25 [debug] 12014\#0: *192 reusable connection: 0
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *200 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12355 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:bar.com:p1" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: *200 lua finalize socket
2020/10/18 03:25:25 [debug] 12014\#0: *200 lua http cleanup free: 0000000008B68F20
2020/10/18 03:25:25 [debug] 12014\#0: *200 lua close socket connection
2020/10/18 03:25:25 [debug] 12014\#0: *200 reusable connection: 0
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *200 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12357 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:bar.com:p2" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: *200 lua finalize socket
2020/10/18 03:25:25 [debug] 12014\#0: *200 lua http cleanup free: 0000000008B68F20
2020/10/18 03:25:25 [debug] 12014\#0: *200 lua close socket connection
2020/10/18 03:25:25 [debug] 12014\#0: *200 reusable connection: 0
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *209 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12355 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:foo.com:p1" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: *209 lua finalize socket
2020/10/18 03:25:25 [debug] 12014\#0: *209 lua http cleanup free: 0000000008B77B10
2020/10/18 03:25:25 [debug] 12014\#0: *209 lua close socket connection
2020/10/18 03:25:25 [debug] 12014\#0: *209 reusable connection: 0
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *218 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12355 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:bar.com:p1" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: *218 lua finalize socket
2020/10/18 03:25:25 [debug] 12014\#0: *218 lua http cleanup free: 0000000008B86820
2020/10/18 03:25:25 [debug] 12014\#0: *218 lua close socket connection
2020/10/18 03:25:25 [debug] 12014\#0: *218 reusable connection: 0
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:25 [debug] 12014\#0: *218 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12357 was checked to be not ok" (req 0) 2020/10/18 03:25:25 [debug] 12014\#0: fetching key "nok:bar.com:p2" in shared dict "healthcheck"
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:25 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:25 [debug] 12014\#0: *218 lua finalize socket
2020/10/18 03:25:25 [debug] 12014\#0: *218 lua http cleanup free: 0000000008B86820
2020/10/18 03:25:25 [debug] 12014\#0: *218 lua close socket connection
2020/10/18 03:25:25 [debug] 12014\#0: *218 reusable connection: 0
'
sanity.t TEST 7: peers version upgrade (make up peers down) - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:26 [debug] 12014\#0: *224 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12355 was checked to be not ok" (req 0) 2020/10/18 03:25:26 [debug] 12014\#0: fetching key "nok:foo.com:p1" in shared dict "healthcheck"
2020/10/18 03:25:26 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:26 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:26 [debug] 12014\#0: shmtx lock
2020/10/18 03:25:26 [debug] 12014\#0: shmtx unlock
2020/10/18 03:25:26 [debug] 12014\#0: *224 lua finalize socket
2020/10/18 03:25:26 [debug] 12014\#0: *224 lua http cleanup free: 0000000008B8F600
2020/10/18 03:25:26 [debug] 12014\#0: *224 lua close socket connection
2020/10/18 03:25:26 [debug] 12014\#0: *224 reusable connection: 0
'
sanity.t TEST 3: health check (bad case), no listening port in a primary peer - grep_error_log_out (req 0) 'healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
upgrading peers version to 1
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
warn(): healthcheck: peer 127.0.0.1:12355 is turned down after 2 failure(s)
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
'
doesn't match '(?^:^healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be not ok
warn\(\): healthcheck: peer 127\.0\.0\.1:12355 is turned down after 2 failure\(s\)
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
(?:healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
){2,4}$)'
sanity.t TEST 15: peers > concurrency - grep_error_log_out (req 0) 'healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12357 was checked to be not ok
healthcheck: peer 127.0.0.1:12358 was checked to be not ok
healthcheck: failed to receive status line from 127.0.0.1:12354
healthcheck: peer 127.0.0.1:12354 was checked to be not ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
healthcheck: peer 127.0.0.1:12359 was checked to be not ok
'
doesn't match '(?^:^healthcheck: peer 127\.0\.0\.1:12357 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12358 was checked to be not ok
healthcheck: failed to receive status line from 127\.0\.0\.1:12354
healthcheck: peer 127\.0\.0\.1:12354 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12359 was checked to be not ok
$)'
sanity.t TEST 4: health check (bad case), bad status - grep_error_log_out (req 0) 'healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: bad status code from 127.0.0.1:12355: 404
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: bad status code from 127.0.0.1:12355: 404
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
warn(): healthcheck: peer 127.0.0.1:12355 is turned down after 2 failure(s)
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
'
doesn't match '(?^:^healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: bad status code from 127\.0\.0\.1:12355: 404
healthcheck: peer 127\.0\.0\.1:12355 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: bad status code from 127\.0\.0\.1:12355: 404
healthcheck: peer 127\.0\.0\.1:12355 was checked to be not ok
warn\(\): healthcheck: peer 127\.0\.0\.1:12355 is turned down after 2 failure\(s\)
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
(?:healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
){1,4}$)'
sanity.t TEST 2: health check (bad case), no listening port in the backup peer - grep_error_log_out (req 0) 'healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
publishing peers version 2
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
warn(): healthcheck: peer 127.0.0.1:12356 is turned down after 2 failure(s)
publishing peers version 1
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
'
doesn't match '(?^:^healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be not ok
warn\(\): healthcheck: peer 127\.0\.0\.1:12356 is turned down after 2 failure\(s\)
publishing peers version 1
(?:healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be not ok
){2,4}$)'
sanity.t TEST 1: health check (good case), status ignored by default - grep_error_log_out (req 0) 'healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
publishing peers version 3
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
upgrading peers version to 1
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
'
doesn't match '(?^:^healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
(?:healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
){3,5}$)'
sanity.t TEST 1: health check (good case), status ignored by default - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:33 [debug] 12143\#0: *646 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:12356 was checked to be not ok" (req 0) 2020/10/18 03:25:33 [debug] 12143\#0: fetching key "nok:foo.com:b0" in shared dict "healthcheck"
2020/10/18 03:25:33 [debug] 12143\#0: shmtx lock
2020/10/18 03:25:33 [debug] 12143\#0: shmtx unlock
2020/10/18 03:25:33 [debug] 12143\#0: shmtx lock
2020/10/18 03:25:33 [debug] 12143\#0: shmtx unlock
2020/10/18 03:25:33 [debug] 12143\#0: lua reusing cached lua thread 0000000008B49AF0 (ref 2)
2020/10/18 03:25:33 [debug] 12143\#0: *646 malloc: 00000000086D2100:184
2020/10/18 03:25:33 [debug] 12143\#0: malloc: 0000000008E551A0:48
2020/10/18 03:25:33 [debug] 12143\#0: event timer add: 146053872: 100:849520
'
sanity.t TEST 6: health check (bad case), bad status, and then rise again - grep_error_log_out (req 0) 'healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
publishing peers version 2
upgrading peers version to 1
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: bad status code from 127.0.0.1:12355: 403
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
warn(): healthcheck: peer 127.0.0.1:12355 is turned down after 1 failure(s)
healthcheck: peer 127.0.0.1:12356 was checked to be ok
publishing peers version 2
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
warn(): healthcheck: peer 127.0.0.1:12355 is turned up after 2 success(es)
healthcheck: peer 127.0.0.1:12356 was checked to be ok
publishing peers version 3
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
'
doesn't match '(?^:^healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: bad status code from 127\.0\.0\.1:12355: 403
healthcheck: peer 127\.0\.0\.1:12355 was checked to be not ok
warn\(\): healthcheck: peer 127\.0\.0\.1:12355 is turned down after 1 failure\(s\)
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
publishing peers version 1
healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
warn\(\): healthcheck: peer 127\.0\.0\.1:12355 is turned up after 2 success\(es\)
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
publishing peers version 2
(?:healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
){1,3}$)'
sanity.t TEST 10: concurrency == 3 (odd number of peers) - grep_error_log_out (req 0) 'spawn a thread checking primary peers 0 to 2
check primary peers 3 to 4
check backup peer 0
spawn a thread checking primary peers 0 to 2
check primary peers 3 to 4
check backup peer 0
spawn a thread checking primary peers 0 to 2
check primary peers 3 to 4
check backup peer 0
spawn a thread checking primary peer 0
spawn a thread checking primary peer 1
check primary peer 2
check backup peer 0
spawn a thread checking primary peer 0
spawn a thread checking primary peer 1
check primary peer 2
check backup peer 0
spawn a thread checking primary peer 0
spawn a thread checking primary peer 1
check primary peer 2
check backup peer 0
spawn a thread checking primary peer 0
spawn a thread checking primary peer 1
check primary peer 2
check backup peer 0
spawn a thread checking primary peer 0
spawn a thread checking primary peer 1
check primary peer 2
check backup peer 0
spawn a thread checking primary peer 0
spawn a thread checking primary peer 1
check primary peer 2
check backup peer 0
spawn a thread checking primary peer 0
spawn a thread checking primary peer 1
check primary peer 2
check backup peer 0
'
doesn't match '(?^:^(?:spawn a thread checking primary peer 0
spawn a thread checking primary peer 1
check primary peer 2
check backup peer 0
){4,6}$)'
sanity.t TEST 8: peers version upgrade (make down peers up) - grep_error_log_out (req 0) 'healthcheck: peer 127.0.0.1:12354 was checked to be not ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be not ok
healthcheck: peer 127.0.0.1:12355 was checked to be not ok
healthcheck: peer 127.0.0.1:12356 was checked to be not ok
upgrading peers version to 1
healthcheck: peer 127.0.0.1:12354 was checked to be not ok
warn(): healthcheck: peer 127.0.0.1:12354 is turned down after 2 failure(s)
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
publishing peers version 2
healthcheck: peer 127.0.0.1:12354 was checked to be not ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be not ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be not ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be not ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be not ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be not ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be not ok
healthcheck: peer 127.0.0.1:12355 was checked to be ok
healthcheck: peer 127.0.0.1:12356 was checked to be ok
'
doesn't match '(?^:^upgrading peers version to 1
healthcheck: peer 127\.0\.0\.1:12354 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12354 was checked to be not ok
warn\(\): healthcheck: peer 127\.0\.0\.1:12354 is turned down after 2 failure\(s\)
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
publishing peers version 2
(?:healthcheck: peer 127\.0\.0\.1:12354 was checked to be not ok
healthcheck: peer 127\.0\.0\.1:12355 was checked to be ok
healthcheck: peer 127\.0\.0\.1:12356 was checked to be ok
){3,5}$)'
sanity.t TEST 14: health check with ipv6 backend (good case), status ignored by default - grep_error_log_out (req 0) 'healthcheck: peer 127.0.0.1:7983 was checked to be not ok
healthcheck: peer 127.0.0.1:7983 was checked to be not ok
healthcheck: peer 127.0.0.1:7983 was checked to be not ok
publishing peers version 3
upgrading peers version to 1
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer [::1]:12355 was checked to be ok
healthcheck: peer [::1]:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer [::1]:12355 was checked to be ok
healthcheck: peer [::1]:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer [::1]:12355 was checked to be ok
healthcheck: peer [::1]:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer [::1]:12355 was checked to be ok
healthcheck: peer [::1]:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer [::1]:12355 was checked to be ok
healthcheck: peer [::1]:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer [::1]:12355 was checked to be ok
healthcheck: peer [::1]:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer [::1]:12355 was checked to be ok
healthcheck: peer [::1]:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer [::1]:12355 was checked to be ok
healthcheck: peer [::1]:12356 was checked to be ok
healthcheck: peer 127.0.0.1:12354 was checked to be ok
healthcheck: peer [::1]:12355 was checked to be ok
healthcheck: peer [::1]:12356 was checked to be ok
'
doesn't match '(?^:^healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer \[::1\]:12355 was checked to be ok
healthcheck: peer \[0:0::1\]:12356 was checked to be ok
(?:healthcheck: peer 127\.0\.0\.1:12354 was checked to be ok
healthcheck: peer \[::1\]:12355 was checked to be ok
healthcheck: peer \[0:0::1\]:12356 was checked to be ok
){3,7}$)'
sanity.t TEST 14: health check with ipv6 backend (good case), status ignored by default - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:45 [debug] 12382\#0: *1281 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:7983 was checked to be not ok" (req 0) 2020/10/18 03:25:45 [debug] 12382\#0: fetching key "nok:foo.com:p0" in shared dict "healthcheck"
2020/10/18 03:25:45 [debug] 12382\#0: shmtx lock
2020/10/18 03:25:45 [debug] 12382\#0: shmtx unlock
2020/10/18 03:25:45 [debug] 12382\#0: shmtx lock
2020/10/18 03:25:45 [debug] 12382\#0: shmtx unlock
2020/10/18 03:25:45 [debug] 12382\#0: lua reusing cached lua thread 000000000919B930 (ref 3)
2020/10/18 03:25:45 [debug] 12382\#0: *1281 malloc: 00000000086B9DD0:184
2020/10/18 03:25:45 [debug] 12382\#0: malloc: 00000000086B9ED0:48
2020/10/18 03:25:45 [debug] 12382\#0: event timer add: 152680752: 100:861408
'
sanity.t TEST 14: health check with ipv6 backend (good case), status ignored by default - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:45 [debug] 12382\#0: *1285 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:7983 was checked to be not ok" (req 0) 2020/10/18 03:25:45 [debug] 12382\#0: fetching key "nok:foo.com:p0" in shared dict "healthcheck"
2020/10/18 03:25:45 [debug] 12382\#0: shmtx lock
2020/10/18 03:25:45 [debug] 12382\#0: shmtx unlock
2020/10/18 03:25:45 [debug] 12382\#0: shmtx lock
2020/10/18 03:25:45 [debug] 12382\#0: shmtx unlock
2020/10/18 03:25:45 [debug] 12382\#0: lua reusing cached lua thread 0000000008672130 (ref 2)
2020/10/18 03:25:45 [debug] 12382\#0: *1285 malloc: 0000000009B41170:184
2020/10/18 03:25:45 [debug] 12382\#0: malloc: 0000000009B41270:48
2020/10/18 03:25:45 [debug] 12382\#0: event timer add: 140976432: 100:861508
'
sanity.t TEST 14: health check with ipv6 backend (good case), status ignored by default - pattern "was checked to be not ok" should not match any line in error.log but matches line "2020/10/18 03:25:46 [debug] 12382\#0: *1289 [lua] healthcheck.lua:59: debug(): healthcheck: peer 127.0.0.1:7983 was checked to be not ok" (req 0) 2020/10/18 03:25:46 [debug] 12382\#0: fetching key "nok:foo.com:p0" in shared dict "healthcheck"
2020/10/18 03:25:46 [debug] 12382\#0: shmtx lock
2020/10/18 03:25:46 [debug] 12382\#0: shmtx unlock
2020/10/18 03:25:46 [debug] 12382\#0: shmtx lock
2020/10/18 03:25:46 [debug] 12382\#0: lua shared dict set: creating a new entry
2020/10/18 03:25:46 [debug] 12382\#0: slab alloc: 90 slot: 4
2020/10/18 03:25:46 [debug] 12382\#0: slab alloc: 000000000403A100
2020/10/18 03:25:46 [debug] 12382\#0: shmtx unlock
2020/10/18 03:25:46 [debug] 12382\#0: fetching key "ok:foo.com:p0" in shared dict "healthcheck"
'

Warnings

(none)

Go back to the index page.