(This page was automatically generated by the tools in the opsboy project on 04:51:59 11-Oct-2024 GMT.)
Commit | Testing Time | Unexpected Failures |
Expected Failures |
Files | Tests | Elapsed Time |
---|---|---|---|---|---|---|
3c3d0786 | 2022-05-30 07:16:31 GMT | 466 | 177 | 88 | 12232 | 4465 sec |
File | Name | Details |
---|---|---|
balancer-timeout.t | TEST 1: set_timeouts - grep_error_log_out (req 0) |
'event timer add: 10: 1234: event timer add: 10: 5678: event timer add: 10: 7689: event timer add: 10: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 1: set_timeouts - grep_error_log_out (req 1) |
'event timer add: 10: 1234: event timer add: 10: 5678: event timer add: 10: 7689: event timer add: 10: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 4: set_timeouts (nil read timeout) - grep_error_log_out (req 0) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 4: set_timeouts (nil read timeout) - grep_error_log_out (req 1) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 2: set_timeouts (nil connect timeout) - grep_error_log_out (req 0) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 2: set_timeouts (nil connect timeout) - grep_error_log_out (req 1) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 3: set_timeouts (nil send timeout) - grep_error_log_out (req 0) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer-timeout.t | TEST 3: set_timeouts (nil send timeout) - grep_error_log_out (req 1) |
'event timer add: 4: 1234: event timer add: 4: 5678: event timer add: 4: 7689: event timer add: 4: 7689: ' doesn't match '(?^:\Aevent timer add: \d+: 1234: event timer add: \d+: 5678: event timer add: \d+: 7689: \z)' |
balancer.t | ERROR: client socket timed out - TEST 17: https (no keepalive) |
' |
balancer.t | TEST 17: https (no keepalive) - status code ok |
got: '' expected: '200' |
balancer.t | TEST 17: https (no keepalive) - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'ok' |
balancer.t | ERROR: client socket timed out - TEST 16: https (keepalive) |
' |
balancer.t | TEST 16: https (keepalive) - status code ok |
got: '' expected: '200' |
balancer.t | TEST 16: https (keepalive) - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'ok' |
ctx.t | ERROR: client socket timed out - TEST 9: ngx.ctx in ssl_session_fetch_by_lua (release ctx when client aborted) |
' |
ctx.t | TEST 9: ngx.ctx in ssl_session_fetch_by_lua (release ctx when client aborted) - status code ok |
got: '' expected: '200' |
ctx.t | TEST 9: ngx.ctx in ssl_session_fetch_by_lua (release ctx when client aborted) - response_body - response is expected (repeated req 0, req 0) |
got: "" length: 0 expected: "closed\x{0a}" length: 7 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | TEST 9: ngx.ctx in ssl_session_fetch_by_lua (release ctx when client aborted) - grep_error_log_out (req 1) |
got: "" length: 0 expected: "lua release ngx.ctx at ref 1\x{0a}" length: 29 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | ERROR: client socket timed out - TEST 6: ngx.ctx in ssl_session_store_by_lua |
' |
ctx.t | TEST 6: ngx.ctx in ssl_session_store_by_lua - status code ok |
got: '' expected: '200' |
ctx.t | TEST 6: ngx.ctx in ssl_session_store_by_lua - response_body - response is expected (repeated req 0, req 0) |
got: "" length: 0 expected: "received: 42\x{0a}received: 1\x{0a}received: 42\x{0a}received: 1\x{0a}" length: 50 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | TEST 6: ngx.ctx in ssl_session_store_by_lua - grep_error_log_out (req 0) |
got: "" length: 0 expected: "lua release ngx.ctx at ref 2\x{0a}lua release ngx.ctx a"... length: 87 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | TEST 6: ngx.ctx in ssl_session_store_by_lua - pattern "ngx.ctx.answer = 42" should match a line in error.log (req 0) | |
ctx.t | ERROR: client socket timed out - TEST 6: ngx.ctx in ssl_session_store_by_lua |
' |
ctx.t | TEST 6: ngx.ctx in ssl_session_store_by_lua - status code ok |
got: '' expected: '200' |
ctx.t | TEST 6: ngx.ctx in ssl_session_store_by_lua - response_body - response is expected (repeated req 1, req 0) |
got: "" length: 0 expected: "received: 42\x{0a}received: 1\x{0a}received: 42\x{0a}received: 1\x{0a}" length: 50 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | TEST 6: ngx.ctx in ssl_session_store_by_lua - grep_error_log_out (req 1) |
got: ..." at ref 1\x{0a}"... length: 87 expected: ..." at ref 1\x{0a}lua release ngx.ctx at ref 2\x{0a}lua release"... length: 174 strings begin to differ at char 88 (line 4 column 1) |
ctx.t | ERROR: client socket timed out - TEST 10: ngx.ctx in ssl* and other phases |
' |
ctx.t | TEST 10: ngx.ctx in ssl* and other phases - status code ok |
got: '' expected: '200' |
ctx.t | TEST 10: ngx.ctx in ssl* and other phases - grep_error_log_out (req 0) |
got: "" length: 0 expected: "lua release ngx.ctx at ref 2\x{0a}received: 102\x{0a}lua rel"... length: 115 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | ERROR: client socket timed out - TEST 10: ngx.ctx in ssl* and other phases |
' |
ctx.t | TEST 10: ngx.ctx in ssl* and other phases - status code ok |
got: '' expected: '200' |
ctx.t | TEST 10: ngx.ctx in ssl* and other phases - grep_error_log_out (req 1) |
got: ..."tx at ref 1\x{0a}lua release ngx.ctx at ref 2\x{0a}received:"... length: 144 expected: ..."tx at ref 2\x{0a}received: 102\x{0a}lua release ngx.ctx at r"... length: 230 strings begin to differ at char 28 (line 1 column 28) |
ctx.t | ERROR: client socket timed out - TEST 14: ngx.ctx in ssl_client_hello_by_lua |
' |
ctx.t | TEST 14: ngx.ctx in ssl_client_hello_by_lua - status code ok |
got: '' expected: '200' |
ctx.t | TEST 14: ngx.ctx in ssl_client_hello_by_lua - response_body - response is expected (repeated req 0, req 0) |
got: "" length: 0 expected: "received: 42\x{0a}received: 1\x{0a}received: 42\x{0a}received: 1\x{0a}" length: 50 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | TEST 14: ngx.ctx in ssl_client_hello_by_lua - grep_error_log_out (req 0) |
got: "" length: 0 expected: "lua release ngx.ctx at ref 2\x{0a}lua release ngx.ctx a"... length: 87 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | ERROR: client socket timed out - TEST 14: ngx.ctx in ssl_client_hello_by_lua |
' |
ctx.t | TEST 14: ngx.ctx in ssl_client_hello_by_lua - status code ok |
got: '' expected: '200' |
ctx.t | TEST 14: ngx.ctx in ssl_client_hello_by_lua - response_body - response is expected (repeated req 1, req 0) |
got: "" length: 0 expected: "received: 42\x{0a}received: 1\x{0a}received: 42\x{0a}received: 1\x{0a}" length: 50 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | TEST 14: ngx.ctx in ssl_client_hello_by_lua - grep_error_log_out (req 1) |
got: ..."tx at ref 1\x{0a}lua release ngx.ctx at ref 2\x{0a}lua relea"... length: 87 expected: ..."tx at ref 2\x{0a}lua release ngx.ctx at ref 2\x{0a}lua relea"... length: 174 strings begin to differ at char 28 (line 1 column 28) |
ctx.t | ERROR: client socket timed out - TEST 8: ngx.ctx in ssl_session_fetch_by_lua |
' |
ctx.t | TEST 8: ngx.ctx in ssl_session_fetch_by_lua - status code ok |
got: '' expected: '200' |
ctx.t | TEST 8: ngx.ctx in ssl_session_fetch_by_lua - grep_error_log_out (req 1) |
got: "" length: 0 expected: "lua release ngx.ctx at ref 2\x{0a}received: 42\x{0a}received"... length: 137 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | ERROR: client socket timed out - TEST 4: ngx.ctx in ssl_certificate_by_lua (share objects) |
' |
ctx.t | TEST 4: ngx.ctx in ssl_certificate_by_lua (share objects) - status code ok |
got: '' expected: '200' |
ctx.t | TEST 4: ngx.ctx in ssl_certificate_by_lua (share objects) - response_body - response is expected (repeated req 0, req 0) |
got: "" length: 0 expected: "received: 1\x{0a}received: 2\x{0a}" length: 24 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | ERROR: client socket timed out - TEST 4: ngx.ctx in ssl_certificate_by_lua (share objects) |
' |
ctx.t | TEST 4: ngx.ctx in ssl_certificate_by_lua (share objects) - status code ok |
got: '' expected: '200' |
ctx.t | TEST 4: ngx.ctx in ssl_certificate_by_lua (share objects) - response_body - response is expected (repeated req 1, req 0) |
got: "" length: 0 expected: "received: 1\x{0a}received: 2\x{0a}" length: 24 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | ERROR: client socket timed out - TEST 11: overwrite values will only take affect in the current http request |
' |
ctx.t | TEST 11: overwrite values will only take affect in the current http request - status code ok |
got: '' expected: '200' |
ctx.t | TEST 11: overwrite values will only take affect in the current http request - response_body - response is expected (repeated req 0, req 0) |
got: "" length: 0 expected: "received: 0\x{0a}received: 0\x{0a}" length: 24 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | ERROR: client socket timed out - TEST 11: overwrite values will only take affect in the current http request |
' |
ctx.t | TEST 11: overwrite values will only take affect in the current http request - status code ok |
got: '' expected: '200' |
ctx.t | TEST 11: overwrite values will only take affect in the current http request - response_body - response is expected (repeated req 1, req 0) |
got: "" length: 0 expected: "received: 0\x{0a}received: 0\x{0a}" length: 24 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | ERROR: client socket timed out - TEST 7: ngx.ctx in ssl_session_store_by_lua (release ctx when client aborted) |
' |
ctx.t | TEST 7: ngx.ctx in ssl_session_store_by_lua (release ctx when client aborted) - status code ok |
got: '' expected: '200' |
ctx.t | TEST 7: ngx.ctx in ssl_session_store_by_lua (release ctx when client aborted) - response_body - response is expected (repeated req 0, req 0) |
got: "" length: 0 expected: "closed\x{0a}" length: 7 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | TEST 7: ngx.ctx in ssl_session_store_by_lua (release ctx when client aborted) - grep_error_log_out (req 0) |
got: "" length: 0 expected: "lua release ngx.ctx at ref 1\x{0a}" length: 29 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | TEST 7: ngx.ctx in ssl_session_store_by_lua (release ctx when client aborted) - grep_error_log_out (req 1) |
got: "lua release ngx.ctx at ref 1\x{0a}" length: 29 expected: ..." at ref 1\x{0a}lua release ngx.ctx at ref 1\x{0a}"... length: 58 strings begin to differ at char 30 (line 2 column 1) |
ctx.t | ERROR: client socket timed out - TEST 3: ngx.ctx in ssl_certificate_by_lua |
' |
ctx.t | TEST 3: ngx.ctx in ssl_certificate_by_lua - status code ok |
got: '' expected: '200' |
ctx.t | TEST 3: ngx.ctx in ssl_certificate_by_lua - response_body - response is expected (repeated req 0, req 0) |
got: "" length: 0 expected: "received: 42\x{0a}received: 1\x{0a}received: 42\x{0a}received: 1\x{0a}" length: 50 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | TEST 3: ngx.ctx in ssl_certificate_by_lua - grep_error_log_out (req 0) |
got: "" length: 0 expected: "lua release ngx.ctx at ref 2\x{0a}lua release ngx.ctx a"... length: 87 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | ERROR: client socket timed out - TEST 3: ngx.ctx in ssl_certificate_by_lua |
' |
ctx.t | TEST 3: ngx.ctx in ssl_certificate_by_lua - status code ok |
got: '' expected: '200' |
ctx.t | TEST 3: ngx.ctx in ssl_certificate_by_lua - response_body - response is expected (repeated req 1, req 0) |
got: "" length: 0 expected: "received: 42\x{0a}received: 1\x{0a}received: 42\x{0a}received: 1\x{0a}" length: 50 strings begin to differ at char 1 (line 1 column 1) |
ctx.t | TEST 3: ngx.ctx in ssl_certificate_by_lua - grep_error_log_out (req 1) |
got: ..."tx at ref 1\x{0a}lua release ngx.ctx at ref 2\x{0a}"... length: 58 expected: ..."tx at ref 2\x{0a}lua release ngx.ctx at ref 2\x{0a}lua relea"... length: 174 strings begin to differ at char 28 (line 1 column 28) |
ocsp.t | ERROR: client socket timed out - TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert |
' |
ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert |
' |
ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 17: no status req from client |
' |
ocsp.t | TEST 17: no status req from client - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 17: no status req from client - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 3: get OCSP responder (no issuer cert at all) |
' |
ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 3: get OCSP responder (no issuer cert at all) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 1: get OCSP responder (good case) |
' |
ocsp.t | TEST 1: get OCSP responder (good case) - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 1: get OCSP responder (good case) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 2: get OCSP responder (not found) |
' |
ocsp.t | TEST 2: get OCSP responder (not found) - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 2: get OCSP responder (not found) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 5: get OCSP responder (truncated) |
' |
ocsp.t | TEST 5: get OCSP responder (truncated) - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 5: get OCSP responder (truncated) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 10: validate good OCSP response |
' |
ocsp.t | TEST 10: validate good OCSP response - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 10: validate good OCSP response - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 16: good status req from client |
' |
ocsp.t | TEST 16: good status req from client - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 16: good status req from client - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert |
' |
ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 9: create OCSP request (no issuer cert in the chain) |
' |
ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 9: create OCSP request (no issuer cert in the chain) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 12: validate good OCSP response - no certs in response |
' |
ocsp.t | TEST 12: validate good OCSP response - no certs in response - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 12: validate good OCSP response - no certs in response - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 4: get OCSP responder (issuer cert not next to the leaf cert) |
' |
ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 11: fail to validate OCSP response - no issuer cert |
' |
ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 11: fail to validate OCSP response - no issuer cert - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 7: create OCSP request (buffer too small) |
' |
ocsp.t | TEST 7: create OCSP request (buffer too small) - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 7: create OCSP request (buffer too small) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
ocsp.t | ERROR: client socket timed out - TEST 6: create OCSP request (good) |
' |
ocsp.t | TEST 6: create OCSP request (good) - status code ok |
got: '' expected: '200' |
ocsp.t | TEST 6: create OCSP request (good) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: cdata ' |
pipe-multi-workers.t | nginx: [emerg] | reuseport is not supported on this platform, ignored in /home/ec2-user/git/lua-resty-core/t/servroot/conf/nginx.conf:53 |
pipe-stderr.t | TEST 12: read stderr, without yield, pattern is read any - response_body - response is expected (repeated req 1, req 0) |
got: 'hello ' expected: 'helloworld ' |
pipe-stderr.t | TEST 23: read stderr, aborted by uthread kill, with graceful shutdown - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ -stdout: ok +stdout err: timeout stderr err: closed ' |
pipe-stdin.t | TEST 11: write process, aborted by uthread kill, with graceful shutdown - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ -stdout: ok +stdout err: timeout -stderr err: closed +stderr err: timeout ' |
pipe-stdin.t | TEST 11: write process, aborted by uthread kill, with graceful shutdown - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ -stdout: ok +stdout err: timeout -stderr err: closed +stderr err: timeout ' |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid write of size 4 ==23185== at 0x8172A18: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1165) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4fb4830 is 0 bytes inside a block of size 12 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x806890F: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x80A98B3: ngx_http_cleanup_add (ngx_http_core_module.c:2646) ==23185== by 0x814A4AC: ngx_http_lua_cleanup_add (ngx_http_lua_util.c:4226) ==23185== by 0x8174BEE: ngx_http_lua_ffi_pipe_spawn (ngx_http_lua_pipe.c:880) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4081B57: lua_pcall (lj_api.c:1145) ==23185== by 0x814A3FD: ngx_http_lua_do_call (ngx_http_lua_util.c:4159) ==23185== by 0x816079B: ngx_http_lua_init_worker_by_inline (ngx_http_lua_initworkerby.c:333) ==23185== by 0x8160730: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:298) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x814A4C4: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4237) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f94e00 is 8 bytes inside a block of size 812 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A226: ngx_http_lua_create_fake_request (ngx_http_lua_util.c:4042) ==23185== by 0x816036C: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:269) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x814A4CD: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4237) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f95270 is 224 bytes inside a block of size 252 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A253: ngx_http_lua_create_fake_request (ngx_http_lua_util.c:4078) ==23185== by 0x816036C: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:269) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x814A4D4: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4242) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f95048 is 592 bytes inside a block of size 812 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A226: ngx_http_lua_create_fake_request (ngx_http_lua_util.c:4042) ==23185== by 0x816036C: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:269) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x814A4DA: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4252) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f9509c is 676 bytes inside a block of size 812 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A226: ngx_http_lua_create_fake_request (ngx_http_lua_util.c:4042) ==23185== by 0x816036C: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:269) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x814A4EE: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4250) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4fb4838 is 8 bytes inside a block of size 12 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x806890F: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x80A98B3: ngx_http_cleanup_add (ngx_http_core_module.c:2646) ==23185== by 0x814A4AC: ngx_http_lua_cleanup_add (ngx_http_lua_util.c:4226) ==23185== by 0x8174BEE: ngx_http_lua_ffi_pipe_spawn (ngx_http_lua_pipe.c:880) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4081B57: lua_pcall (lj_api.c:1145) ==23185== by 0x814A3FD: ngx_http_lua_do_call (ngx_http_lua_util.c:4159) ==23185== by 0x816079B: ngx_http_lua_init_worker_by_inline (ngx_http_lua_initworkerby.c:333) ==23185== by 0x8160730: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:298) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid write of size 4 ==23185== at 0x814A4FE: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4254) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f9509c is 676 bytes inside a block of size 812 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A226: ngx_http_lua_create_fake_request (ngx_http_lua_util.c:4042) ==23185== by 0x816036C: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:269) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x814A500: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4256) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f953ac is 180 bytes inside a block of size 236 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x806890F: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x816040C: ngx_http_lua_create_ctx (ngx_http_lua_util.h:291) ==23185== by 0x816040C: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:287) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid write of size 4 ==23185== at 0x814A506: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4256) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4fb4838 is 8 bytes inside a block of size 12 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x806890F: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x80A98B3: ngx_http_cleanup_add (ngx_http_core_module.c:2646) ==23185== by 0x814A4AC: ngx_http_lua_cleanup_add (ngx_http_lua_util.c:4226) ==23185== by 0x8174BEE: ngx_http_lua_ffi_pipe_spawn (ngx_http_lua_pipe.c:880) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4081B57: lua_pcall (lj_api.c:1145) ==23185== by 0x814A3FD: ngx_http_lua_do_call (ngx_http_lua_util.c:4159) ==23185== by 0x816079B: ngx_http_lua_init_worker_by_inline (ngx_http_lua_initworkerby.c:333) ==23185== by 0x8160730: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:298) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid write of size 4 ==23185== at 0x814A509: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4257) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f953ac is 180 bytes inside a block of size 236 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x806890F: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x816040C: ngx_http_lua_create_ctx (ngx_http_lua_util.h:291) ==23185== by 0x816040C: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:287) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x814A50F: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4259) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f94dfc is 4 bytes inside a block of size 812 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A226: ngx_http_lua_create_fake_request (ngx_http_lua_util.c:4042) ==23185== by 0x816036C: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:269) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x814A515: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4259) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f94d68 is 0 bytes inside a block of size 40 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A1BD: ngx_http_lua_create_fake_connection (ngx_http_lua_util.c:4002) ==23185== by 0x8160350: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:262) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x8067BCE: ngx_log_error_core (ngx_log.c:128) ==23185== by 0x814A540: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4259) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f94d70 is 8 bytes inside a block of size 40 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A1BD: ngx_http_lua_create_fake_connection (ngx_http_lua_util.c:4002) ==23185== by 0x8160350: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:262) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_log_error_core fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x8067CCB: ngx_log_error_core (ngx_log.c:171) ==23185== by 0x814A540: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4259) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f94d68 is 0 bytes inside a block of size 40 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A1BD: ngx_http_lua_create_fake_connection (ngx_http_lua_util.c:4002) ==23185== by 0x8160350: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:262) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_log_error_core fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x8067CE9: ngx_log_error_core (ngx_log.c:175) ==23185== by 0x814A540: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4259) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f94d68 is 0 bytes inside a block of size 40 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A1BD: ngx_http_lua_create_fake_connection (ngx_http_lua_util.c:4002) ==23185== by 0x8160350: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:262) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_log_error_core fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x8067CF4: ngx_log_error_core (ngx_log.c:179) ==23185== by 0x814A540: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4259) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f94d80 is 24 bytes inside a block of size 40 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A1BD: ngx_http_lua_create_fake_connection (ngx_http_lua_util.c:4002) ==23185== by 0x8160350: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:262) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_log_error_core fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x8067D15: ngx_log_error_core (ngx_log.c:184) ==23185== by 0x814A540: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4259) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f94d74 is 12 bytes inside a block of size 40 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A1BD: ngx_http_lua_create_fake_connection (ngx_http_lua_util.c:4002) ==23185== by 0x8160350: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:262) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_log_error_core fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x8067D22: ngx_log_error_core (ngx_log.c:195) ==23185== by 0x814A540: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4259) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f94d6c is 4 bytes inside a block of size 40 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A1BD: ngx_http_lua_create_fake_connection (ngx_http_lua_util.c:4002) ==23185== by 0x8160350: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:262) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_log_error_core fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x8067D48: ngx_log_error_core (ngx_log.c:201) ==23185== by 0x814A540: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4259) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f94d6c is 4 bytes inside a block of size 40 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A1BD: ngx_http_lua_create_fake_connection (ngx_http_lua_util.c:4002) ==23185== by 0x8160350: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:262) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_log_error_core fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | TEST 26: read process, timeout |
==23185== Invalid read of size 4 ==23185== at 0x8067D5C: ngx_log_error_core (ngx_log.c:207) ==23185== by 0x814A540: ngx_http_lua_cleanup_free (ngx_http_lua_util.c:4259) ==23185== by 0x8172A2F: ngx_http_lua_ffi_pipe_proc_destroy (ngx_http_lua_pipe.c:1166) ==23185== by 0x4069A19: lj_vm_ffi_call (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x40C74A5: lj_ccall_func (lj_ccall.c:1382) ==23185== by 0x40E2212: lj_cf_ffi_meta___call (lib_ffi.c:230) ==23185== by 0x4067A31: lj_BC_FUNCC (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4069D8A: gc_call_finalizer (lj_gc.c:520) ==23185== by 0x406B881: lj_gc_finalize_cdata (lj_gc.c:596) ==23185== by 0x407526F: cpfinalize (lj_state.c:272) ==23185== by 0x4067D55: lj_vm_cpcall (in /opt/luajit-sysm/lib/libluajit-5.1.so.2.1.0) ==23185== by 0x4075696: lua_close (lj_state.c:299) ==23185== by 0x8144F85: ngx_http_lua_cleanup_vm (ngx_http_lua_util.c:3960) ==23185== by 0x8068820: ngx_destroy_pool (ngx_palloc.c:48) ==23185== by 0x80900F0: ngx_worker_process_exit (ngx_process_cycle.c:1079) ==23185== by 0x809019C: ngx_worker_process_cycle (ngx_process_cycle.c:787) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Address 0x4f94d8c is 36 bytes inside a block of size 40 free'd ==23185== at 0x402B615: free (vg_replace_malloc.c:538) ==23185== by 0x8068886: ngx_destroy_pool (ngx_palloc.c:76) ==23185== by 0x816073B: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:300) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== Block was alloc'd at ==23185== at 0x402A5A8: malloc (vg_replace_malloc.c:307) ==23185== by 0x808B051: ngx_alloc (ngx_alloc.c:22) ==23185== by 0x8068685: ngx_malloc (ngx_palloc.c:137) ==23185== by 0x8068A4A: ngx_palloc (ngx_palloc.c:120) ==23185== by 0x8068A4A: ngx_pcalloc (ngx_palloc.c:215) ==23185== by 0x814A1BD: ngx_http_lua_create_fake_connection (ngx_http_lua_util.c:4002) ==23185== by 0x8160350: ngx_http_lua_init_worker (ngx_http_lua_initworkerby.c:262) ==23185== by 0x808FBAE: ngx_worker_process_init (ngx_process_cycle.c:977) ==23185== by 0x809014F: ngx_worker_process_cycle (ngx_process_cycle.c:778) ==23185== by 0x808E804: ngx_spawn_process (ngx_process.c:199) ==23185== by 0x808F394: ngx_start_worker_processes (ngx_process_cycle.c:382) ==23185== by 0x80912F3: ngx_master_process_cycle (ngx_process_cycle.c:241) ==23185== by 0x80672BF: main (nginx.c:386) ==23185== { <insert_a_suppression_name_here> Memcheck:Addr4 fun:ngx_log_error_core fun:ngx_http_lua_cleanup_free fun:ngx_http_lua_ffi_pipe_proc_destroy fun:lj_vm_ffi_call fun:lj_ccall_func fun:lj_cf_ffi_meta___call fun:lj_BC_FUNCC fun:gc_call_finalizer fun:lj_gc_finalize_cdata fun:cpfinalize fun:lj_vm_cpcall fun:lua_close fun:ngx_http_lua_cleanup_vm fun:ngx_destroy_pool fun:ngx_worker_process_exit fun:ngx_worker_process_cycle fun:ngx_spawn_process fun:ngx_start_worker_processes fun:ngx_master_process_cycle fun:main } |
pipe-stdout.t | ERROR: client socket timed out - TEST 30: user case with read and wait |
' |
pipe-stdout.t | TEST 30: user case with read and wait - status code ok |
got: '' expected: '200' |
pipe-stdout.t | TEST 30: user case with read and wait - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -ok -exit ' |
pipe-stdout.t | TEST 16: read process, without yield, pattern is read any - response_body - response is expected (repeated req 1, req 0) |
got: 'hello ' expected: 'helloworld ' |
pipe.t | TEST 44: wait process, aborted by uthread kill, with graceful shutdown - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ -stdout: ok +stdout err: timeout stderr err: closed ' |
pipe.t | TEST 44: wait process, aborted by uthread kill, with graceful shutdown - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ -stdout: ok +stdout err: timeout stderr err: closed ' |
re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - status code ok |
got: '' expected: '200' |
re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - status code ok |
got: '' expected: '200' |
re-sub.t | TEST 6: ngx.re.gsub: use of ngx.req.get_headers in the user callback - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:06:24 [error] 645\#645: *83 open() \"/home/ec2-user/git/lua-resty-core/t/servroot/html/re\" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: \"GET /re HTTP/1.1\", host: \"localhost\"" (req 0) |
2022/05/30 08:06:24 [debug] 645\#645: *83 http finalize request: 404, "/re?" a:1, c:1 2022/05/30 08:06:24 [debug] 645\#645: *83 http special response: 404, "/re?" 2022/05/30 08:06:24 [debug] 645\#645: *83 http set discard body 2022/05/30 08:06:24 [debug] 645\#645: *83 lua capture header filter, uri "/re" 2022/05/30 08:06:24 [debug] 645\#645: *83 malloc: 057E7508:52 2022/05/30 08:06:24 [debug] 645\#645: *83 malloc: 057E7570:8 2022/05/30 08:06:24 [debug] 645\#645: *83 malloc: 057E75A8:177 2022/05/30 08:06:24 [debug] 645\#645: *83 malloc: 057E7690:8 2022/05/30 08:06:24 [debug] 645\#645: *83 HTTP/1.1 404 Not Found ' |
re-sub.t | TEST 6: ngx.re.gsub: use of ngx.req.get_headers in the user callback - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:06:24 [error] 645\#645: *83 open() \"/home/ec2-user/git/lua-resty-core/t/servroot/html/re\" failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: \"GET /re HTTP/1.1\", host: \"localhost\"" (req 1) |
2022/05/30 08:06:24 [debug] 645\#645: *83 http finalize request: 404, "/re?" a:1, c:1 2022/05/30 08:06:24 [debug] 645\#645: *83 http special response: 404, "/re?" 2022/05/30 08:06:24 [debug] 645\#645: *83 http set discard body 2022/05/30 08:06:24 [debug] 645\#645: *83 lua capture header filter, uri "/re" 2022/05/30 08:06:24 [debug] 645\#645: *83 malloc: 057E7508:52 2022/05/30 08:06:24 [debug] 645\#645: *83 malloc: 057E7570:8 2022/05/30 08:06:24 [debug] 645\#645: *83 malloc: 057E75A8:177 2022/05/30 08:06:24 [debug] 645\#645: *83 malloc: 057E7690:8 2022/05/30 08:06:24 [debug] 645\#645: *83 HTTP/1.1 404 Not Found ' |
require.t | TEST 1: utils.str_replace_char() sanity (replaces a single character) - response_body - like (repeated req 0, req 0) |
'failed to load foo: /home/ec2-user/git/lua-resty-core/t/servroot//html/foo.lua:10: /opt/luajit-sysm/lib/libluajit-5.1.so.2: undefined symbol: xxxx failed to load foo again: ./lib/resty/core/base.lua:81: loop or previous error loading module 'foo' ' doesn't match '(?^ms:failed to load foo: .*/html/foo.lua:10: /opt/luajit21/lib/libluajit-5.1.so.2: undefined symbol: xxxx failed to load foo again: ./lib/resty/core/base.lua:\d+: loop or previous error loading module 'foo')' Looks like you failed 1 test of 3. |
semaphore.t | ERROR: client socket timed out - TEST 36: basic semaphore_mm free insert head |
' |
semaphore.t | TEST 36: basic semaphore_mm free insert head - status code ok |
got: '' expected: '200' |
semaphore.t | TEST 36: basic semaphore_mm free insert head - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'ok ' |
semaphore.t | ERROR: client socket timed out - TEST 35: basic semaphore_mm free insert tail |
' |
semaphore.t | TEST 35: basic semaphore_mm free insert tail - status code ok |
got: '' expected: '200' |
semaphore.t | TEST 35: basic semaphore_mm free insert tail - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'ok ' |
semaphore.t | TEST 35: basic semaphore_mm free insert tail - pattern "add to free queue tail" should match a line in error.log (req 0) | |
shared.t | TEST 12: shared.expire updates ttl of key with non-default ttl - response_body - response is expected (repeated req 0, req 0) |
got: 'after 0.2s: nil after 0.4s: nil ' expected: 'after 0.2s: true after 0.4s: nil ' |
shdict.t | TEST 47: exptime uses long type to avoid overflow in set() + ttl() - response_body - response is expected (repeated req 0, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
shdict.t | TEST 47: exptime uses long type to avoid overflow in set() + ttl() - response_body - response is expected (repeated req 1, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
shdict.t | TEST 49: init_ttl uses long type to avoid overflow in incr() + ttl() - response_body - response is expected (repeated req 0, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
shdict.t | TEST 49: init_ttl uses long type to avoid overflow in incr() + ttl() - response_body - response is expected (repeated req 1, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
shdict.t | TEST 48: exptime uses long type to avoid overflow in expire() + ttl() - response_body - response is expected (repeated req 0, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
shdict.t | TEST 48: exptime uses long type to avoid overflow in expire() + ttl() - response_body - response is expected (repeated req 1, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
ssl-client-hello.t | ERROR: client socket timed out - TEST 4: read SNI name via ssl.clienthello.get_client_hello_ext() when no SNI name specified |
' |
ssl-client-hello.t | TEST 4: read SNI name via ssl.clienthello.get_client_hello_ext() when no SNI name specified - status code ok |
got: '' expected: '200' |
ssl-client-hello.t | TEST 4: read SNI name via ssl.clienthello.get_client_hello_ext() when no SNI name specified - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl-client-hello.t | ERROR: client socket timed out - TEST 4: read SNI name via ssl.clienthello.get_client_hello_ext() when no SNI name specified |
' |
ssl-client-hello.t | TEST 4: read SNI name via ssl.clienthello.get_client_hello_ext() when no SNI name specified - status code ok |
got: '' expected: '200' |
ssl-client-hello.t | TEST 4: read SNI name via ssl.clienthello.get_client_hello_ext() when no SNI name specified - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl-client-hello.t | ERROR: client socket timed out - TEST 5: dynamically set ssl protocol - allow TLSv1.2 |
' |
ssl-client-hello.t | TEST 5: dynamically set ssl protocol - allow TLSv1.2 - status code ok |
got: '' expected: '200' |
ssl-client-hello.t | TEST 5: dynamically set ssl protocol - allow TLSv1.2 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl-client-hello.t | TEST 5: dynamically set ssl protocol - allow TLSv1.2 - pattern "(?^:SSL: TLSv1.2, cipher:)" should match a line in error.log (req 0) | |
ssl-client-hello.t | ERROR: client socket timed out - TEST 6: dynamically set ssl protocol - allow TLSv1.3 |
' |
ssl-client-hello.t | TEST 6: dynamically set ssl protocol - allow TLSv1.3 - status code ok |
got: '' expected: '200' |
ssl-client-hello.t | TEST 6: dynamically set ssl protocol - allow TLSv1.3 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl-client-hello.t | TEST 6: dynamically set ssl protocol - allow TLSv1.3 - pattern "(?^:SSL: TLSv1.3, cipher:)" should match a line in error.log (req 0) | |
ssl-client-hello.t | ERROR: client socket timed out - TEST 6: dynamically set ssl protocol - allow TLSv1.3 |
' |
ssl-client-hello.t | TEST 6: dynamically set ssl protocol - allow TLSv1.3 - status code ok |
got: '' expected: '200' |
ssl-client-hello.t | TEST 6: dynamically set ssl protocol - allow TLSv1.3 - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl-client-hello.t | ERROR: client socket timed out - TEST 1: read SNI name via ssl.clienthello.get_client_hello_server_name() |
' |
ssl-client-hello.t | TEST 1: read SNI name via ssl.clienthello.get_client_hello_server_name() - status code ok |
got: '' expected: '200' |
ssl-client-hello.t | TEST 1: read SNI name via ssl.clienthello.get_client_hello_server_name() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl-client-hello.t | ERROR: client socket timed out - TEST 2: read SNI name via ssl.clienthello.get_client_hello_server_name() when no SNI name specified |
' |
ssl-client-hello.t | TEST 2: read SNI name via ssl.clienthello.get_client_hello_server_name() when no SNI name specified - status code ok |
got: '' expected: '200' |
ssl-client-hello.t | TEST 2: read SNI name via ssl.clienthello.get_client_hello_server_name() when no SNI name specified - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl-client-hello.t | ERROR: client socket timed out - TEST 3: read SNI name via ssl.clienthello.get_client_hello_ext() |
' |
ssl-client-hello.t | TEST 3: read SNI name via ssl.clienthello.get_client_hello_ext() - status code ok |
got: '' expected: '200' |
ssl-client-hello.t | TEST 3: read SNI name via ssl.clienthello.get_client_hello_ext() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl-client-hello.t | ERROR: client socket timed out - TEST 3: read SNI name via ssl.clienthello.get_client_hello_ext() |
' |
ssl-client-hello.t | TEST 3: read SNI name via ssl.clienthello.get_client_hello_ext() - status code ok |
got: '' expected: '200' |
ssl-client-hello.t | TEST 3: read SNI name via ssl.clienthello.get_client_hello_ext() - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl-session-fetch.t | ERROR: client socket timed out - TEST 1: get resume session id serialized |
' |
ssl-session-fetch.t | TEST 1: get resume session id serialized - status code ok |
got: '' expected: '200' |
ssl-session-fetch.t | TEST 1: get resume session id serialized - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +0,0 @@ -connected: 1 -ssl handshake: cdata -close: 1 nil ' |
ssl-session-fetch.t | ERROR: client socket timed out - TEST 4: attempt to resume a corrupted session |
' |
ssl-session-fetch.t | TEST 4: attempt to resume a corrupted session - status code ok |
got: '' expected: '200' |
ssl-session-fetch.t | TEST 4: attempt to resume a corrupted session - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +0,0 @@ -connected: 1 -ssl handshake: cdata -close: 1 nil ' |
ssl-session-fetch.t | ERROR: client socket timed out - TEST 3: store new session, and resume it |
' |
ssl-session-fetch.t | TEST 3: store new session, and resume it - status code ok |
got: '' expected: '200' |
ssl-session-fetch.t | TEST 3: store new session, and resume it - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +0,0 @@ -connected: 1 -ssl handshake: cdata -close: 1 nil ' |
ssl-session-fetch.t | ERROR: client socket timed out - TEST 5: yield during doing handshake with client which uses low version OpenSSL |
' |
ssl-session-fetch.t | TEST 5: yield during doing handshake with client which uses low version OpenSSL - status code ok |
got: '' expected: '200' |
ssl-session-fetch.t | TEST 5: yield during doing handshake with client which uses low version OpenSSL - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'ok ' |
ssl-session-fetch.t | TEST 5: yield during doing handshake with client which uses low version OpenSSL - pattern "(?^:content_by_lua\(nginx\.conf:\d+\):\d+: CONNECTED)" should match a line in error.log (req 0) | |
ssl-session-fetch.t | TEST 5: yield during doing handshake with client which uses low version OpenSSL - response_body - response is expected (repeated req 1, req 0) |
got: '' expected: 'ok ' |
ssl-session-fetch.t | TEST 5: yield during doing handshake with client which uses low version OpenSSL - pattern "(?^:content_by_lua\(nginx\.conf:\d+\):\d+: CONNECTED)" should match a line in error.log (req 1) | |
ssl-session-fetch.t | TEST 5: yield during doing handshake with client which uses low version OpenSSL - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:18:16 [error] 9798\#9798: *98 [lua] content_by_lua(nginx.conf:81):33: openssl client handshake timeout, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) |
2022/05/30 08:18:16 [debug] 9798\#9798: *98 lua resume returned 0 2022/05/30 08:18:16 [debug] 9798\#9798: *98 lua light thread ended normally 2022/05/30 08:18:16 [debug] 9798\#9798: *98 lua deleting light thread 055B4500 (ref 1) 2022/05/30 08:18:16 [debug] 9798\#9798: *98 lua caching unused lua thread 055B4500 (ref 1) 2022/05/30 08:18:16 [debug] 9798\#9798: *98 lua capture header filter, uri "/t" 2022/05/30 08:18:16 [debug] 9798\#9798: *98 malloc: 055F83F0:8 2022/05/30 08:18:16 [debug] 9798\#9798: *98 malloc: 055F8428:8 2022/05/30 08:18:16 [debug] 9798\#9798: *98 malloc: 055F8460:52 2022/05/30 08:18:16 [debug] 9798\#9798: *98 malloc: 055F84C8:8 ' |
ssl-session-fetch.t | TEST 5: yield during doing handshake with client which uses low version OpenSSL - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:18:18 [error] 9798\#9798: *101 [lua] content_by_lua(nginx.conf:81):33: openssl client handshake timeout, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1) |
2022/05/30 08:18:18 [debug] 9798\#9798: *101 lua resume returned 0 2022/05/30 08:18:18 [debug] 9798\#9798: *101 lua light thread ended normally 2022/05/30 08:18:18 [debug] 9798\#9798: *101 lua deleting light thread 055C9B80 (ref 2) 2022/05/30 08:18:18 [debug] 9798\#9798: *101 lua caching unused lua thread 055C9B80 (ref 2) 2022/05/30 08:18:18 [debug] 9798\#9798: *101 lua capture header filter, uri "/t" 2022/05/30 08:18:18 [debug] 9798\#9798: *101 malloc: 055F8BF0:8 2022/05/30 08:18:18 [debug] 9798\#9798: *101 malloc: 055F8C28:8 2022/05/30 08:18:18 [debug] 9798\#9798: *101 malloc: 055F8C60:52 2022/05/30 08:18:18 [debug] 9798\#9798: *101 malloc: 055F8CC8:8 ' |
ssl-session-fetch.t | ERROR: client socket timed out - TEST 2: attempt to fetch new session in lua_ctx during resumption. |
' |
ssl-session-fetch.t | TEST 2: attempt to fetch new session in lua_ctx during resumption. - status code ok |
got: '' expected: '200' |
ssl-session-fetch.t | TEST 2: attempt to fetch new session in lua_ctx during resumption. - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +0,0 @@ -connected: 1 -ssl handshake: cdata -close: 1 nil ' |
ssl-session-fetch.t | ERROR: client socket timed out - TEST 6: store new session, and resume it, avoid memory leak when calling repeatly |
' |
ssl-session-fetch.t | TEST 6: store new session, and resume it, avoid memory leak when calling repeatly - status code ok |
got: '' expected: '200' |
ssl-session-fetch.t | TEST 6: store new session, and resume it, avoid memory leak when calling repeatly - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +0,0 @@ -connected: 1 -ssl handshake: cdata -close: 1 nil ' |
ssl-session-store.t | ERROR: client socket timed out - TEST 3: store the session via timer to memcached |
' |
ssl-session-store.t | TEST 3: store the session via timer to memcached - status code ok |
got: '' expected: '200' |
ssl-session-store.t | TEST 3: store the session via timer to memcached - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +0,0 @@ -connected: 1 -ssl handshake: cdata -close: 1 nil ' |
ssl-session-store.t | ERROR: client socket timed out - TEST 1: get new session serialized |
' |
ssl-session-store.t | TEST 1: get new session serialized - status code ok |
got: '' expected: '200' |
ssl-session-store.t | TEST 1: get new session serialized - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +0,0 @@ -connected: 1 -ssl handshake: cdata -close: 1 nil ' |
ssl-session-store.t | TEST 1: get new session serialized - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:18:49 [error] 10071\#10071: *7 lua tcp socket read timed out, context: ngx.timer, client: unix:, server: unix:/home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock" (req 0) |
2022/05/30 08:18:49 [debug] 10124\#10124: *33 lua capture body filter, uri "/ver" 2022/05/30 08:18:49 [debug] 10124\#10124: *33 image filter 2022/05/30 08:18:49 [debug] 10124\#10124: *33 http postpone filter "/ver?" BEA1AA70 2022/05/30 08:18:49 [debug] 10124\#10124: *33 write old buf t:1 f:0 04FD3450, pos 04FD3450, size: 158 file: 0, size: 0 2022/05/30 08:18:49 [debug] 10071\#10071: *7 lua tcp socket handle read error 2022/05/30 08:18:49 [debug] 10124\#10124: *33 malloc: 04FD3680:8 2022/05/30 08:18:49 [debug] 10124\#10124: *33 malloc: 04FD36B8:8 2022/05/30 08:18:49 [debug] 10124\#10124: *33 write new buf t:0 f:0 00000000, pos 04CF84B0, size: 10 file: 0, size: 0 2022/05/30 08:18:49 [debug] 10124\#10124: *33 http write filter: l:1 f:0 s:168 ' |
ssl-session-store.t | TEST 1: get new session serialized - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:18:49 [error] 10071\#10071: *7 [lua] ssl_session_store_by_lua(nginx.conf:26):24: failed to receive memc reply: timeout, context: ngx.timer, client: unix:, server: unix:/home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock" (req 0) |
2022/05/30 08:18:49 [debug] 10071\#10071: *7 lua resume returned 0 2022/05/30 08:18:49 [debug] 10124\#10124: *33 writev: 168 of 168 2022/05/30 08:18:49 [debug] 10071\#10071: *7 lua light thread ended normally 2022/05/30 08:18:49 [debug] 10124\#10124: *33 http write filter 00000000 2022/05/30 08:18:49 [debug] 10071\#10071: *7 lua deleting light thread 04D6CEC0 (ref 2) 2022/05/30 08:18:49 [debug] 10124\#10124: *33 http copy filter: 0 "/ver?" 2022/05/30 08:18:49 [debug] 10071\#10071: *7 lua caching unused lua thread 04D6CEC0 (ref 2) 2022/05/30 08:18:49 [debug] 10124\#10124: *33 http finalize request: 0, "/ver?" a:1, c:1 2022/05/30 08:18:49 [debug] 10124\#10124: *33 set http keepalive handler ' |
ssl-session-store.t | TEST 1: get new session serialized - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:18:51 [error] 10071\#10071: *11 lua tcp socket read timed out, context: ngx.timer, client: unix:, server: unix:/home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock" (req 0) |
2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua tcp socket handle read error 2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua tcp socket waking up the current request 2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua tcp operation done, resuming lua thread 2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua tcp socket calling prepare retvals handler 081564BC, u:04E0F7F0 2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua tcp socket receive return value handler 2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua run thread, top:0 c:1 2022/05/30 08:18:51 [error] 10071\#10071: *11 [lua] ssl_session_store_by_lua(nginx.conf:26):24: failed to receive memc reply: timeout, context: ngx.timer, client: unix:, server: unix:/home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock 2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua resume returned 0 2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua light thread ended normally ' |
ssl-session-store.t | TEST 1: get new session serialized - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:18:51 [error] 10071\#10071: *11 [lua] ssl_session_store_by_lua(nginx.conf:26):24: failed to receive memc reply: timeout, context: ngx.timer, client: unix:, server: unix:/home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock" (req 0) |
2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua resume returned 0 2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua light thread ended normally 2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua deleting light thread 04CD1708 (ref 1) 2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua caching unused lua thread 04CD1708 (ref 1) 2022/05/30 08:18:51 [debug] 10071\#10071: *11 lua run thread returned 0 2022/05/30 08:18:51 [debug] 10071\#10071: *11 http lua finalize fake request: 0, a:1, c:1 2022/05/30 08:18:51 [debug] 10071\#10071: *11 http lua fake request count:1 2022/05/30 08:18:51 [debug] 10071\#10071: *11 http lua close fake request 2022/05/30 08:18:51 [debug] 10071\#10071: *11 cleanup lua tcp socket request: "" ' |
ssl-session-store.t | ERROR: client socket timed out - TEST 1: get new session serialized |
' |
ssl-session-store.t | TEST 1: get new session serialized - status code ok |
got: '' expected: '200' |
ssl-session-store.t | TEST 1: get new session serialized - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +0,0 @@ -connected: 1 -ssl handshake: cdata -close: 1 nil ' |
ssl-session-store.t | ERROR: client socket timed out - TEST 2: get new session id serialized |
' |
ssl-session-store.t | TEST 2: get new session id serialized - status code ok |
got: '' expected: '200' |
ssl-session-store.t | TEST 2: get new session id serialized - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +0,0 @@ -connected: 1 -ssl handshake: cdata -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) |
' |
ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - status code ok |
got: '' expected: '200' |
ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) |
' |
ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - status code ok |
got: '' expected: '200' |
ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 14: ngx.semaphore in ssl_certificate_by_lua* |
' |
ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - status code ok |
got: '' expected: '200' |
ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
ssl.t | ERROR: client socket timed out - TEST 14: ngx.semaphore in ssl_certificate_by_lua* |
' |
ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - status code ok |
got: '' expected: '200' |
ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
ssl.t | ERROR: client socket timed out - TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) |
' |
ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - status code ok |
got: '' expected: '200' |
ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) |
' |
ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - status code ok |
got: '' expected: '200' |
ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 24: verify client without CA certificates |
' |
ssl.t | TEST 24: verify client without CA certificates - status code ok |
got: '' expected: '200' |
ssl.t | TEST 24: verify client without CA certificates - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'FAILED:self signed certificate ' |
ssl.t | ERROR: client socket timed out - TEST 24: verify client without CA certificates |
' |
ssl.t | TEST 24: verify client without CA certificates - status code ok |
got: '' expected: '200' |
ssl.t | TEST 24: verify client without CA certificates - response_body - response is expected (repeated req 1, req 0) |
got: '' expected: 'FAILED:self signed certificate ' |
ssl.t | ERROR: client socket timed out - TEST 20: read client addr via ssl.raw_client_addr() |
' |
ssl.t | TEST 20: read client addr via ssl.raw_client_addr() - status code ok |
got: '' expected: '200' |
ssl.t | TEST 20: read client addr via ssl.raw_client_addr() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 20: read client addr via ssl.raw_client_addr() |
' |
ssl.t | TEST 20: read client addr via ssl.raw_client_addr() - status code ok |
got: '' expected: '200' |
ssl.t | TEST 20: read client addr via ssl.raw_client_addr() - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 21: yield during doing handshake with client which uses low version OpenSSL |
' |
ssl.t | TEST 21: yield during doing handshake with client which uses low version OpenSSL - status code ok |
got: '' expected: '200' |
ssl.t | TEST 21: yield during doing handshake with client which uses low version OpenSSL - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'ok ' |
ssl.t | ERROR: client socket timed out - TEST 23: verify client with CA certificates |
' |
ssl.t | TEST 23: verify client with CA certificates - status code ok |
got: '' expected: '200' |
ssl.t | TEST 23: verify client with CA certificates - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'SUCCESS ' |
ssl.t | ERROR: client socket timed out - TEST 23: verify client with CA certificates |
' |
ssl.t | TEST 23: verify client with CA certificates - status code ok |
got: '' expected: '200' |
ssl.t | TEST 23: verify client with CA certificates - response_body - response is expected (repeated req 1, req 0) |
got: '' expected: 'SUCCESS ' |
ssl.t | ERROR: client socket timed out - TEST 25: verify client but client provides no certificate |
' |
ssl.t | TEST 25: verify client but client provides no certificate - status code ok |
got: '' expected: '200' |
ssl.t | TEST 25: verify client but client provides no certificate - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'NONE ' |
ssl.t | ERROR: client socket timed out - TEST 12: tls version - TLSv1.1 |
' |
ssl.t | TEST 12: tls version - TLSv1.1 - status code ok |
got: '' expected: '200' |
ssl.t | TEST 12: tls version - TLSv1.1 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
ssl.t | ERROR: client socket timed out - TEST 13: tls version - TLSv1.2 |
' |
ssl.t | TEST 13: tls version - TLSv1.2 - status code ok |
got: '' expected: '200' |
ssl.t | TEST 13: tls version - TLSv1.2 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
ssl.t | ERROR: client socket timed out - TEST 2: set DER cert and private key |
' |
ssl.t | TEST 2: set DER cert and private key - status code ok |
got: '' expected: '200' |
ssl.t | TEST 2: set DER cert and private key - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 2: set DER cert and private key |
' |
ssl.t | TEST 2: set DER cert and private key - status code ok |
got: '' expected: '200' |
ssl.t | TEST 2: set DER cert and private key - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 10: tls version - SSLv3 |
' |
ssl.t | TEST 10: tls version - SSLv3 - status code ok |
got: '' expected: '200' |
ssl.t | TEST 10: tls version - SSLv3 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
ssl.t | ERROR: client socket timed out - TEST 27: read server port via ssl.server_port() with unix domain socket |
' |
ssl.t | TEST 27: read server port via ssl.server_port() with unix domain socket - status code ok |
got: '' expected: '200' |
ssl.t | TEST 27: read server port via ssl.server_port() with unix domain socket - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 27: read server port via ssl.server_port() with unix domain socket |
' |
ssl.t | TEST 27: read server port via ssl.server_port() with unix domain socket - status code ok |
got: '' expected: '200' |
ssl.t | TEST 27: read server port via ssl.server_port() with unix domain socket - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) |
' |
ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - status code ok |
got: '' expected: '200' |
ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) |
' |
ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - status code ok |
got: '' expected: '200' |
ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 3: read SNI name via ssl.server_name() |
' |
ssl.t | TEST 3: read SNI name via ssl.server_name() - status code ok |
got: '' expected: '200' |
ssl.t | TEST 3: read SNI name via ssl.server_name() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 3: read SNI name via ssl.server_name() |
' |
ssl.t | TEST 3: read SNI name via ssl.server_name() - status code ok |
got: '' expected: '200' |
ssl.t | TEST 3: read SNI name via ssl.server_name() - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 22: tls version - TLSv1.3 |
' |
ssl.t | TEST 22: tls version - TLSv1.3 - status code ok |
got: '' expected: '200' |
ssl.t | TEST 22: tls version - TLSv1.3 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
ssl.t | ERROR: client socket timed out - TEST 4: read SNI name via ssl.server_name() when no SNI name specified |
' |
ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - status code ok |
got: '' expected: '200' |
ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 11: tls version - TLSv1 |
' |
ssl.t | TEST 11: tls version - TLSv1 - status code ok |
got: '' expected: '200' |
ssl.t | TEST 11: tls version - TLSv1 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
ssl.t | ERROR: client socket timed out - TEST 26: read server port via ssl.server_port() with ipv4 |
' |
ssl.t | TEST 26: read server port via ssl.server_port() with ipv4 - status code ok |
got: '' expected: '200' |
ssl.t | TEST 26: read server port via ssl.server_port() with ipv4 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
ssl.t | ERROR: client socket timed out - TEST 26: read server port via ssl.server_port() with ipv4 |
' |
ssl.t | TEST 26: read server port via ssl.server_port() with ipv4 - status code ok |
got: '' expected: '200' |
ssl.t | TEST 26: read server port via ssl.server_port() with ipv4 - response_body - response is expected (repeated req 1, req 0) |
@@ -1,11 +0,0 @@ -connected: 1 -ssl handshake: cdata -sent http request: 56 bytes. -received: HTTP/1.1 201 Created -received: Server: nginx -received: Content-Type: text/plain -received: Content-Length: 4 -received: Connection: close -received: -received: foo -close: 1 nil ' |
stream/ctx.t | ERROR: client socket timed out - TEST 2: ngx.ctx in ssl_certificate_by_lua (share objects) |
' |
stream/ctx.t | TEST 2: ngx.ctx in ssl_certificate_by_lua (share objects) - status code ok |
got: '' expected: '200' |
stream/ctx.t | TEST 2: ngx.ctx in ssl_certificate_by_lua (share objects) - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'received: 1 ' |
stream/ctx.t | ERROR: client socket timed out - TEST 2: ngx.ctx in ssl_certificate_by_lua (share objects) |
' |
stream/ctx.t | TEST 2: ngx.ctx in ssl_certificate_by_lua (share objects) - status code ok |
got: '' expected: '200' |
stream/ctx.t | TEST 2: ngx.ctx in ssl_certificate_by_lua (share objects) - response_body - response is expected (repeated req 1, req 0) |
got: '' expected: 'received: 1 ' |
stream/ctx.t | TEST 3: ngx.ctx in ssl_certificate_by_lua (release ctx when client aborted) - grep_error_log_out (req 0) |
got: 'lua release ngx.ctx at ref 2 lua release ngx.ctx at ref 1 lua release ngx.ctx at ref 1 ' expected: 'lua release ngx.ctx at ref 1 ' |
stream/ctx.t | TEST 3: ngx.ctx in ssl_certificate_by_lua (release ctx when client aborted) - grep_error_log_out (req 1) |
@@ -1,2 +1,4 @@ +lua release ngx.ctx at ref 2 +lua release ngx.ctx at ref 1 lua release ngx.ctx at ref 1 lua release ngx.ctx at ref 1 ' |
stream/ctx.t | ERROR: client socket timed out - TEST 4: ngx.ctx in ssl_client_hello_by_lua |
' |
stream/ctx.t | TEST 4: ngx.ctx in ssl_client_hello_by_lua - status code ok |
got: '' expected: '200' |
stream/ctx.t | TEST 4: ngx.ctx in ssl_client_hello_by_lua - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -received: 42 -received: 1 ' |
stream/ctx.t | TEST 4: ngx.ctx in ssl_client_hello_by_lua - grep_error_log_out (req 0) |
@@ -1,2 +0,0 @@ -lua release ngx.ctx at ref 2 -lua release ngx.ctx at ref 1 ' |
stream/ctx.t | ERROR: client socket timed out - TEST 4: ngx.ctx in ssl_client_hello_by_lua |
' |
stream/ctx.t | TEST 4: ngx.ctx in ssl_client_hello_by_lua - status code ok |
got: '' expected: '200' |
stream/ctx.t | TEST 4: ngx.ctx in ssl_client_hello_by_lua - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -received: 42 -received: 1 ' |
stream/ctx.t | TEST 4: ngx.ctx in ssl_client_hello_by_lua - grep_error_log_out (req 1) |
@@ -1,4 +1,3 @@ -lua release ngx.ctx at ref 2 lua release ngx.ctx at ref 1 lua release ngx.ctx at ref 2 lua release ngx.ctx at ref 1 ' |
stream/ctx.t | ERROR: client socket timed out - TEST 1: ngx.ctx in ssl_certificate_by_lua |
' |
stream/ctx.t | TEST 1: ngx.ctx in ssl_certificate_by_lua - status code ok |
got: '' expected: '200' |
stream/ctx.t | TEST 1: ngx.ctx in ssl_certificate_by_lua - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -received: 42 -received: 1 ' |
stream/ctx.t | TEST 1: ngx.ctx in ssl_certificate_by_lua - grep_error_log_out (req 0) |
@@ -1,2 +0,0 @@ -lua release ngx.ctx at ref 2 -lua release ngx.ctx at ref 1 ' |
stream/ctx.t | ERROR: client socket timed out - TEST 1: ngx.ctx in ssl_certificate_by_lua |
' |
stream/ctx.t | TEST 1: ngx.ctx in ssl_certificate_by_lua - status code ok |
got: '' expected: '200' |
stream/ctx.t | TEST 1: ngx.ctx in ssl_certificate_by_lua - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -received: 42 -received: 1 ' |
stream/ctx.t | TEST 1: ngx.ctx in ssl_certificate_by_lua - grep_error_log_out (req 1) |
@@ -1,4 +1 @@ -lua release ngx.ctx at ref 2 -lua release ngx.ctx at ref 1 -lua release ngx.ctx at ref 2 lua release ngx.ctx at ref 1 ' |
stream/re-opt.t | TEST 1: default jit_stack_size too small - response_body - response is expected (repeated req 0, req 0) |
got: 'from: 1 to: 1563 ' expected: 'error: pcre_exec() failed: -27 ' |
stream/re-opt.t | TEST 1: default jit_stack_size too small - response_body - response is expected (repeated req 1, req 0) |
got: 'from: 1 to: 1563 ' expected: 'error: pcre_exec() failed: -27 ' |
stream/re-sub.t | ERROR: client socket timed out - TEST 5: replace template + submatches (exceeding buffers) |
' |
stream/re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - status code ok |
got: '' expected: '200' |
stream/re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -s: [bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd -n: 2048 ' |
stream/re-sub.t | ERROR: client socket timed out - TEST 5: replace template + submatches (exceeding buffers) |
' |
stream/re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - status code ok |
got: '' expected: '200' |
stream/re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -s: [bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd -n: 2048 ' |
stream/semaphore.t | ERROR: client socket timed out - TEST 25: basic semaphore_mm free insert tail |
' |
stream/semaphore.t | TEST 25: basic semaphore_mm free insert tail - status code ok |
got: '' expected: '200' |
stream/semaphore.t | TEST 25: basic semaphore_mm free insert tail - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'ok ' |
stream/semaphore.t | TEST 25: basic semaphore_mm free insert tail - pattern "add to free queue tail" should match a line in error.log (req 0) | |
stream/semaphore.t | ERROR: client socket timed out - TEST 26: basic semaphore_mm free insert head |
' |
stream/semaphore.t | TEST 26: basic semaphore_mm free insert head - status code ok |
got: '' expected: '200' |
stream/semaphore.t | TEST 26: basic semaphore_mm free insert head - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'ok ' |
stream/shdict.t | TEST 49: init_ttl uses long type to avoid overflow in incr() + ttl() - response_body - response is expected (repeated req 0, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
stream/shdict.t | TEST 49: init_ttl uses long type to avoid overflow in incr() + ttl() - response_body - response is expected (repeated req 1, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
stream/shdict.t | TEST 47: exptime uses long type to avoid overflow in set() + ttl() - response_body - response is expected (repeated req 0, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
stream/shdict.t | TEST 47: exptime uses long type to avoid overflow in set() + ttl() - response_body - response is expected (repeated req 1, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
stream/shdict.t | TEST 48: exptime uses long type to avoid overflow in expire() + ttl() - response_body - response is expected (repeated req 0, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
stream/shdict.t | TEST 48: exptime uses long type to avoid overflow in expire() + ttl() - response_body - response is expected (repeated req 1, req 0) |
got: 'ttl: 0 ' expected: 'ttl: 2147483648 ' |
stream/ssl.t | ERROR: client socket timed out - TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) |
' |
stream/ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) |
' |
stream/ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 2: set DER cert and private key |
' |
stream/ssl.t | TEST 2: set DER cert and private key - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 2: set DER cert and private key - response_body - response is expected (repeated req 0, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 2: set DER cert and private key |
' |
stream/ssl.t | TEST 2: set DER cert and private key - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 2: set DER cert and private key - response_body - response is expected (repeated req 1, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 11: tls version - TLSv1 |
' |
stream/ssl.t | TEST 11: tls version - TLSv1 - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 11: tls version - TLSv1 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
stream/ssl.t | ERROR: client socket timed out - TEST 11: tls version - TLSv1 |
' |
stream/ssl.t | TEST 11: tls version - TLSv1 - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 11: tls version - TLSv1 - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
stream/ssl.t | ERROR: client socket timed out - TEST 3: read SNI name via ssl.server_name() |
' |
stream/ssl.t | TEST 3: read SNI name via ssl.server_name() - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 3: read SNI name via ssl.server_name() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 3: read SNI name via ssl.server_name() |
' |
stream/ssl.t | TEST 3: read SNI name via ssl.server_name() - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 3: read SNI name via ssl.server_name() - response_body - response is expected (repeated req 1, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 14: ngx.semaphore in ssl_certificate_by_lua* |
' |
stream/ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
stream/ssl.t | ERROR: client socket timed out - TEST 14: ngx.semaphore in ssl_certificate_by_lua* |
' |
stream/ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
stream/ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - grep_error_log_out (req 1) |
@@ -1,4 +1,3 @@ stream lua semaphore new stream lua semaphore wait stream lua semaphore wait yielding -stream lua semaphore post ' |
stream/ssl.t | ERROR: client socket timed out - TEST 4: read SNI name via ssl.server_name() when no SNI name specified |
' |
stream/ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - response_body - response is expected (repeated req 0, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 4: read SNI name via ssl.server_name() when no SNI name specified |
' |
stream/ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 4: read SNI name via ssl.server_name() when no SNI name specified - response_body - response is expected (repeated req 1, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 23: verify client with CA certificates |
' |
stream/ssl.t | TEST 23: verify client with CA certificates - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 23: verify client with CA certificates - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'SUCCESS ' |
stream/ssl.t | ERROR: client socket timed out - TEST 23: verify client with CA certificates |
' |
stream/ssl.t | TEST 23: verify client with CA certificates - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 23: verify client with CA certificates - response_body - response is expected (repeated req 1, req 0) |
got: '' expected: 'SUCCESS ' |
stream/ssl.t | ERROR: client socket timed out - TEST 25: verify client but client provides no certificate |
' |
stream/ssl.t | TEST 25: verify client but client provides no certificate - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 25: verify client but client provides no certificate - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'NONE ' |
stream/ssl.t | ERROR: client socket timed out - TEST 25: verify client but client provides no certificate |
' |
stream/ssl.t | TEST 25: verify client but client provides no certificate - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 25: verify client but client provides no certificate - response_body - response is expected (repeated req 1, req 0) |
got: '' expected: 'NONE ' |
stream/ssl.t | ERROR: client socket timed out - TEST 10: tls version - SSLv3 |
' |
stream/ssl.t | TEST 10: tls version - SSLv3 - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 10: tls version - SSLv3 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
stream/ssl.t | ERROR: client socket timed out - TEST 13: tls version - TLSv1.2 |
' |
stream/ssl.t | TEST 13: tls version - TLSv1.2 - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 13: tls version - TLSv1.2 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
stream/ssl.t | ERROR: client socket timed out - TEST 22: tls version - TLSv1.3 |
' |
stream/ssl.t | TEST 22: tls version - TLSv1.3 - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 22: tls version - TLSv1.3 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
stream/ssl.t | ERROR: client socket timed out - TEST 22: tls version - TLSv1.3 |
' |
stream/ssl.t | TEST 22: tls version - TLSv1.3 - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 22: tls version - TLSv1.3 - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
stream/ssl.t | ERROR: client socket timed out - TEST 21: yield during doing handshake with client which uses low version OpenSSL |
' |
stream/ssl.t | TEST 21: yield during doing handshake with client which uses low version OpenSSL - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 21: yield during doing handshake with client which uses low version OpenSSL - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'ok ' |
stream/ssl.t | ERROR: client socket timed out - TEST 12: tls version - TLSv1.1 |
' |
stream/ssl.t | TEST 12: tls version - TLSv1.1 - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 12: tls version - TLSv1.1 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
stream/ssl.t | ERROR: client socket timed out - TEST 12: tls version - TLSv1.1 |
' |
stream/ssl.t | TEST 12: tls version - TLSv1.1 - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 12: tls version - TLSv1.1 - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -connected: 1 -ssl handshake: boolean ' |
stream/ssl.t | ERROR: client socket timed out - TEST 24: verify client without CA certificates |
' |
stream/ssl.t | TEST 24: verify client without CA certificates - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 24: verify client without CA certificates - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'FAILED:self signed certificate ' |
stream/ssl.t | ERROR: client socket timed out - TEST 24: verify client without CA certificates |
' |
stream/ssl.t | TEST 24: verify client without CA certificates - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 24: verify client without CA certificates - response_body - response is expected (repeated req 1, req 0) |
got: '' expected: 'FAILED:self signed certificate ' |
stream/ssl.t | ERROR: client socket timed out - TEST 20: read client addr via ssl.raw_client_addr() |
' |
stream/ssl.t | TEST 20: read client addr via ssl.raw_client_addr() - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 20: read client addr via ssl.raw_client_addr() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 20: read client addr via ssl.raw_client_addr() |
' |
stream/ssl.t | TEST 20: read client addr via ssl.raw_client_addr() - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 20: read client addr via ssl.raw_client_addr() - response_body - response is expected (repeated req 1, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) |
' |
stream/ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) |
' |
stream/ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) |
' |
stream/ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
stream/ssl.t | ERROR: client socket timed out - TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) |
' |
stream/ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - status code ok |
got: '' expected: '200' |
stream/ssl.t | TEST 6: read raw server addr via ssl.raw_server_addr() (IPv4) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,4 +0,0 @@ -connected: 1 -ssl handshake: userdata -received: it works! -close: 1 nil ' |
time.t | TEST 7: ngx.cookie_time() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ Thu, 18-Nov-10 11:27:35 GMT -Sun, 18-Sep-2039 23:06:40 GMT +Thu, 01-Jan-70 00:00:00 GMT ' |
time.t | TEST 7: ngx.cookie_time() - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ Thu, 18-Nov-10 11:27:35 GMT -Sun, 18-Sep-2039 23:06:40 GMT +Thu, 01-Jan-70 00:00:00 GMT ' |
File | Name | Details |
---|---|---|
errlog.t | TEST 19: fetch a few and generate a few, then fetch again (overflown again) - response_body_like - response is expected (msg count: 3 log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *52 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:10 [warn] 14869\#14869: *52 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *52 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *52 [lua] access_by_lua(nginx.conf:58):11: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:10 [warn] 14869\#14869: *52 [lua] access_by_lua(nginx.conf:58):10: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *52 [lua] access_by_lua(nginx.conf:58):11: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *52 [lua] content_by_lua(nginx.conf:72):14: --> 102, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *52 [lua] content_by_lua(nginx.conf:72):15: --> 103, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *52 [lua] content_by_lua(nginx.conf:72):16: --> 104, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost") |
'msg count: 3 log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *52 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:10 [warn] 14869#14869: *52 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *52 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *52 [lua] access_by_lua(nginx.conf:58):11: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:10 [warn] 14869#14869: *52 [lua] access_by_lua(nginx.conf:58):10: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *52 [lua] access_by_lua(nginx.conf:58):11: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *52 [lua] content_by_lua(nginx.conf:72):14: --> 102, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *52 [lua] content_by_lua(nginx.conf:72):15: --> 103, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *52 [lua] content_by_lua(nginx.conf:72):16: --> 104, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" ' doesn't match '(?^s:\Amsg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 102, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 103, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 104, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" \z)' |
errlog.t | TEST 19: fetch a few and generate a few, then fetch again (overflown again) - response_body_like - response is expected (msg count: 3 log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *53 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:10 [warn] 14869\#14869: *53 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *53 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *53 [lua] access_by_lua(nginx.conf:58):11: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:10 [warn] 14869\#14869: *53 [lua] access_by_lua(nginx.conf:58):10: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *53 [lua] access_by_lua(nginx.conf:58):11: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *53 [lua] content_by_lua(nginx.conf:72):14: --> 102, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *53 [lua] content_by_lua(nginx.conf:72):15: --> 103, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869\#14869: *53 [lua] content_by_lua(nginx.conf:72):16: --> 104, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost") |
'msg count: 3 log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *53 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:10 [warn] 14869#14869: *53 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *53 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *53 [lua] access_by_lua(nginx.conf:58):11: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:10 [warn] 14869#14869: *53 [lua] access_by_lua(nginx.conf:58):10: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *53 [lua] access_by_lua(nginx.conf:58):11: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *53 [lua] content_by_lua(nginx.conf:72):14: --> 102, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *53 [lua] content_by_lua(nginx.conf:72):15: --> 103, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:10 [error] 14869#14869: *53 [lua] content_by_lua(nginx.conf:72):16: --> 104, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" ' doesn't match '(?^s:\Amsg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 102, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 103, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 104, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" \z)' |
errlog.t | TEST 22: user-supplied Lua table to hold the result (get one log + no log) - response_body_like - response is expected (maybe log lines: \#10 log level:6 log body:2022/05/30 07:43:10 [notice] 14793\#14793: start worker processes log level:7 log body:2022/05/30 07:43:11 [info] 14910\#14910: *57 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910\#14910: *58 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910\#14910: *59 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910\#14910: *60 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910\#14910: *61 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910\#14910: *62 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910\#14910: *63 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *64 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *65 client 127.0.0.1 closed keepalive connection end maybe log lines: \#10 log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *66 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *67 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *68 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *69 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *70 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *71 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *72 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *73 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *74 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *75 client 127.0.0.1 closed keepalive connection end) |
'maybe log lines: #10 log level:6 log body:2022/05/30 07:43:10 [notice] 14793#14793: start worker processes log level:7 log body:2022/05/30 07:43:11 [info] 14910#14910: *57 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910#14910: *58 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910#14910: *59 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910#14910: *60 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910#14910: *61 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910#14910: *62 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:11 [info] 14910#14910: *63 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *64 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *65 client 127.0.0.1 closed keepalive connection end maybe log lines: #10 log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *66 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *67 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *68 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *69 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *70 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *71 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *72 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *73 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *74 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *75 client 127.0.0.1 closed keepalive connection end ' doesn't match '(?^s:\Amaybe log lines: #1 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" end maybe log lines: #1 end \z)' |
errlog.t | TEST 22: user-supplied Lua table to hold the result (get one log + no log) - response_body_like - response is expected (maybe log lines: \#3 log level:7 log body:2022/05/30 07:43:12 [info] 14910\#14910: *76 client 127.0.0.1 closed keepalive connection log level:4 log body:2022/05/30 07:43:12 [error] 14910\#14910: *77 [lua] access_by_lua(nginx.conf:58):8: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:13 [error] 14910\#14910: *78 [lua] access_by_lua(nginx.conf:58):8: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" end maybe log lines: \#3 end) |
'maybe log lines: #3 log level:7 log body:2022/05/30 07:43:12 [info] 14910#14910: *76 client 127.0.0.1 closed keepalive connection log level:4 log body:2022/05/30 07:43:12 [error] 14910#14910: *77 [lua] access_by_lua(nginx.conf:58):8: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:13 [error] 14910#14910: *78 [lua] access_by_lua(nginx.conf:58):8: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" end maybe log lines: #3 end ' doesn't match '(?^s:\Amaybe log lines: #1 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" end maybe log lines: #1 end \z)' |
errlog.t | TEST 12: filter log by level(ngx.WARN) - response_body - response is expected (repeated req 0, req 0) |
got: 'log lines:10 ' expected: 'log lines:2 ' |
errlog.t | TEST 12: filter log by level(ngx.WARN) - response_body - response is expected (repeated req 1, req 0) |
got: 'log lines:10 ' expected: 'log lines:2 ' |
errlog.t | TEST 18: flood the capturing buffer (5k) - response_body_like - response is expected (log lines: \#25 log level:4 log body:2022/05/30 07:43:17 [error] 14997\#14997: *127 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:17 [warn] 14997\#14997: *127 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997\#14997: *127 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997\#14997: *127 [lua] access_by_lua(nginx.conf:58):11: --> 99, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:17 [warn] 14997\#14997: *127 [lua] access_by_lua(nginx.conf:58):10: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997\#14997: *127 [lua] access_by_lua(nginx.conf:58):11: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost") |
'log lines: #25 log level:4 log body:2022/05/30 07:43:17 [error] 14997#14997: *127 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:17 [warn] 14997#14997: *127 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997#14997: *127 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997#14997: *127 [lua] access_by_lua(nginx.conf:58):11: --> 99, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:17 [warn] 14997#14997: *127 [lua] access_by_lua(nginx.conf:58):10: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997#14997: *127 [lua] access_by_lua(nginx.conf:58):11: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" ' doesn't match '(?^s:\Alog lines: #26 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 99, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" \z)' |
errlog.t | TEST 18: flood the capturing buffer (5k) - response_body_like - response is expected (log lines: \#25 log level:4 log body:2022/05/30 07:43:17 [error] 14997\#14997: *128 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:17 [warn] 14997\#14997: *128 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997\#14997: *128 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997\#14997: *128 [lua] access_by_lua(nginx.conf:58):11: --> 99, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:17 [warn] 14997\#14997: *128 [lua] access_by_lua(nginx.conf:58):10: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997\#14997: *128 [lua] access_by_lua(nginx.conf:58):11: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost") |
'log lines: #25 log level:4 log body:2022/05/30 07:43:17 [error] 14997#14997: *128 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:17 [warn] 14997#14997: *128 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997#14997: *128 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997#14997: *128 [lua] access_by_lua(nginx.conf:58):11: --> 99, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:17 [warn] 14997#14997: *128 [lua] access_by_lua(nginx.conf:58):10: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:17 [error] 14997#14997: *128 [lua] access_by_lua(nginx.conf:58):11: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" ' doesn't match '(?^s:\Alog lines: #26 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 99, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" \z)' |
errlog.t | TEST 20: fetch a few and generate a few, then fetch again (not overflown again) - response_body_like - response is expected (msg count: 3 log level:4 log body:2022/05/30 07:43:23 [error] 15122\#15122: *203 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:23 [warn] 15122\#15122: *203 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:23 [error] 15122\#15122: *203 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:5 log body:2022/05/30 07:43:23 [warn] 15122\#15122: *203 [lua] access_by_lua(nginx.conf:58):10: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:23 [error] 15122\#15122: *203 [lua] access_by_lua(nginx.conf:58):11: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:23 [warn] 15122\#15122: *203 [lua] access_by_lua(nginx.conf:58):10: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:23 [error] 15122\#15122: *203 [lua] access_by_lua(nginx.conf:58):11: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:23 [error] 15122\#15122: *203 [lua] content_by_lua(nginx.conf:72):13: howdy, something new!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:23 [error] 15122\#15122: *203 [lua] content_by_lua(nginx.conf:72):14: howdy, something even newer!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost") |
'msg count: 3 log level:4 log body:2022/05/30 07:43:23 [error] 15122#15122: *203 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:23 [warn] 15122#15122: *203 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:23 [error] 15122#15122: *203 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:5 log body:2022/05/30 07:43:23 [warn] 15122#15122: *203 [lua] access_by_lua(nginx.conf:58):10: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:23 [error] 15122#15122: *203 [lua] access_by_lua(nginx.conf:58):11: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:23 [warn] 15122#15122: *203 [lua] access_by_lua(nginx.conf:58):10: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:23 [error] 15122#15122: *203 [lua] access_by_lua(nginx.conf:58):11: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:23 [error] 15122#15122: *203 [lua] content_by_lua(nginx.conf:72):13: howdy, something new!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:23 [error] 15122#15122: *203 [lua] content_by_lua(nginx.conf:72):14: howdy, something even newer!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" ' doesn't match '(?^s:\Amsg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: howdy, something new!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: howdy, something even newer!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" \z)' |
errlog.t | TEST 20: fetch a few and generate a few, then fetch again (not overflown again) - response_body_like - response is expected (msg count: 3 log level:4 log body:2022/05/30 07:43:24 [error] 15122\#15122: *204 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:24 [warn] 15122\#15122: *204 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:24 [error] 15122\#15122: *204 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:5 log body:2022/05/30 07:43:24 [warn] 15122\#15122: *204 [lua] access_by_lua(nginx.conf:58):10: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:24 [error] 15122\#15122: *204 [lua] access_by_lua(nginx.conf:58):11: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:24 [warn] 15122\#15122: *204 [lua] access_by_lua(nginx.conf:58):10: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:24 [error] 15122\#15122: *204 [lua] access_by_lua(nginx.conf:58):11: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:24 [error] 15122\#15122: *204 [lua] content_by_lua(nginx.conf:72):13: howdy, something new!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:24 [error] 15122\#15122: *204 [lua] content_by_lua(nginx.conf:72):14: howdy, something even newer!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost") |
'msg count: 3 log level:4 log body:2022/05/30 07:43:24 [error] 15122#15122: *204 [lua] access_by_lua(nginx.conf:58):11: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:24 [warn] 15122#15122: *204 [lua] access_by_lua(nginx.conf:58):10: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:24 [error] 15122#15122: *204 [lua] access_by_lua(nginx.conf:58):11: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:5 log body:2022/05/30 07:43:24 [warn] 15122#15122: *204 [lua] access_by_lua(nginx.conf:58):10: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:24 [error] 15122#15122: *204 [lua] access_by_lua(nginx.conf:58):11: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:2022/05/30 07:43:24 [warn] 15122#15122: *204 [lua] access_by_lua(nginx.conf:58):10: --> 91, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:24 [error] 15122#15122: *204 [lua] access_by_lua(nginx.conf:58):11: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:24 [error] 15122#15122: *204 [lua] content_by_lua(nginx.conf:72):13: howdy, something new!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:2022/05/30 07:43:24 [error] 15122#15122: *204 [lua] content_by_lua(nginx.conf:72):14: howdy, something even newer!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" ' doesn't match '(?^s:\Amsg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" msg count: 3 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 89, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 90, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?access_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: howdy, something new!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: howdy, something even newer!, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" \z)' |
errlog.t | nginx: [emerg] | invalid capture error log size "3k", minimum size is 4096 in /home/ec2-user/git/lua-resty-core/t/servroot/conf/nginx.conf:25 |
errlog.t | TEST 13: filter log by level(ngx.CRIT) - response_body - response is expected (repeated req 0, req 0) |
got: 'log lines:1 ' expected: 'log lines:0 ' |
errlog.t | TEST 11: filter log by level(ngx.INFO) - response_body - response is expected (repeated req 0, req 0) |
got: 'log lines:10 ' expected: 'log lines:3 ' |
errlog.t | TEST 11: filter log by level(ngx.INFO) - response_body - response is expected (repeated req 1, req 0) |
got: 'log lines:10 ' expected: 'log lines:3 ' |
errlog.t | TEST 30: ringbuf sentinel bug1 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,3 @@ log lines: \#2 -AAA +aaa aaa ' |
errlog.t | TEST 21: multi-line error log - response_body_like - response is expected (log lines: \#10 log level:6 log body:2022/05/30 07:43:37 [notice] 15205\#15205: start worker processes log level:7 log body:2022/05/30 07:43:38 [info] 15363\#15363: *83 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363\#15363: *84 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363\#15363: *85 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363\#15363: *86 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363\#15363: *87 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363\#15363: *88 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363\#15363: *89 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363\#15363: *90 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363\#15363: *91 client 127.0.0.1 closed keepalive connection) |
'log lines: #10 log level:6 log body:2022/05/30 07:43:37 [notice] 15205#15205: start worker processes log level:7 log body:2022/05/30 07:43:38 [info] 15363#15363: *83 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363#15363: *84 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363#15363: *85 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363#15363: *86 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363#15363: *87 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363#15363: *88 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363#15363: *89 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363#15363: *90 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:38 [info] 15363#15363: *91 client 127.0.0.1 closed keepalive connection ' doesn't match '(?^s:\Alog lines: #1 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" \z)' |
errlog.t | TEST 21: multi-line error log - response_body_like - response is expected (log lines: \#10 log level:7 log body:2022/05/30 07:43:38 [info] 15363\#15363: *92 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363\#15363: *93 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363\#15363: *94 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363\#15363: *95 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363\#15363: *96 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363\#15363: *97 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363\#15363: *98 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363\#15363: *99 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363\#15363: *100 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363\#15363: *101 client 127.0.0.1 closed keepalive connection) |
'log lines: #10 log level:7 log body:2022/05/30 07:43:38 [info] 15363#15363: *92 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363#15363: *93 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363#15363: *94 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363#15363: *95 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363#15363: *96 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363#15363: *97 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363#15363: *98 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363#15363: *99 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363#15363: *100 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:43:39 [info] 15363#15363: *101 client 127.0.0.1 closed keepalive connection ' doesn't match '(?^s:\Alog lines: #1 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: --> new line, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" \z)' |
errlog.t | TEST 31: ringbuf sentinel bug2 - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ log lines: \#18 -log lines: \#8 +log lines: \#1 ' |
errlog.t | TEST 31: ringbuf sentinel bug2 - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ log lines: \#18 -log lines: \#8 +log lines: \#9 ' |
errlog.t | nginx: [emerg] | invalid number of arguments in "lua_capture_error_log" directive in /home/ec2-user/git/lua-resty-core/t/servroot/conf/nginx.conf:25 |
errlog.t | TEST 29: ringbuf overflow bug - response_body_like - response is expected (log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********22, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********23, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********24, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********25, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********26, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********27, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********28, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********29, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********30, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********31, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost") |
'log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********22, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********23, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********24, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********25, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********26, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********27, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********28, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********29, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********30, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.281 log body: 2022/05/30 07:44:06 [error] 15816#15816: *27 [lua] content_by_lua(nginx.conf:67):8: **********31, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" ' doesn't match '(?^s:log level: 4 log time: \d+(?:\.\d+)? log body: \d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: \*\*\*\*\*\*\*\*\*\*39, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: \d{10}(?:\.\d+)? log body: \d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: \*\*\*\*\*\*\*\*\*\*40, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost")' |
errlog.t | TEST 29: ringbuf overflow bug - response_body_like - response is expected (log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********30, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********31, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********32, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********33, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********34, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********35, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********36, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********37, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********38, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816\#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********39, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost") |
'log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********30, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********31, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********32, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********33, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********34, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********35, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********36, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********37, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********38, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: 1653896646.836 log body: 2022/05/30 07:44:06 [error] 15816#15816: *28 [lua] content_by_lua(nginx.conf:67):8: **********39, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" ' doesn't match '(?^s:log level: 4 log time: \d+(?:\.\d+)? log body: \d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: \*\*\*\*\*\*\*\*\*\*39, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level: 4 log time: \d{10}(?:\.\d+)? log body: \d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: \*\*\*\*\*\*\*\*\*\*40, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost")' |
errlog.t | TEST 16: check the captured error log body - response_body_like - response is expected (log level:6 log body:2022/05/30 07:44:09 [notice] 15782\#15782: start worker processes log level:7 log body:2022/05/30 07:44:09 [info] 15899\#15899: *57 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:09 [info] 15899\#15899: *58 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:09 [info] 15899\#15899: *59 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:09 [info] 15899\#15899: *60 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:09 [info] 15899\#15899: *61 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *62 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *63 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *64 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *65 client 127.0.0.1 closed keepalive connection) |
'log level:6 log body:2022/05/30 07:44:09 [notice] 15782#15782: start worker processes log level:7 log body:2022/05/30 07:44:09 [info] 15899#15899: *57 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:09 [info] 15899#15899: *58 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:09 [info] 15899#15899: *59 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:09 [info] 15899#15899: *60 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:09 [info] 15899#15899: *61 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *62 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *63 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *64 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *65 client 127.0.0.1 closed keepalive connection ' doesn't match '(?^s:log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: -->2, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: -->3, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" )' |
errlog.t | TEST 16: check the captured error log body - response_body_like - response is expected (log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *66 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *67 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *68 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *69 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *70 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *71 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *72 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *73 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *74 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899\#15899: *75 client 127.0.0.1 closed keepalive connection) |
'log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *66 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *67 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *68 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *69 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *70 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *71 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *72 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *73 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *74 client 127.0.0.1 closed keepalive connection log level:7 log body:2022/05/30 07:44:10 [info] 15899#15899: *75 client 127.0.0.1 closed keepalive connection ' doesn't match '(?^s:log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: -->2, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*access_by_lua\(nginx.conf:\d+\):\d+: -->3, client: 127.0.0.1, server: localhost, request: "GET /t HTTP/1.1", host: "localhost" )' |
pipe-stdout.t | TEST 33: read process, aborted by uthread kill, with graceful shutdown - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +1,2 @@ -stdout: ok +stdout err: timeout stderr err: closed ' |
pipe-stdout.t | TEST 33: read process, aborted by uthread kill, with graceful shutdown - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +1,2 @@ -stdout: ok +stdout err: timeout -stderr err: closed +stderr err: timeout ' |
pipe-stdout.t | TEST 21: read process, mix read pattern - response_body - response is expected (repeated req 1, req 0) |
@@ -1,13 +1,8 @@ reading any -hello +helloworld +more + reading 3 -wor +dat reading line -ld +closed -reading 2 -mo -reading any -re - -reading all -data ' |
process-type-hup.t | TEST 1: sanity - pattern "init_worker_by_lua(nginx.conf:48):6: process type: privileged" should match a line in error.log (req 1) |
Looks like you failed 1 test of 8. |
process-type-single.t | TEST 1: sanity - response_body - response is expected (repeated req 0, req 0) |
got: "process type: worker\x{0a}" length: 21 expected: "process type: single\x{0a}" length: 21 strings begin to differ at char 15 (line 1 column 15) |
process-type-single.t | TEST 1: sanity - grep_error_log_out (req 0) |
'[TRACE 1 init_by_lua(nginx.conf:26):18 loop] [TRACE 2 init_worker_by_lua(nginx.conf:50):4 loop] [TRACE 2 content_by_lua(nginx.conf:76):4 loop] process type in init_by_lua*: master init_worker_by_lua(nginx.conf:50):10: process type: worker ' doesn't match '(?^:\[TRACE\s+\d+ init_by_lua\(nginx.conf:\d+\):\d+ loop\] \[TRACE\s+\d+ init_worker_by_lua\(nginx.conf:\d+\):\d+ loop\] \[TRACE\s+\d+ content_by_lua\(nginx.conf:\d+\):4 loop\] process type in init_by_lua\*: single init_worker_by_lua\(nginx.conf:\d+\):10: process type: single )' |
process-type-single.t | TEST 1: sanity - response_body - response is expected (repeated req 1, req 0) |
got: "process type: worker\x{0a}" length: 21 expected: "process type: single\x{0a}" length: 21 strings begin to differ at char 15 (line 1 column 15) |
process-type-single.t | TEST 1: sanity - grep_error_log_out (req 1) |
'[TRACE 1 init_by_lua(nginx.conf:26):18 loop] [TRACE 2 init_worker_by_lua(nginx.conf:50):4 loop] [TRACE 2 content_by_lua(nginx.conf:76):4 loop] process type in init_by_lua*: master init_worker_by_lua(nginx.conf:50):10: process type: worker ' doesn't match '(?^:\[TRACE\s+\d+ init_by_lua\(nginx.conf:\d+\):\d+ loop\] \[TRACE\s+\d+ init_worker_by_lua\(nginx.conf:\d+\):\d+ loop\] \[TRACE\s+\d+ content_by_lua\(nginx.conf:\d+\):4 loop\] process type in init_by_lua\*: single init_worker_by_lua\(nginx.conf:\d+\):10: process type: single )' |
re-opt.t | TEST 1: default jit_stack_size too small - response_body - response is expected (repeated req 0, req 0) |
got: 'from: 1 to: 1563 ' expected: 'error: pcre_exec() failed: -27 ' |
re-opt.t | TEST 1: default jit_stack_size too small - response_body - response is expected (repeated req 1, req 0) |
got: 'from: 1 to: 1563 ' expected: 'error: pcre_exec() failed: -27 ' |
re-sub.t | ERROR: client socket timed out - TEST 5: replace template + submatches (exceeding buffers) |
' |
re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - response_body - response is expected (repeated req 0, req 0) |
@@ -1,2 +0,0 @@ -s: [bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd -n: 2048 ' |
re-sub.t | ERROR: client socket timed out - TEST 5: replace template + submatches (exceeding buffers) |
' |
re-sub.t | TEST 5: replace template + submatches (exceeding buffers) - response_body - response is expected (repeated req 1, req 0) |
@@ -1,2 +0,0 @@ -s: [bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd -n: 2048 ' |
request.t | TEST 7: ngx.req.start_time() - response_body - response is expected (repeated req 0, req 0) |
got: "true\x{0a}>= 0.099: true\x{0a}< 0.11: false\x{0a}" length: 34 expected: "true\x{0a}>= 0.099: true\x{0a}< 0.11: true\x{0a}" length: 33 strings begin to differ at char 29 (line 3 column 9) |
request.t | TEST 7: ngx.req.start_time() - response_body - response is expected (repeated req 1, req 0) |
got: "true\x{0a}>= 0.099: true\x{0a}< 0.11: false\x{0a}" length: 34 expected: "true\x{0a}>= 0.099: true\x{0a}< 0.11: true\x{0a}" length: 33 strings begin to differ at char 29 (line 3 column 9) |
semaphore.t | TEST 37: semaphore_mm free block (load <= 50% & the on the older side) - grep_error_log_out (req 0) |
got: 'free semaphore block ' expected: '' |
semaphore.t | TEST 17: semaphore post in all phase (in a request) - grep_error_log_out (req 0) |
got: 'sem: timeout, sem: 6 times, ' expected: 'sem: 6 times, ' |
semaphore.t | TEST 19: semaphore wait post in rewrite_by_lua - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:11 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:11 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:11 [debug] 3563\#3563: *554 event timer add: 0: 1000:3304552 2022/05/30 08:10:11 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:11 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:11 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:11 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:11 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:11 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:10 [debug] 2464\#2464: malloc: 054B8520:2048 ' |
semaphore.t | TEST 19: semaphore wait post in rewrite_by_lua - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:12 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:12 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:12 [debug] 3563\#3563: *554 event timer add: 0: 1000:3305563 2022/05/30 08:10:12 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:12 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:12 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:12 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:12 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:12 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:12 [debug] 3618\#3618: epoll: fd:7 ev:0001 d:051819F8 ' |
semaphore.t | TEST 19: semaphore wait post in rewrite_by_lua - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:13 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:13 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):18: sem: 6 times, context: ngx.timer 2022/05/30 08:10:13 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:13 [debug] 3563\#3563: *554 event timer add: 0: 1000:3306566 2022/05/30 08:10:13 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:13 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:13 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:13 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:13 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:13 [debug] 3563\#3563: epoll timer: 1000 ' |
semaphore.t | TEST 19: semaphore wait post in rewrite_by_lua - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:13 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):18: sem: 6 times, context: ngx.timer" (req 0) |
2022/05/30 08:10:13 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:13 [debug] 3563\#3563: *554 event timer add: 0: 1000:3306566 2022/05/30 08:10:13 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:13 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:13 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:13 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:13 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:13 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:13 [debug] 3618\#3618: epoll: fd:7 ev:0001 d:051819F8 ' |
semaphore.t | TEST 10: semaphore in rewrite_by_lua (all allowed) - grep_error_log_out (req 0) |
@@ -1,2 +1,5 @@ sem: timeout, +sem: timeout, +sem: timeout, +sem: timeout, sem: 1, ' |
semaphore.t | TEST 10: semaphore in rewrite_by_lua (all allowed) - grep_error_log_out (req 1) |
@@ -1,2 +1,3 @@ sem: timeout, sem: 1, +sem: timeout, ' |
semaphore.t | TEST 39: basic semaphore count (negative number) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:18 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:18 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:18 [debug] 3563\#3563: *554 event timer add: 0: 1000:3311579 2022/05/30 08:10:18 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:18 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:18 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:18 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:18 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:18 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:17 [notice] 2464\#2464: start worker processes ' |
semaphore.t | TEST 39: basic semaphore count (negative number) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:19 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:19 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):18: sem: 6 times, context: ngx.timer 2022/05/30 08:10:19 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:19 [debug] 3563\#3563: *554 event timer add: 0: 1000:3312581 2022/05/30 08:10:19 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:19 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:19 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:19 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:19 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:19 [debug] 3563\#3563: epoll timer: 1000 ' |
semaphore.t | TEST 39: basic semaphore count (negative number) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:19 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):18: sem: 6 times, context: ngx.timer" (req 0) |
2022/05/30 08:10:19 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:19 [debug] 3563\#3563: *554 event timer add: 0: 1000:3312581 2022/05/30 08:10:19 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:19 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:19 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:19 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:19 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:19 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:19 [debug] 3716\#3716: epoll: fd:7 ev:0001 d:057BB7C0 ' |
semaphore.t | TEST 39: basic semaphore count (negative number) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:20 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:20 [debug] 3716\#3716: malloc: 05AA98D8:15 2022/05/30 08:10:20 [debug] 3716\#3716: malloc: 05AA9918:8 2022/05/30 08:10:20 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:20 [debug] 3716\#3716: *653 accept: 127.0.0.1:52374 fd:4 2022/05/30 08:10:20 [debug] 3563\#3563: *554 event timer add: 0: 1000:3313585 2022/05/30 08:10:20 [debug] 3716\#3716: malloc: 05AA9950:32 2022/05/30 08:10:20 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:20 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:20 [debug] 3716\#3716: malloc: 05AAB0A0:8 ' |
semaphore.t | TEST 3: semaphore wait time=0 - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:21 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:21 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:21 [debug] 3563\#3563: *554 event timer add: 0: 1000:3314587 2022/05/30 08:10:21 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:21 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:21 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:21 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:21 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:21 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:20 [debug] 2464\#2464: malloc: 0575A7A8:8 ' |
semaphore.t | TEST 3: semaphore wait time=0 - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:22 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:22 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:22 [debug] 3563\#3563: *554 event timer add: 0: 1000:3315589 2022/05/30 08:10:22 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:22 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:22 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:22 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:22 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:22 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:22 [debug] 3765\#3765: *662 free: 05882840, unused: 0 ' |
semaphore.t | TEST 3: semaphore wait time=0 - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:23 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:23 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:23 [debug] 3563\#3563: *554 event timer add: 0: 1000:3316592 2022/05/30 08:10:23 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:23 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:23 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:23 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:23 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:23 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:23 [debug] 3765\#3765: epoll: fd:7 ev:0001 d:05699AC8 ' |
semaphore.t | TEST 3: semaphore wait time=0 - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:24 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 1) |
2022/05/30 08:10:24 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:24 [debug] 3563\#3563: *554 event timer add: 0: 1000:3317595 2022/05/30 08:10:24 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:24 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:24 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:24 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:24 [debug] 3563\#3563: worker cycle ' |
semaphore.t | TEST 15: semaphore in body_filter_by_lua (wait not allowed) - grep_error_log_out (req 0) |
@@ -1,3 +1,7 @@ +sem: timeout, +sem: 6 times, +sem: timeout, +sem: timeout, sem: 1, sem: API disabled in the context of body_filter_by_lua*, sem: 1, ' |
semaphore.t | TEST 18: semaphore wait post in access_by_lua - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:28 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:28 [debug] 3814\#3814: *713 free: 04A9EDA0, unused: 0 2022/05/30 08:10:28 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:28 [debug] 3814\#3814: *713 free: 04A9ED68, unused: 0 2022/05/30 08:10:28 [debug] 3563\#3563: *554 event timer add: 0: 1000:3321607 2022/05/30 08:10:28 [debug] 3814\#3814: *713 free: 04D3AB38, unused: 0 2022/05/30 08:10:28 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:28 [debug] 3814\#3814: *713 free: 04CF8FD8, unused: 0 2022/05/30 08:10:28 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:28 [debug] 3814\#3814: *713 free: 04ACDC00, unused: 0 ' |
semaphore.t | TEST 18: semaphore wait post in access_by_lua - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:29 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:29 [debug] 3865\#3865: *717 write new buf t:1 f:0 0506F358, pos 0506F358, size: 158 file: 0, size: 0 2022/05/30 08:10:29 [debug] 3865\#3865: *717 http write filter: l:0 f:0 s:158 2022/05/30 08:10:29 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:29 [debug] 3865\#3865: *717 http output filter "/ver?" 2022/05/30 08:10:29 [debug] 3563\#3563: *554 event timer add: 0: 1000:3322609 2022/05/30 08:10:29 [debug] 3865\#3865: *717 http copy filter: "/ver?" 2022/05/30 08:10:29 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:29 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:29 [debug] 3865\#3865: *717 malloc: 04CA7A68:64 ' |
semaphore.t | TEST 18: semaphore wait post in access_by_lua - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:30 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:30 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:30 [debug] 3563\#3563: *554 event timer add: 0: 1000:3323612 2022/05/30 08:10:30 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:30 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:30 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:30 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:30 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:30 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:30 [debug] 3865\#3865: *729 set http keepalive handler ' |
semaphore.t | TEST 25: two thread wait for each other - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:31 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:31 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):18: sem: 6 times, context: ngx.timer 2022/05/30 08:10:31 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:31 [debug] 3563\#3563: *554 event timer add: 0: 1000:3324614 2022/05/30 08:10:31 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:31 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:31 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:31 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:31 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:31 [debug] 3563\#3563: epoll timer: 1000 ' |
semaphore.t | TEST 25: two thread wait for each other - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:31 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):18: sem: 6 times, context: ngx.timer" (req 0) |
2022/05/30 08:10:31 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:31 [debug] 3563\#3563: *554 event timer add: 0: 1000:3324614 2022/05/30 08:10:31 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:31 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:31 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:31 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:31 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:31 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:31 [notice] 2464\#2464: signal 1 (SIGHUP) received from 3906, reconfiguring ' |
semaphore.t | TEST 25: two thread wait for each other - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:32 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:32 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:32 [debug] 3563\#3563: *554 event timer add: 0: 1000:3325616 2022/05/30 08:10:32 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:32 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:32 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:32 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:32 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:32 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:31 [debug] 3918\#3918: malloc: 05D010E0:7936 ' |
semaphore.t | TEST 25: two thread wait for each other - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:33 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:33 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:33 [debug] 3563\#3563: *554 event timer add: 0: 1000:3326619 2022/05/30 08:10:33 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:33 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:33 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:33 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:33 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:33 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:33 [debug] 3918\#3918: epoll: fd:7 ev:0001 d:05D010E0 ' |
semaphore.t | TEST 25: two thread wait for each other - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:34 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:34 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:34 [debug] 3563\#3563: *554 event timer add: 0: 1000:3327622 2022/05/30 08:10:34 [debug] 3918\#3918: from head of free queue, alloc semaphore: 064CC194 2022/05/30 08:10:34 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:34 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:34 [debug] 3918\#3918: http lua semaphore new: 064CC194, resources: 0 2022/05/30 08:10:34 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:34 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:34 [debug] 3563\#3563: worker cycle ' |
semaphore.t | TEST 31: multi wait and mult post with one semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:35 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:35 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:35 [debug] 3563\#3563: *554 event timer add: 0: 1000:3328625 2022/05/30 08:10:35 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:35 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:35 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:35 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:35 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:35 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:35 [debug] 3918\#3918: epoll: fd:7 ev:0001 d:05D010E0 ' |
semaphore.t | TEST 31: multi wait and mult post with one semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:36 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:36 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:36 [debug] 3563\#3563: *554 event timer add: 0: 1000:3329627 2022/05/30 08:10:36 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:36 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:36 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:36 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:36 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:36 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:36 [debug] 3967\#3967: epoll: fd:7 ev:0001 d:0612F7A8 ' |
semaphore.t | TEST 31: multi wait and mult post with one semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:37 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:37 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):18: sem: 6 times, context: ngx.timer 2022/05/30 08:10:37 [debug] 3967\#3967: malloc: 049E6F30:24 2022/05/30 08:10:37 [debug] 3967\#3967: malloc: 049E6FD0:16 2022/05/30 08:10:37 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:37 [debug] 3967\#3967: malloc: 049D5A50:8 2022/05/30 08:10:37 [debug] 3563\#3563: *554 event timer add: 0: 1000:3330630 2022/05/30 08:10:37 [debug] 3967\#3967: malloc: 04A3E0C0:40 2022/05/30 08:10:37 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:37 [debug] 3967\#3967: malloc: 049D5AE8:8 ' |
semaphore.t | TEST 31: multi wait and mult post with one semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:37 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):18: sem: 6 times, context: ngx.timer" (req 0) |
2022/05/30 08:10:37 [debug] 3967\#3967: malloc: 049E6F30:24 2022/05/30 08:10:37 [debug] 3967\#3967: malloc: 049E6FD0:16 2022/05/30 08:10:37 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:37 [debug] 3967\#3967: malloc: 049D5A50:8 2022/05/30 08:10:37 [debug] 3563\#3563: *554 event timer add: 0: 1000:3330630 2022/05/30 08:10:37 [debug] 3967\#3967: malloc: 04A3E0C0:40 2022/05/30 08:10:37 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:37 [debug] 3967\#3967: malloc: 049D5AE8:8 2022/05/30 08:10:37 [debug] 3563\#3563: *554 lua resume returned 1 ' |
semaphore.t | TEST 28: kill a thread that is waiting on another thread that is waiting on semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:39 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:39 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:39 [debug] 3967\#3967: get channel s:1 pid:4016 fd:8 2022/05/30 08:10:39 [debug] 3563\#3563: *554 event timer add: 0: 1000:3332635 2022/05/30 08:10:39 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:39 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:39 [debug] 3967\#3967: channel: -2 2022/05/30 08:10:39 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:39 [debug] 3967\#3967: timer delta: 9 2022/05/30 08:10:39 [debug] 3563\#3563: *554 lua run thread returned -2 ' |
semaphore.t | TEST 28: kill a thread that is waiting on another thread that is waiting on semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:40 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:40 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:40 [debug] 3563\#3563: *554 event timer add: 0: 1000:3333637 2022/05/30 08:10:40 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:40 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:40 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:40 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:40 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:40 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:40 [debug] 4016\#4016: epoll: fd:7 ev:0001 d:06689430 ' |
semaphore.t | TEST 28: kill a thread that is waiting on another thread that is waiting on semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:41 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:41 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:41 [debug] 3563\#3563: *554 event timer add: 0: 1000:3334640 2022/05/30 08:10:41 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:41 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:41 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:41 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:41 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:41 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:41 [debug] 4016\#4016: epoll: fd:7 ev:0001 d:06689430 ' |
semaphore.t | TEST 9: semaphore in set_by_lua (wait is not allowed) - grep_error_log_out (req 0) |
@@ -1,2 +1,6 @@ +sem: timeout, +sem: timeout, +sem: 6 times, +sem: timeout, sem: 1, sem: API disabled in the context of set_by_lua*, ' |
semaphore.t | TEST 24: semaphore post in timer.at - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:46 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:46 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:46 [debug] 3563\#3563: *554 event timer add: 0: 1000:3339653 2022/05/30 08:10:46 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:46 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:46 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:46 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:46 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:46 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:45 [notice] 2464\#2464: start worker process 4120 ' |
semaphore.t | TEST 24: semaphore post in timer.at - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:47 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:47 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:47 [debug] 3563\#3563: *554 event timer add: 0: 1000:3340656 2022/05/30 08:10:47 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:47 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:47 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:47 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:47 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:47 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:47 [debug] 4120\#4120: epoll: fd:7 ev:0001 d:05768390 ' |
semaphore.t | TEST 24: semaphore post in timer.at - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:48 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:48 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:48 [debug] 3563\#3563: *554 event timer add: 0: 1000:3341659 2022/05/30 08:10:48 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:48 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:48 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:48 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:48 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:48 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:48 [debug] 4120\#4120: *870 malloc: 05EBE2E0:480 ' |
semaphore.t | TEST 14: semaphore in header_filter_by_lua (wait not allowed) - grep_error_log_out (req 0) |
@@ -1,2 +1,6 @@ +sem: timeout, +sem: 6 times, +sem: timeout, +sem: timeout, sem: 1, sem: API disabled in the context of header_filter_by_lua*, ' |
semaphore.t | TEST 14: semaphore in header_filter_by_lua (wait not allowed) - grep_error_log_out (req 1) |
@@ -1,2 +1,3 @@ sem: 1, sem: API disabled in the context of header_filter_by_lua*, +sem: timeout, ' |
semaphore.t | TEST 12: semaphore in content_by_lua (all allowed) - grep_error_log_out (req 0) |
@@ -1,2 +1,6 @@ sem: timeout, +sem: timeout, +sem: timeout, +sem: 6 times, +sem: timeout, sem: 1, ' |
semaphore.t | TEST 22: semaphore post in body_filter_by_lua (subrequest) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:56 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:55 [debug] 2464\#2464: malloc: 04F77128:64 2022/05/30 08:10:56 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:55 [debug] 2464\#2464: malloc: 04D704C0:8 2022/05/30 08:10:56 [debug] 3563\#3563: *554 event timer add: 0: 1000:3349688 2022/05/30 08:10:55 [debug] 2464\#2464: malloc: 04F828E8:372 2022/05/30 08:10:56 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:55 [debug] 2464\#2464: malloc: 04F77198:8 2022/05/30 08:10:56 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:55 [debug] 2464\#2464: malloc: 04F771D0:24 ' |
semaphore.t | TEST 22: semaphore post in body_filter_by_lua (subrequest) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:57 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:57 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:57 [debug] 3563\#3563: *554 event timer add: 0: 1000:3350690 2022/05/30 08:10:57 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:57 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:57 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:57 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:57 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:57 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:57 [debug] 4267\#4267: *934 generic phase: 0 ' |
semaphore.t | TEST 22: semaphore post in body_filter_by_lua (subrequest) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:58 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:10:58 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:58 [debug] 3563\#3563: *554 event timer add: 0: 1000:3351692 2022/05/30 08:10:58 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:58 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:58 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:58 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:58 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:58 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:58 [debug] 4267\#4267: epoll: fd:7 ev:0001 d:05757C88 ' |
semaphore.t | TEST 22: semaphore post in body_filter_by_lua (subrequest) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:10:59 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 1) |
2022/05/30 08:10:59 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:10:59 [debug] 3563\#3563: *554 event timer add: 0: 1000:3352695 2022/05/30 08:10:59 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:10:59 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:10:59 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:10:59 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:10:59 [debug] 3563\#3563: worker cycle 2022/05/30 08:10:59 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:10:59 [debug] 4267\#4267: epoll: fd:7 ev:0001 d:05757C88 ' |
semaphore.t | TEST 13: semaphore in log_by_lua (wait not allowed) - grep_error_log_out (req 0) |
@@ -1,2 +1,6 @@ +sem: timeout, +sem: timeout, +sem: 6 times, +sem: timeout, sem: 1 while logging request, sem: API disabled in the context of log_by_lua* while logging request, ' |
semaphore.t | TEST 30: main thread wait a light thread that is waiting on a semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:11:04 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:11:04 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:11:04 [debug] 3563\#3563: *554 event timer add: 0: 1000:3357711 2022/05/30 08:11:04 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:11:04 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:11:04 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:11:04 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:11:04 [debug] 3563\#3563: worker cycle 2022/05/30 08:11:04 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:11:04 [debug] 4322\#4322: epoll: fd:7 ev:0001 d:05F4BFB8 ' |
semaphore.t | TEST 30: main thread wait a light thread that is waiting on a semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:11:05 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:11:05 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:11:05 [debug] 3563\#3563: *554 event timer add: 0: 1000:3358719 2022/05/30 08:11:05 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:11:05 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:11:05 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:11:05 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:11:05 [debug] 3563\#3563: worker cycle 2022/05/30 08:11:05 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:11:05 [debug] 4371\#4371: epoll: fd:7 ev:0001 d:05F4BFB8 ' |
semaphore.t | TEST 30: main thread wait a light thread that is waiting on a semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:11:06 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:11:06 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:11:06 [debug] 3563\#3563: *554 event timer add: 0: 1000:3359723 2022/05/30 08:11:06 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:11:06 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:11:06 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:11:06 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:11:06 [debug] 3563\#3563: worker cycle 2022/05/30 08:11:06 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:11:06 [debug] 4371\#4371: epoll: fd:7 ev:0001 d:05F4BFB8 ' |
semaphore.t | TEST 40: bugfix: semaphore instance can't be garbage collected when someone is waiting on it - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:11:07 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:11:07 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):18: sem: 6 times, context: ngx.timer 2022/05/30 08:11:07 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:11:07 [debug] 3563\#3563: *554 event timer add: 0: 1000:3360726 2022/05/30 08:11:07 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:11:07 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:11:07 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:11:07 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:11:07 [debug] 3563\#3563: worker cycle 2022/05/30 08:11:06 [debug] 2464\#2464: malloc: 04A23858:12 ' |
semaphore.t | TEST 40: bugfix: semaphore instance can't be garbage collected when someone is waiting on it - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:11:07 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):18: sem: 6 times, context: ngx.timer" (req 0) |
2022/05/30 08:11:07 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:11:07 [debug] 3563\#3563: *554 event timer add: 0: 1000:3360726 2022/05/30 08:11:07 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:11:07 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:11:07 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:11:07 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:11:07 [debug] 3563\#3563: worker cycle 2022/05/30 08:11:06 [debug] 2464\#2464: malloc: 04A23858:12 2022/05/30 08:11:07 [debug] 3563\#3563: epoll timer: 1000 ' |
semaphore.t | TEST 40: bugfix: semaphore instance can't be garbage collected when someone is waiting on it - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:11:08 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:11:08 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:11:08 [debug] 3563\#3563: *554 event timer add: 0: 1000:3361728 2022/05/30 08:11:08 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:11:08 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:11:08 [debug] 3563\#3563: *554 lua thread yielded 2022/05/30 08:11:08 [debug] 3563\#3563: *554 lua run thread returned -2 2022/05/30 08:11:08 [debug] 3563\#3563: worker cycle 2022/05/30 08:11:08 [debug] 3563\#3563: epoll timer: 1000 2022/05/30 08:11:08 [debug] 4420\#4420: *1015 malloc: 04A29A80:114 ' |
semaphore.t | TEST 40: bugfix: semaphore instance can't be garbage collected when someone is waiting on it - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:11:09 [error] 3563\#3563: *554 [lua] init_worker_by_lua(nginx.conf:26):14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:11:09 [debug] 4420\#4420: *1027 free: 05247848, unused: 0 2022/05/30 08:11:09 [debug] 3563\#3563: http lua semaphore wait: 0620F23C, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:11:09 [debug] 4420\#4420: *1027 free: 05071088, unused: 0 2022/05/30 08:11:09 [debug] 3563\#3563: *554 event timer add: 0: 1000:3362732 2022/05/30 08:11:09 [debug] 4420\#4420: *1027 free: 050675B8, unused: 0 2022/05/30 08:11:09 [debug] 3563\#3563: http lua semaphore wait yielding 2022/05/30 08:11:09 [debug] 4420\#4420: *1027 free: 04FF5538, unused: 0 2022/05/30 08:11:09 [debug] 3563\#3563: *554 lua resume returned 1 2022/05/30 08:11:09 [debug] 4420\#4420: *1027 free: 04FF3130, unused: 0 ' |
semaphore.t | TEST 16: semaphore in ngx.timer (all allowed) - grep_error_log_out (req 0) |
@@ -1,2 +1,6 @@ sem: timeout, +sem: timeout, +sem: timeout, +sem: 6 times, +sem: timeout, sem: 1, ' |
shared.t | TEST 11: shared.expire returns error on not found key - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'failed to set ttl: not found ' |
shared.t | TEST 11: shared.expire returns error on not found key - response_body - response is expected (repeated req 1, req 0) |
got: '' expected: 'failed to set ttl: not found ' |
shared.t | TEST 4: shared.ttl returns key ttl for non-default (positive) ttl - response_body_like - response is expected (0.2 sleep for 0.1s... -0.05) |
'0.2 sleep for 0.1s... -0.05 ' doesn't match '(?^s:\A0.2 sleep for 0.1s... 0.\d* \z)' |
shared.t | TEST 3: shared.ttl returns error on not found key - response_body - response is expected (repeated req 0, req 0) |
got: '' expected: 'failed to get ttl: not found ' |
shared.t | TEST 3: shared.ttl returns error on not found key - response_body - response is expected (repeated req 1, req 0) |
got: '' expected: 'failed to get ttl: not found ' |
ssl-session-fetch.t | TEST 1: get resume session id serialized - grep_error_log_out (req 1) |
'' doesn't match '(?^s:ssl_session_fetch_by_lua\(nginx.conf:\d+\):4: session id: [a-fA-f\d]+)' |
ssl-session-fetch.t | TEST 4: attempt to resume a corrupted session - grep_error_log_out (req 0) |
'' doesn't match '(?^s:^ssl_session_store_by_lua\(nginx.conf:\d+\):5: session id: [a-fA-F\d]+$)' |
ssl-session-fetch.t | TEST 4: attempt to resume a corrupted session - grep_error_log_out (req 1) |
'ssl_session_store_by_lua(nginx.conf:27):5: session id: 7e74c15a7734972742202b51b7a6410d093355d1ac8f6c6eeb81e68838e23b54 ssl_session_store_by_lua(nginx.conf:27):5: session id: b2fca8e599e803b5a22b93a2bae887b903cb8c3c430ab49b0785768b9217db25 ' doesn't match '(?^s:^ssl_session_fetch_by_lua\(nginx.conf:\d+\):4: session id: [a-fA-F\d]+ failed to resume session: failed to de-serialize session ssl_session_store_by_lua\(nginx.conf:\d+\):5: session id: [a-fA-F\d]+ $)' |
ssl-session-fetch.t | TEST 3: store new session, and resume it - grep_error_log_out (req 0) |
'' doesn't match '(?^s:ssl_session_store_by_lua\(nginx.conf:\d+\):5: session id: [a-fA-F\d]+)' |
ssl-session-fetch.t | TEST 3: store new session, and resume it - grep_error_log_out (req 1) |
'ssl_session_store_by_lua(nginx.conf:27):5: session id: 75d96b2376c708e7454394cfdd75d4df1b9fa828158ca292e49cae716caa178f ssl_session_store_by_lua(nginx.conf:27):5: session id: 36433e9c73a6dbb79fef115bd1aa7c878b5866f48d75fee3e418803175639185 ' doesn't match '(?^s:ssl_session_fetch_by_lua\(nginx.conf:\d+\):4: session id: [a-fA-F\d]+)' |
ssl-session-fetch.t | TEST 5: yield during doing handshake with client which uses low version OpenSSL - grep_error_log_out (req 0) |
'ssl_session_fetch_by_lua(nginx.conf:35):7: session id: f0cb6d59a3d691825489bf5b88c095c033b699eabc35b398500f439d3784e6c5 failed to resume session: failed to de-serialize session ' doesn't match '(?^s:^ssl_session_fetch_by_lua\(nginx.conf:\d+\):\d+: session id: [a-fA-F\d]+ failed to resume session: failed to de-serialize session ssl_session_store_by_lua\(nginx.conf:\d+\):\d+: session id: [a-fA-F\d]+ $)' |
ssl-session-fetch.t | TEST 5: yield during doing handshake with client which uses low version OpenSSL - grep_error_log_out (req 1) |
'' doesn't match '(?^s:^ssl_session_fetch_by_lua\(nginx.conf:\d+\):\d+: session id: [a-fA-F\d]+ failed to resume session: failed to de-serialize session ssl_session_store_by_lua\(nginx.conf:\d+\):\d+: session id: [a-fA-F\d]+ $)' |
ssl-session-fetch.t | TEST 2: attempt to fetch new session in lua_ctx during resumption. - grep_error_log_out (req 1) |
got: '' expected: 'get session error: bad session in lua context ' |
ssl-session-store.t | TEST 3: store the session via timer to memcached - pattern "(?^s:ssl_session_store_by_lua\(nginx.conf:\d+\):32: session id: [a-fA-f\d]+)" should match a line in error.log (req 0) | |
ssl-session-store.t | TEST 3: store the session via timer to memcached - pattern "(?^s:ssl_session_store_by_lua\(nginx.conf:\d+\):34: session size: \d+)" should match a line in error.log (req 0) | |
ssl-session-store.t | TEST 3: store the session via timer to memcached - pattern "(?^s:received memc reply: STORED)" should match a line in error.log (req 0) | |
ssl-session-store.t | TEST 3: store the session via timer to memcached - pattern "(?^s:received memc reply: STORED)" should match a line in error.log (req 1) | |
ssl-session-store.t | TEST 1: get new session serialized - pattern "(?^s:ssl_session_store_by_lua\(nginx.conf:\d+\):4: session size: \d+)" should match a line in error.log (req 0) | |
ssl-session-store.t | TEST 2: get new session id serialized - pattern "(?^s:ssl_session_store_by_lua\(nginx.conf:\d+\):4: session id: [a-fA-f\d]+)" should match a line in error.log (req 0) | |
ssl.t | TEST 24: verify client without CA certificates - pattern "client certificate subject: emailAddress=agentzh@gmail.com,CN=test.com" should match a line in error.log (req 0) | |
ssl.t | TEST 24: verify client without CA certificates - pattern "client certificate subject: emailAddress=agentzh@gmail.com,CN=test.com" should match a line in error.log (req 1) | |
ssl.t | TEST 21: yield during doing handshake with client which uses low version OpenSSL - pattern "(?^:content_by_lua\(nginx\.conf:\d+\):\d+: CONNECTED)" should match a line in error.log (req 0) | |
ssl.t | TEST 21: yield during doing handshake with client which uses low version OpenSSL - pattern "(?^:subject=/?C(?<eq>\s?=\s?)US(?<sep>/|,\s)ST\k<eq>California\k<sep>L\k<eq>San Francisco\k<sep>O\k<eq>OpenResty\k<sep>OU\k<eq>OpenResty\k<sep>CN\k<eq>test\.com\k<sep>emailAddress\k<eq>agentzh\@gmail\.com)" should match a line in error.log (req 0) | |
ssl.t | TEST 23: verify client with CA certificates - pattern "client certificate subject: emailAddress=agentzh@gmail.com,CN=test.com" should match a line in error.log (req 0) | |
ssl.t | TEST 23: verify client with CA certificates - pattern "client certificate subject: emailAddress=agentzh@gmail.com,CN=test.com" should match a line in error.log (req 1) | |
ssl.t | TEST 25: verify client but client provides no certificate - pattern "client certificate subject: nil" should match a line in error.log (req 0) | |
stream/errlog.t | TEST 19: fetch a few and generate a few, then fetch again (overflown again) - response_body_like - response is expected (msg count: 3 log level:5 log body:2022/05/30 08:27:58 [warn] 15021\#15021: *63 stream [lua] content_by_lua(nginx.conf:93):10: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021\#15021: *63 stream [lua] content_by_lua(nginx.conf:93):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:27:58 [warn] 15021\#15021: *63 stream [lua] content_by_lua(nginx.conf:93):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 msg count: 3 log level:5 log body:2022/05/30 08:27:58 [warn] 15021\#15021: *63 stream [lua] content_by_lua(nginx.conf:93):10: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021\#15021: *63 stream [lua] content_by_lua(nginx.conf:93):11: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:27:58 [warn] 15021\#15021: *63 stream [lua] content_by_lua(nginx.conf:93):10: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021\#15021: *63 stream [lua] content_by_lua(nginx.conf:93):24: --> 102, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021\#15021: *63 stream [lua] content_by_lua(nginx.conf:93):25: --> 103, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021\#15021: *63 stream [lua] content_by_lua(nginx.conf:93):26: --> 104, client: 127.0.0.1, server: 0.0.0.0:1985) |
'msg count: 3 log level:5 log body:2022/05/30 08:27:58 [warn] 15021#15021: *63 stream [lua] content_by_lua(nginx.conf:93):10: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021#15021: *63 stream [lua] content_by_lua(nginx.conf:93):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:27:58 [warn] 15021#15021: *63 stream [lua] content_by_lua(nginx.conf:93):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 msg count: 3 log level:5 log body:2022/05/30 08:27:58 [warn] 15021#15021: *63 stream [lua] content_by_lua(nginx.conf:93):10: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021#15021: *63 stream [lua] content_by_lua(nginx.conf:93):11: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:27:58 [warn] 15021#15021: *63 stream [lua] content_by_lua(nginx.conf:93):10: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021#15021: *63 stream [lua] content_by_lua(nginx.conf:93):24: --> 102, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021#15021: *63 stream [lua] content_by_lua(nginx.conf:93):25: --> 103, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021#15021: *63 stream [lua] content_by_lua(nginx.conf:93):26: --> 104, client: 127.0.0.1, server: 0.0.0.0:1985 ' doesn't match '(?^s:\Amsg count: 3 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 84, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ msg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 86, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 86, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 87, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 102, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 103, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 104, client: 127.0.0.1, server: 0.0.0.0:\d+ |msg count: 3 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 84, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ msg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 87, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 87, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 102, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 103, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 104, client: 127.0.0.1, server: 0.0.0.0:\d+ \z)' |
stream/errlog.t | TEST 19: fetch a few and generate a few, then fetch again (overflown again) - response_body_like - response is expected (msg count: 3 log level:5 log body:2022/05/30 08:27:58 [warn] 15021\#15021: *66 stream [lua] content_by_lua(nginx.conf:93):10: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021\#15021: *66 stream [lua] content_by_lua(nginx.conf:93):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:27:58 [warn] 15021\#15021: *66 stream [lua] content_by_lua(nginx.conf:93):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 msg count: 3 log level:5 log body:2022/05/30 08:27:58 [warn] 15021\#15021: *66 stream [lua] content_by_lua(nginx.conf:93):10: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021\#15021: *66 stream [lua] content_by_lua(nginx.conf:93):11: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:27:58 [warn] 15021\#15021: *66 stream [lua] content_by_lua(nginx.conf:93):10: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021\#15021: *66 stream [lua] content_by_lua(nginx.conf:93):24: --> 102, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021\#15021: *66 stream [lua] content_by_lua(nginx.conf:93):25: --> 103, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021\#15021: *66 stream [lua] content_by_lua(nginx.conf:93):26: --> 104, client: 127.0.0.1, server: 0.0.0.0:1985) |
'msg count: 3 log level:5 log body:2022/05/30 08:27:58 [warn] 15021#15021: *66 stream [lua] content_by_lua(nginx.conf:93):10: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021#15021: *66 stream [lua] content_by_lua(nginx.conf:93):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:27:58 [warn] 15021#15021: *66 stream [lua] content_by_lua(nginx.conf:93):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 msg count: 3 log level:5 log body:2022/05/30 08:27:58 [warn] 15021#15021: *66 stream [lua] content_by_lua(nginx.conf:93):10: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021#15021: *66 stream [lua] content_by_lua(nginx.conf:93):11: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:27:58 [warn] 15021#15021: *66 stream [lua] content_by_lua(nginx.conf:93):10: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021#15021: *66 stream [lua] content_by_lua(nginx.conf:93):24: --> 102, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021#15021: *66 stream [lua] content_by_lua(nginx.conf:93):25: --> 103, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:27:58 [error] 15021#15021: *66 stream [lua] content_by_lua(nginx.conf:93):26: --> 104, client: 127.0.0.1, server: 0.0.0.0:1985 ' doesn't match '(?^s:\Amsg count: 3 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 84, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ msg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 86, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 86, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 87, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 102, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 103, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 104, client: 127.0.0.1, server: 0.0.0.0:\d+ |msg count: 3 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 84, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ msg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 87, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 87, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 102, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 103, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 104, client: 127.0.0.1, server: 0.0.0.0:\d+ \z)' |
stream/errlog.t | nginx: [emerg] | invalid number of arguments in "lua_capture_error_log" directive in /home/ec2-user/git/lua-resty-core/t/servroot/conf/nginx.conf:17 |
stream/errlog.t | TEST 12: filter log by level(ngx.WARN) - response_body - response is expected (repeated req 0, req 0) |
got: 'log lines:3 ' expected: 'log lines:2 ' |
stream/errlog.t | TEST 11: filter log by level(ngx.INFO) - response_body - response is expected (repeated req 0, req 0) |
got: 'log lines:4 ' expected: 'log lines:3 ' |
stream/errlog.t | TEST 17: flood the capturing buffer (4k) - response_body_like - response is expected (log lines: \#25 log level:4 log body:2022/05/30 08:28:20 [error] 15369\#15369: *215 stream [lua] content_by_lua(nginx.conf:78):11: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:20 [warn] 15369\#15369: *215 stream [lua] content_by_lua(nginx.conf:78):10: --> 89, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:20 [error] 15369\#15369: *215 stream [lua] content_by_lua(nginx.conf:78):11: --> 89, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:20 [error] 15369\#15369: *215 stream [lua] content_by_lua(nginx.conf:78):11: --> 99, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:20 [warn] 15369\#15369: *215 stream [lua] content_by_lua(nginx.conf:78):10: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:20 [error] 15369\#15369: *215 stream [lua] content_by_lua(nginx.conf:78):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985) |
'log lines: #25 log level:4 log body:2022/05/30 08:28:20 [error] 15369#15369: *215 stream [lua] content_by_lua(nginx.conf:78):11: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:20 [warn] 15369#15369: *215 stream [lua] content_by_lua(nginx.conf:78):10: --> 89, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:20 [error] 15369#15369: *215 stream [lua] content_by_lua(nginx.conf:78):11: --> 89, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:20 [error] 15369#15369: *215 stream [lua] content_by_lua(nginx.conf:78):11: --> 99, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:20 [warn] 15369#15369: *215 stream [lua] content_by_lua(nginx.conf:78):10: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:20 [error] 15369#15369: *215 stream [lua] content_by_lua(nginx.conf:78):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 ' doesn't match '(?^s:\A(?:log lines: #26 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 89, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 99, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: 0.0.0.0:\d+ )\z)' |
stream/errlog.t | TEST 17: flood the capturing buffer (4k) - response_body_like - response is expected (log lines: \#25 log level:4 log body:2022/05/30 08:28:21 [error] 15369\#15369: *218 stream [lua] content_by_lua(nginx.conf:78):11: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:21 [warn] 15369\#15369: *218 stream [lua] content_by_lua(nginx.conf:78):10: --> 89, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:21 [error] 15369\#15369: *218 stream [lua] content_by_lua(nginx.conf:78):11: --> 89, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:21 [error] 15369\#15369: *218 stream [lua] content_by_lua(nginx.conf:78):11: --> 99, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:21 [warn] 15369\#15369: *218 stream [lua] content_by_lua(nginx.conf:78):10: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:21 [error] 15369\#15369: *218 stream [lua] content_by_lua(nginx.conf:78):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985) |
'log lines: #25 log level:4 log body:2022/05/30 08:28:21 [error] 15369#15369: *218 stream [lua] content_by_lua(nginx.conf:78):11: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:21 [warn] 15369#15369: *218 stream [lua] content_by_lua(nginx.conf:78):10: --> 89, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:21 [error] 15369#15369: *218 stream [lua] content_by_lua(nginx.conf:78):11: --> 89, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:21 [error] 15369#15369: *218 stream [lua] content_by_lua(nginx.conf:78):11: --> 99, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:21 [warn] 15369#15369: *218 stream [lua] content_by_lua(nginx.conf:78):10: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:21 [error] 15369#15369: *218 stream [lua] content_by_lua(nginx.conf:78):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 ' doesn't match '(?^s:\A(?:log lines: #26 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 88, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 89, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 99, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: 0.0.0.0:\d+ )\z)' |
stream/errlog.t | TEST 18: flood the capturing buffer (5k) - response_body_like - response is expected (log lines: \#31 log level:4 log body:2022/05/30 08:28:31 [error] 15544\#15544: *336 stream [lua] content_by_lua(nginx.conf:78):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:31 [warn] 15544\#15544: *336 stream [lua] content_by_lua(nginx.conf:78):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:31 [error] 15544\#15544: *336 stream [lua] content_by_lua(nginx.conf:78):11: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:31 [error] 15544\#15544: *336 stream [lua] content_by_lua(nginx.conf:78):11: --> 99, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:31 [warn] 15544\#15544: *336 stream [lua] content_by_lua(nginx.conf:78):10: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:31 [error] 15544\#15544: *336 stream [lua] content_by_lua(nginx.conf:78):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985) |
'log lines: #31 log level:4 log body:2022/05/30 08:28:31 [error] 15544#15544: *336 stream [lua] content_by_lua(nginx.conf:78):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:31 [warn] 15544#15544: *336 stream [lua] content_by_lua(nginx.conf:78):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:31 [error] 15544#15544: *336 stream [lua] content_by_lua(nginx.conf:78):11: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:31 [error] 15544#15544: *336 stream [lua] content_by_lua(nginx.conf:78):11: --> 99, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:31 [warn] 15544#15544: *336 stream [lua] content_by_lua(nginx.conf:78):10: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:31 [error] 15544#15544: *336 stream [lua] content_by_lua(nginx.conf:78):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 ' doesn't match '(?^s:\A(?:log lines: #33 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 84, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 99, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: 0.0.0.0:\d+ )\z)' |
stream/errlog.t | TEST 18: flood the capturing buffer (5k) - response_body_like - response is expected (log lines: \#31 log level:4 log body:2022/05/30 08:28:32 [error] 15544\#15544: *339 stream [lua] content_by_lua(nginx.conf:78):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:32 [warn] 15544\#15544: *339 stream [lua] content_by_lua(nginx.conf:78):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:32 [error] 15544\#15544: *339 stream [lua] content_by_lua(nginx.conf:78):11: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:32 [error] 15544\#15544: *339 stream [lua] content_by_lua(nginx.conf:78):11: --> 99, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:32 [warn] 15544\#15544: *339 stream [lua] content_by_lua(nginx.conf:78):10: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:32 [error] 15544\#15544: *339 stream [lua] content_by_lua(nginx.conf:78):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985) |
'log lines: #31 log level:4 log body:2022/05/30 08:28:32 [error] 15544#15544: *339 stream [lua] content_by_lua(nginx.conf:78):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:32 [warn] 15544#15544: *339 stream [lua] content_by_lua(nginx.conf:78):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:32 [error] 15544#15544: *339 stream [lua] content_by_lua(nginx.conf:78):11: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:32 [error] 15544#15544: *339 stream [lua] content_by_lua(nginx.conf:78):11: --> 99, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:28:32 [warn] 15544#15544: *339 stream [lua] content_by_lua(nginx.conf:78):10: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:28:32 [error] 15544#15544: *339 stream [lua] content_by_lua(nginx.conf:78):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 ' doesn't match '(?^s:\A(?:log lines: #33 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 84, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 99, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: 0.0.0.0:\d+ )\z)' |
stream/errlog.t | TEST 13: filter log by level(ngx.CRIT) - response_body - response is expected (repeated req 0, req 0) |
got: 'log lines:1 ' expected: 'log lines:0 ' |
stream/errlog.t | nginx: [emerg] | invalid capture error log size "3k", minimum size is 4096 in /home/ec2-user/git/lua-resty-core/t/servroot/conf/nginx.conf:17 |
stream/errlog.t | TEST 21: multi-line error log - response_body_like - response is expected (log lines: \#2 log level:6 log body:2022/05/30 08:28:39 [notice] 15680\#15680: start worker processes log level:4 log body:2022/05/30 08:28:41 [error] 15699\#15699: *3 stream [lua] content_by_lua(nginx.conf:67):8: --> new line, client: 127.0.0.1, server: 0.0.0.0:1985) |
'log lines: #2 log level:6 log body:2022/05/30 08:28:39 [notice] 15680#15680: start worker processes log level:4 log body:2022/05/30 08:28:41 [error] 15699#15699: *3 stream [lua] content_by_lua(nginx.conf:67):8: --> new line, client: 127.0.0.1, server: 0.0.0.0:1985 ' doesn't match '(?^s:\Alog lines: #1 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> new line, client: 127.0.0.1, server: 0.0.0.0:\d+ \z)' |
stream/errlog.t | TEST 3: client connected info - grep_error_log_out (req 0) |
'client 127.0.0.1:5229 connected to capture log line:10 ' doesn't match '(?^:^client .*? connected to .*? capture log line:1 $)' |
stream/errlog.t | TEST 3: client connected info - grep_error_log_out (req 1) |
'client 127.0.0.1:5231 connected to capture log line:10 ' doesn't match '(?^:^client .*? connected to .*? capture log line:2 $)' |
stream/errlog.t | TEST 22: user-supplied Lua table to hold the result (get one log + no log) - response_body_like - response is expected (maybe log lines: \#2 log level:6 log body:2022/05/30 08:28:46 [notice] 15680\#15680: start worker processes log level:4 log body:2022/05/30 08:28:48 [error] 15804\#15804: *93 stream [lua] content_by_lua(nginx.conf:75):8: --> new line, client: 127.0.0.1, server: 0.0.0.0:1985 end maybe log lines: \#2 end) |
'maybe log lines: #2 log level:6 log body:2022/05/30 08:28:46 [notice] 15680#15680: start worker processes log level:4 log body:2022/05/30 08:28:48 [error] 15804#15804: *93 stream [lua] content_by_lua(nginx.conf:75):8: --> new line, client: 127.0.0.1, server: 0.0.0.0:1985 end maybe log lines: #2 end ' doesn't match '(?^s:\Amaybe log lines: #1 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*content_by_lua\(nginx.conf:\d+\):\d+: --> new line, client: 127.0.0.1, server: 0.0.0.0:\d+ end maybe log lines: #1 end \z)' |
stream/errlog.t | TEST 20: fetch a few and generate a few, then fetch again (not overflown again) - response_body_like - response is expected (msg count: 3 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *244 stream [lua] content_by_lua(nginx.conf:91):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:29:01 [warn] 16020\#16020: *244 stream [lua] content_by_lua(nginx.conf:91):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *244 stream [lua] content_by_lua(nginx.conf:91):11: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 msg count: 3 log level:5 log body:2022/05/30 08:29:01 [warn] 16020\#16020: *244 stream [lua] content_by_lua(nginx.conf:91):10: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *244 stream [lua] content_by_lua(nginx.conf:91):11: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:29:01 [warn] 16020\#16020: *244 stream [lua] content_by_lua(nginx.conf:91):10: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *244 stream [lua] content_by_lua(nginx.conf:91):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *244 stream [lua] content_by_lua(nginx.conf:91):23: howdy, something new!, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *244 stream [lua] content_by_lua(nginx.conf:91):24: howdy, something even newer!, client: 127.0.0.1, server: 0.0.0.0:1985) |
'msg count: 3 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *244 stream [lua] content_by_lua(nginx.conf:91):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:29:01 [warn] 16020#16020: *244 stream [lua] content_by_lua(nginx.conf:91):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *244 stream [lua] content_by_lua(nginx.conf:91):11: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 msg count: 3 log level:5 log body:2022/05/30 08:29:01 [warn] 16020#16020: *244 stream [lua] content_by_lua(nginx.conf:91):10: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *244 stream [lua] content_by_lua(nginx.conf:91):11: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:29:01 [warn] 16020#16020: *244 stream [lua] content_by_lua(nginx.conf:91):10: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *244 stream [lua] content_by_lua(nginx.conf:91):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *244 stream [lua] content_by_lua(nginx.conf:91):23: howdy, something new!, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *244 stream [lua] content_by_lua(nginx.conf:91):24: howdy, something even newer!, client: 127.0.0.1, server: 0.0.0.0:1985 ' doesn't match '(?^s:\Amsg count: 3 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 84, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ msg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 86, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 86, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 87, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: howdy, something new!, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: howdy, something even newer!, client: 127.0.0.1, server: 0.0.0.0:\d+ \z)' |
stream/errlog.t | TEST 20: fetch a few and generate a few, then fetch again (not overflown again) - response_body_like - response is expected (msg count: 3 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *247 stream [lua] content_by_lua(nginx.conf:91):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:29:01 [warn] 16020\#16020: *247 stream [lua] content_by_lua(nginx.conf:91):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *247 stream [lua] content_by_lua(nginx.conf:91):11: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 msg count: 3 log level:5 log body:2022/05/30 08:29:01 [warn] 16020\#16020: *247 stream [lua] content_by_lua(nginx.conf:91):10: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *247 stream [lua] content_by_lua(nginx.conf:91):11: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:29:01 [warn] 16020\#16020: *247 stream [lua] content_by_lua(nginx.conf:91):10: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *247 stream [lua] content_by_lua(nginx.conf:91):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *247 stream [lua] content_by_lua(nginx.conf:91):23: howdy, something new!, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020\#16020: *247 stream [lua] content_by_lua(nginx.conf:91):24: howdy, something even newer!, client: 127.0.0.1, server: 0.0.0.0:1985) |
'msg count: 3 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *247 stream [lua] content_by_lua(nginx.conf:91):11: --> 85, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:29:01 [warn] 16020#16020: *247 stream [lua] content_by_lua(nginx.conf:91):10: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *247 stream [lua] content_by_lua(nginx.conf:91):11: --> 86, client: 127.0.0.1, server: 0.0.0.0:1985 msg count: 3 log level:5 log body:2022/05/30 08:29:01 [warn] 16020#16020: *247 stream [lua] content_by_lua(nginx.conf:91):10: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *247 stream [lua] content_by_lua(nginx.conf:91):11: --> 87, client: 127.0.0.1, server: 0.0.0.0:1985 log level:5 log body:2022/05/30 08:29:01 [warn] 16020#16020: *247 stream [lua] content_by_lua(nginx.conf:91):10: --> 88, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *247 stream [lua] content_by_lua(nginx.conf:91):11: --> 100, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *247 stream [lua] content_by_lua(nginx.conf:91):23: howdy, something new!, client: 127.0.0.1, server: 0.0.0.0:1985 log level:4 log body:2022/05/30 08:29:01 [error] 16020#16020: *247 stream [lua] content_by_lua(nginx.conf:91):24: howdy, something even newer!, client: 127.0.0.1, server: 0.0.0.0:1985 ' doesn't match '(?^s:\Amsg count: 3 log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 84, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 85, client: 127.0.0.1, server: 0.0.0.0:\d+ msg count: 3 log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 86, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 86, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:5 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[warn\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 87, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: --> 100, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: howdy, something new!, client: 127.0.0.1, server: 0.0.0.0:\d+ log level:4 log body:\d{4}/\d{2}/\d{2} \d{2}:\d{2}:\d{2} \[error\] (\d+).*?content_by_lua\(nginx.conf:\d+\):\d+: howdy, something even newer!, client: 127.0.0.1, server: 0.0.0.0:\d+ \z)' |
stream/errlog.t | TEST 31: ringbuf sentinel bug2 - response_body_like - response is expected (log lines: \#18 log lines: \#3) |
'log lines: #18 log lines: #3 ' doesn't match '(?^s:\A(?:log lines: #18 log lines: #1 |log lines: #18 log lines: #2 )\z)' |
stream/process-type-hup.t | TEST 1: sanity - pattern "init_worker_by_lua:6: process type: privileged" should match a line in error.log (req 1) | |
stream/process-type-single.t | TEST 1: sanity - response_body - response is expected (repeated req 0, req 0) |
got: "process type: worker\x{0a}" length: 21 expected: "process type: single\x{0a}" length: 21 strings begin to differ at char 15 (line 1 column 15) |
stream/process-type-single.t | TEST 1: sanity - grep_error_log_out (req 0) |
'[TRACE 1 init_by_lua:31 loop] [TRACE 2 init_worker_by_lua:4 loop] [TRACE 2 content_by_lua(nginx.conf:78):4 loop] process type in init_by_lua*: master init_worker_by_lua:10: process type: worker ' doesn't match '(?^:\[TRACE\s+\d+ init_by_lua:\d+ loop\] \[TRACE\s+\d+ init_worker_by_lua:\d+ loop\] \[TRACE\s+\d+ content_by_lua\(nginx.conf:\d+\):4 loop\] process type in init_by_lua\*: single init_worker_by_lua:10: process type: single )' |
stream/process-type-single.t | TEST 1: sanity - response_body - response is expected (repeated req 1, req 0) |
got: "process type: worker\x{0a}" length: 21 expected: "process type: single\x{0a}" length: 21 strings begin to differ at char 15 (line 1 column 15) |
stream/process-type-single.t | TEST 1: sanity - grep_error_log_out (req 1) |
'[TRACE 1 init_by_lua:31 loop] [TRACE 2 init_worker_by_lua:4 loop] [TRACE 2 content_by_lua(nginx.conf:78):4 loop] process type in init_by_lua*: master init_worker_by_lua:10: process type: worker ' doesn't match '(?^:\[TRACE\s+\d+ init_by_lua:\d+ loop\] \[TRACE\s+\d+ init_worker_by_lua:\d+ loop\] \[TRACE\s+\d+ content_by_lua\(nginx.conf:\d+\):4 loop\] process type in init_by_lua\*: single init_worker_by_lua:10: process type: single )' |
stream/request.t | TEST 1: ngx.req.start_time() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,3 @@ true >= 0.099: true -< 0.11: true +< 0.11: false ' Looks like you failed 1 test of 12. |
stream/semaphore.t | TEST 12: semaphore post in all phase (in a request) - grep_error_log_out (req 0) |
got: 'sem: timeout, sem: 3 times, ' expected: 'sem: 3 times, ' |
stream/semaphore.t | TEST 8: semaphore in preread_by_lua (all allowed) - grep_error_log_out (req 0) |
@@ -1,2 +1,7 @@ +sem: timeout, +sem: timeout, +sem: 3 times, +sem: timeout, +sem: timeout, sem: timeout while prereading client data, sem: 1 while prereading client data, ' |
stream/semaphore.t | TEST 8: semaphore in preread_by_lua (all allowed) - grep_error_log_out (req 1) |
@@ -1,2 +1,4 @@ +sem: timeout, +sem: 3 times, sem: timeout while prereading client data, sem: 1 while prereading client data, ' |
stream/semaphore.t | TEST 20: main thread wait a light thread that is waiting on a semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:14 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:14 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:14 [debug] 23380\#23380: *562 event timer add: 0: 1000:5047492 2022/05/30 08:39:14 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:14 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:14 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:14 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:14 [debug] 23380\#23380: worker cycle 2022/05/30 08:39:14 [debug] 23380\#23380: epoll timer: 1000 2022/05/30 08:39:14 [debug] 23521\#23521: epoll: fd:8 ev:0001 d:04C7ED6C ' |
stream/semaphore.t | TEST 20: main thread wait a light thread that is waiting on a semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:15 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:15 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:15 [debug] 23380\#23380: *562 event timer add: 0: 1000:5048496 2022/05/30 08:39:15 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:15 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:15 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:15 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:15 [debug] 23380\#23380: worker cycle 2022/05/30 08:39:15 [debug] 23380\#23380: epoll timer: 1000 2022/05/30 08:39:15 [notice] 22393\#22393: signal 29 (SIGIO) received ' |
stream/semaphore.t | TEST 20: main thread wait a light thread that is waiting on a semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:16 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:16 [debug] 23577\#23577: *671 event timer del: 3: 5108493 2022/05/30 08:39:16 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:18: sem: 3 times, context: ngx.timer 2022/05/30 08:39:16 [debug] 23577\#23577: *671 generic phase: 0 2022/05/30 08:39:16 [debug] 23577\#23577: *671 rewrite phase: 1 2022/05/30 08:39:16 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:16 [debug] 23577\#23577: *671 rewrite phase: 2 2022/05/30 08:39:16 [debug] 23380\#23380: *562 event timer add: 0: 1000:5049501 2022/05/30 08:39:16 [debug] 23577\#23577: *671 test location: "/ver" 2022/05/30 08:39:16 [debug] 23380\#23380: stream lua semaphore wait yielding ' |
stream/semaphore.t | TEST 20: main thread wait a light thread that is waiting on a semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:16 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:18: sem: 3 times, context: ngx.timer" (req 0) |
2022/05/30 08:39:16 [debug] 23577\#23577: *671 generic phase: 0 2022/05/30 08:39:16 [debug] 23577\#23577: *671 rewrite phase: 1 2022/05/30 08:39:16 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:16 [debug] 23577\#23577: *671 rewrite phase: 2 2022/05/30 08:39:16 [debug] 23380\#23380: *562 event timer add: 0: 1000:5049501 2022/05/30 08:39:16 [debug] 23577\#23577: *671 test location: "/ver" 2022/05/30 08:39:16 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:16 [debug] 23577\#23577: *671 using configuration "=/ver" 2022/05/30 08:39:16 [debug] 23380\#23380: *562 lua resume returned 1 ' |
stream/semaphore.t | TEST 20: main thread wait a light thread that is waiting on a semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:17 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 1) |
2022/05/30 08:39:17 [debug] 23577\#23577: *682 generic phase: 8 2022/05/30 08:39:17 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:17 [debug] 23577\#23577: *682 generic phase: 9 2022/05/30 08:39:17 [debug] 23380\#23380: *562 event timer add: 0: 1000:5050504 2022/05/30 08:39:17 [debug] 23577\#23577: *682 access phase: 10 2022/05/30 08:39:17 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:17 [debug] 23577\#23577: *682 access phase: 11 2022/05/30 08:39:17 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:17 [debug] 23577\#23577: *682 post access phase: 12 ' |
stream/semaphore.t | TEST 22: semaphore wait time is zero - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:18 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:18 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:18 [debug] 23380\#23380: *562 event timer add: 0: 1000:5051508 2022/05/30 08:39:18 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:18 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:18 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:18 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:18 [debug] 23380\#23380: worker cycle 2022/05/30 08:39:18 [debug] 23380\#23380: epoll timer: 1000 2022/05/30 08:39:18 [debug] 23577\#23577: epoll: fd:8 ev:0001 d:058556EC ' |
stream/semaphore.t | TEST 22: semaphore wait time is zero - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:19 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:19 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:18: sem: 3 times, context: ngx.timer 2022/05/30 08:39:19 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:19 [debug] 23380\#23380: *562 event timer add: 0: 1000:5052510 2022/05/30 08:39:19 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:19 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:19 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:19 [debug] 23628\#23628: *691 write old buf t:1 f:0 04B94AE8, pos 04B94AE8, size: 158 file: 0, size: 0 2022/05/30 08:39:19 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:19 [debug] 23380\#23380: worker cycle ' |
stream/semaphore.t | TEST 22: semaphore wait time is zero - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:19 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:18: sem: 3 times, context: ngx.timer" (req 0) |
2022/05/30 08:39:19 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:19 [debug] 23380\#23380: *562 event timer add: 0: 1000:5052510 2022/05/30 08:39:19 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:19 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:19 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:19 [debug] 23628\#23628: *691 write old buf t:1 f:0 04B94AE8, pos 04B94AE8, size: 158 file: 0, size: 0 2022/05/30 08:39:19 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:19 [debug] 23380\#23380: worker cycle 2022/05/30 08:39:19 [debug] 23380\#23380: epoll timer: 1000 ' |
stream/semaphore.t | TEST 22: semaphore wait time is zero - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:20 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:20 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:20 [debug] 23380\#23380: *562 event timer add: 0: 1000:5053514 2022/05/30 08:39:20 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:20 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:20 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:20 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:20 [debug] 23380\#23380: worker cycle 2022/05/30 08:39:20 [debug] 23380\#23380: epoll timer: 1000 2022/05/30 08:39:20 [debug] 23628\#23628: epoll: fd:8 ev:0001 d:04A2A824 ' |
stream/semaphore.t | TEST 9: semaphore in content_by_lua (all allowed) - grep_error_log_out (req 0) |
@@ -1,2 +1,8 @@ sem: timeout, +sem: 3 times, +sem: timeout, +sem: timeout, +sem: timeout, +sem: 3 times, +sem: timeout, sem: 1, ' |
stream/semaphore.t | TEST 7: semaphore in init_worker_by_lua (new and post) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:37 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:37 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:18: sem: 3 times, context: ngx.timer 2022/05/30 08:39:37 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:37 [debug] 23380\#23380: *562 event timer add: 0: 1000:5070565 2022/05/30 08:39:37 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:37 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:37 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:37 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:37 [debug] 23380\#23380: worker cycle 2022/05/30 08:39:37 [debug] 23380\#23380: epoll timer: 1000 ' |
stream/semaphore.t | TEST 7: semaphore in init_worker_by_lua (new and post) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:37 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:18: sem: 3 times, context: ngx.timer" (req 0) |
2022/05/30 08:39:37 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:37 [debug] 23380\#23380: *562 event timer add: 0: 1000:5070565 2022/05/30 08:39:37 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:37 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:37 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:37 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:37 [debug] 23380\#23380: worker cycle 2022/05/30 08:39:37 [debug] 23380\#23380: epoll timer: 1000 2022/05/30 08:39:36 [debug] 22393\#22393: malloc: 059B7488:2048 ' |
stream/semaphore.t | TEST 7: semaphore in init_worker_by_lua (new and post) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:38 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:38 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:38 [debug] 23380\#23380: *562 event timer add: 0: 1000:5071567 2022/05/30 08:39:38 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:38 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:38 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:38 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:38 [debug] 23380\#23380: worker cycle 2022/05/30 08:39:38 [debug] 23380\#23380: epoll timer: 1000 2022/05/30 08:39:36 [debug] 23896\#23896: malloc: 0560B100:12 ' |
stream/semaphore.t | TEST 7: semaphore in init_worker_by_lua (new and post) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:39 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:39 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:39 [debug] 23380\#23380: *562 event timer add: 0: 1000:5072570 2022/05/30 08:39:39 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:39 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:39 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:39 [debug] 23896\#23896: epoll: fd:8 ev:0001 d:04E5F3F4 2022/05/30 08:39:39 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:39 [debug] 23896\#23896: accept on 0.0.0.0:1984, ready: 0 2022/05/30 08:39:39 [debug] 23380\#23380: worker cycle ' |
stream/semaphore.t | TEST 7: semaphore in init_worker_by_lua (new and post) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:40 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:40 [debug] 23896\#23896: *871 malloc: 04CB6470:6 2022/05/30 08:39:40 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:18: sem: 3 times, context: ngx.timer 2022/05/30 08:39:40 [debug] 23896\#23896: *871 malloc: 04CB64A8:8 2022/05/30 08:39:40 [debug] 23896\#23896: *871 http header: "Accept: */*" 2022/05/30 08:39:40 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:40 [debug] 23896\#23896: *871 http header done 2022/05/30 08:39:40 [debug] 23380\#23380: *562 event timer add: 0: 1000:5073573 2022/05/30 08:39:40 [debug] 23896\#23896: *871 event timer del: 3: 5132566 2022/05/30 08:39:40 [debug] 23380\#23380: stream lua semaphore wait yielding ' |
stream/semaphore.t | TEST 7: semaphore in init_worker_by_lua (new and post) - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:40 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:18: sem: 3 times, context: ngx.timer" (req 0) |
2022/05/30 08:39:40 [debug] 23896\#23896: *871 malloc: 04CB64A8:8 2022/05/30 08:39:40 [debug] 23896\#23896: *871 http header: "Accept: */*" 2022/05/30 08:39:40 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:40 [debug] 23896\#23896: *871 http header done 2022/05/30 08:39:40 [debug] 23380\#23380: *562 event timer add: 0: 1000:5073573 2022/05/30 08:39:40 [debug] 23896\#23896: *871 event timer del: 3: 5132566 2022/05/30 08:39:40 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:40 [debug] 23896\#23896: *871 generic phase: 0 2022/05/30 08:39:40 [debug] 23380\#23380: *562 lua resume returned 1 ' |
stream/semaphore.t | TEST 18: kill a thread that is waiting on another thread that is waiting on semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:45 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:44 [debug] 22393\#22393: malloc: 05C323B8:8 2022/05/30 08:39:45 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:44 [debug] 22393\#22393: malloc: 05C323F0:128 2022/05/30 08:39:45 [debug] 23380\#23380: *562 event timer add: 0: 1000:5078586 2022/05/30 08:39:44 [debug] 22393\#22393: malloc: 05C324A0:8 2022/05/30 08:39:45 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:44 [debug] 22393\#22393: malloc: 05C324D8:8 2022/05/30 08:39:45 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:44 [debug] 22393\#22393: malloc: 05C32510:8 ' |
stream/semaphore.t | TEST 18: kill a thread that is waiting on another thread that is waiting on semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:46 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:46 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:18: sem: 3 times, context: ngx.timer 2022/05/30 08:39:46 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:46 [debug] 23380\#23380: *562 event timer add: 0: 1000:5079589 2022/05/30 08:39:46 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:46 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:46 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:46 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:46 [debug] 23380\#23380: worker cycle 2022/05/30 08:39:46 [debug] 23380\#23380: epoll timer: 1000 ' |
stream/semaphore.t | TEST 18: kill a thread that is waiting on another thread that is waiting on semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:46 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:18: sem: 3 times, context: ngx.timer" (req 0) |
2022/05/30 08:39:46 [debug] 23380\#23380: stream lua semaphore wait: 05711CAC, timeout: 1000, resources: 0, event posted: 0 2022/05/30 08:39:46 [debug] 23380\#23380: *562 event timer add: 0: 1000:5079589 2022/05/30 08:39:46 [debug] 23380\#23380: stream lua semaphore wait yielding 2022/05/30 08:39:46 [debug] 23380\#23380: *562 lua resume returned 1 2022/05/30 08:39:46 [debug] 23380\#23380: *562 lua thread yielded 2022/05/30 08:39:46 [debug] 23380\#23380: *562 lua run thread returned -2 2022/05/30 08:39:46 [debug] 23380\#23380: worker cycle 2022/05/30 08:39:46 [debug] 23380\#23380: epoll timer: 1000 2022/05/30 08:39:46 [debug] 24002\#24002: timer delta: 1624 ' |
stream/semaphore.t | TEST 18: kill a thread that is waiting on another thread that is waiting on semaphore - pattern "[error]" should not match any line in error.log but matches line "2022/05/30 08:39:47 [error] 23380\#23380: *562 stream [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0) |
2022/05/30 08:39:47 [debug] 24002\#24002: epoll: fd:8 ev:0001 d:054DD5F4 2022/05/30 08:39:47 [debug] 24002\#24002: accept on 0.0.0.0:1984, ready: 0 2022/05/30 08:39:47 [debug] 24002\#24002: malloc: 05D121E8:24 2022/05/30 08:39:47 [debug] 24002\#24002: malloc: 05D1B1B0:16 2022/05/30 08:39:47 [debug] 24002\#24002: malloc: 05D1D620:8 2022/05/30 08:39:47 [debug] 24002\#24002: malloc: 05B615D8:40 2022/05/30 08:39:47 [debug] 24002\#24002: malloc: 05D1D9F8:8 2022/05/30 08:39:47 [debug] 24002\#24002: malloc: 05D26248:15 2022/05/30 08:39:47 [debug] 24002\#24002: malloc: 05D37FC0:8 ' |
stream/ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1) | |
stream/ssl.t | TEST 7: read raw server addr via ssl.raw_server_addr() (IPv6) - pattern "Using IPv6 address: 0.0.0.1" should match a line in error.log (req 1) | |
stream/ssl.t | TEST 14: ngx.semaphore in ssl_certificate_by_lua* - pattern "ssl cert by lua done" should match a line in error.log (req 1) | |
stream/ssl.t | TEST 23: verify client with CA certificates - pattern "client certificate subject: emailAddress=agentzh@gmail.com,CN=test.com" should match a line in error.log (req 0) | |
stream/ssl.t | TEST 25: verify client but client provides no certificate - pattern "client certificate subject: nil" should match a line in error.log (req 0) | |
stream/ssl.t | TEST 21: yield during doing handshake with client which uses low version OpenSSL - pattern "(?^:content_by_lua\(nginx\.conf:\d+\):\d+: CONNECTED)" should match a line in error.log (req 0) | |
stream/ssl.t | TEST 21: yield during doing handshake with client which uses low version OpenSSL - pattern "(?^:subject=/?C(?<eq>\s?=\s?)US(?<sep>/|,\s)ST\k<eq>California\k<sep>L\k<eq>San Francisco\k<sep>O\k<eq>OpenResty\k<sep>OU\k<eq>OpenResty\k<sep>CN\k<eq>test\.com\k<sep>emailAddress\k<eq>agentzh\@gmail\.com)" should match a line in error.log (req 0) | |
stream/ssl.t | TEST 24: verify client without CA certificates - pattern "client certificate subject: emailAddress=agentzh@gmail.com,CN=test.com" should match a line in error.log (req 0) | |
stream/time.t | TEST 1: ngx.now() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,3 @@ true >= 0.099: true -< 0.11: true +< 0.11: false ' |
stream/time.t | TEST 1: ngx.now() - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1,3 @@ true >= 0.099: true -< 0.11: true +< 0.11: false ' |
time.t | TEST 1: ngx.now() - response_body - response is expected (repeated req 0, req 0) |
@@ -1,3 +1,3 @@ true >= 0.099: true -< 0.11: true +< 0.11: false ' |
time.t | TEST 1: ngx.now() - response_body - response is expected (repeated req 1, req 0) |
@@ -1,3 +1,3 @@ true >= 0.099: true -< 0.11: true +< 0.11: false ' |
Go back to the index page.