(This page was automatically generated by the tools in the opsboy project on 03:17:24 31-May-2022 GMT.)

Detailed Test Report for lua-resty-core in linux i386 (hv)

Summary

Commit Testing Time Unexpected
Failures
Expected
Failures
Files Tests Elapsed Time
3c3d0786 2022-05-30 07:16:31 GMT 471 172 88 12232 4465 sec

LuaJIT

LuaJIT 2.1.0-beta3, commit 29a66f77

OpenSSL

OpenSSL 1.1.1n 15 Mar 2022

Compilation Errors

Unexpected Failures

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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
'
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.
re-sub.t TEST 5: replace template + submatches (exceeding buffers) '
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) '
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
'

Expected Failures

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 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-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 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 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
'

Warnings

Go back to the index page.