(This page was automatically generated by the tools in the opsboy project on 20:25:04 06-Feb-2019 GMT.)

Detailed Test Report for ngx_lua in linux i386 (w)

Summary

Commit Testing Time Unexpected
Failures
Expected
Failures
Files Tests Elapsed Time
91a0ad23 2018-04-15 17:46:04 GMT 9 357 194 19950 6511 sec

LuaJIT

LuaJIT 2.1.0-beta3, commit 617f118

OpenSSL

LuaJIT 1.1.0h 27 Mar 2018

Compilation Errors

Unexpected Failures

File Name Details
020-subrequest.t ERROR: client socket timed out - TEST 54: forwarding in-file request bodies to multiple subrequests (exceeding client_body_buffer_size) '
020-subrequest.t TEST 54: forwarding in-file request bodies to multiple subrequests (exceeding client_body_buffer_size) - status code ok got: ''
expected: '200'
020-subrequest.t TEST 54: forwarding in-file request bodies to multiple subrequests (exceeding client_body_buffer_size) - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +0,0 @@
-hello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello world
-hello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello world
'
020-subrequest.t ERROR: client socket timed out - TEST 54: forwarding in-file request bodies to multiple subrequests (exceeding client_body_buffer_size) '
020-subrequest.t TEST 54: forwarding in-file request bodies to multiple subrequests (exceeding client_body_buffer_size) - status code ok got: ''
expected: '200'
020-subrequest.t TEST 54: forwarding in-file request bodies to multiple subrequests (exceeding client_body_buffer_size) - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +0,0 @@
-hello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello world
-hello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello worldhello world
'
109-timer-hup.t TEST 7: HUP reload should abort pending timers (fuzz test) - grep_error_log_out (req 0) got: 'lua found 8189 pending timers
'
expected: 'lua found 8191 pending timers
'
109-timer-hup.t TEST 7: HUP reload should abort pending timers (fuzz test) - grep_error_log_out (req 1) got: 'lua found 8186 pending timers
'
expected: 'lua found 8191 pending timers
'
152-timer-every.t TEST 6: memory leak check - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1,2 @@
registered timer
-growth1 == growth2: true
+growth1 == growth2: false
'
Looks like you failed 1 test of 130.

Expected Failures

File Name Details
005-exit.t TEST 24: exit 444 in header filter - status code ok got: ''
expected: '444'
005-exit.t TEST 23: exit both in header filter and content handler - status code ok got: ''
expected: '201'
005-exit.t TEST 22: exit 201 in header filter - status code ok got: ''
expected: '201'
005-exit.t TEST 21: exit 403 in header filter - status code ok got: ''
expected: '403'
005-exit.t TEST 21: exit 403 in header filter - response_body_like - response is expected () ''
doesn't match '(?^s:403 Forbidden)'
005-exit.t TEST 21: exit 403 in header filter - status code ok got: ''
expected: '403'
005-exit.t TEST 21: exit 403 in header filter - response_body_like - response is expected () ''
doesn't match '(?^s:403 Forbidden)'
020-subrequest.t TEST 65: DELETE - stap output expected @@ -5,3 +5,186 @@
capture header filter
capture body filter
capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
+capture body filter
'
023-rewrite/client-abort.t TEST 3: sleep + ignore - stap output expected @@ -1,5 +1,5 @@
terminate 1: ok
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+delete thread 4
lua req cleanup
'
023-rewrite/client-abort.t TEST 17: ngx.req.socket + receive n < content-length + stop - stap output expected @@ -1,5 +1,5 @@
terminate 1: ok
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+delete thread 4
lua req cleanup
'
023-rewrite/client-abort.t TEST 22: exec to proxy + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
lua req cleanup
-delete thread 1
+delete thread 2
'
023-rewrite/client-abort.t TEST 21: exec to lua + ignore - stap output expected @@ -1,6 +1,6 @@
terminate 1: ok
lua req cleanup
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+delete thread 4
lua req cleanup
'
023-rewrite/client-abort.t TEST 23: exec (named location) to proxy + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
lua req cleanup
-delete thread 1
+delete thread 2
'
023-rewrite/client-abort.t TEST 20: ngx.req.read_body + sleep + stop (log handler still gets called) - stap output expected @@ -1,5 +1,5 @@
terminate 1: ok
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+delete thread 4
lua req cleanup
'
023-rewrite/client-abort.t TEST 19: ngx.req.socket + receive n == content-length + ignore - stap output expected @@ -1,5 +1,5 @@
terminate 1: ok
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+delete thread 4
lua req cleanup
'
023-rewrite/client-abort.t TEST 5: subrequest + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: fail
lua req cleanup
-delete thread 1
+delete thread 2
'
023-rewrite/on-abort.t TEST 5: ngx.exit(-1) with pending subrequest - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/on-abort.t TEST 10: ignore the client abort event in the user callback (uthread) - stap output expected @@ -1,13 +1,13 @@
create 2 in 1
create 3 in 1
-spawn user thread 3 in 1
+spawn user thread 4 in 1
terminate 1: ok
-delete thread 1
+delete thread 5
lua check broken conn
terminate 2: ok
-delete thread 2
+delete thread 6
terminate 3: ok
-delete thread 3
-terminate 4: ok
delete thread 4
+terminate 7: ok
+delete thread 8
lua req cleanup
'
023-rewrite/on-abort.t TEST 7: accessing cosocket in callback - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/on-abort.t TEST 9: regsiter on_abort callback but no client abortion - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
lua req cleanup
-delete thread 2
+delete thread 4
'
023-rewrite/on-abort.t TEST 2: abort in the user callback - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/on-abort.t TEST 3: ngx.exit(499) with pending subrequest - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/on-abort.t TEST 6: ngx.exit(0) with pending subrequest - stap output should match the pattern 'create 2 in 1
lua check broken conn
terminate 2: fail
terminate 1: ok
delete thread 3
delete thread 4
terminate 5: ok
delete thread 6
lua req cleanup
'
doesn't match '(?^:^create 2 in 1
lua check broken conn
terminate 2: fail
(?:lua check broken conn
)?terminate 1: ok
delete thread 2
delete thread 1
terminate 3: ok
delete thread 3
lua req cleanup
$)'
023-rewrite/on-abort.t TEST 1: ignore the client abort event in the user callback - stap output expected @@ -2,8 +2,8 @@
lua check broken conn
terminate 2: ok
terminate 1: ok
-delete thread 2
-delete thread 1
-terminate 3: ok
delete thread 3
+delete thread 4
+terminate 5: ok
+delete thread 6
lua req cleanup
'
023-rewrite/on-abort.t TEST 8: ignore the client abort event in the user callback (no check) - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
-delete thread 1
+delete thread 2
lua req cleanup
'
023-rewrite/on-abort.t TEST 11: abort in the user callback (uthread) - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
create 3 in 1
-spawn user thread 3 in 1
+spawn user thread 4 in 1
terminate 1: ok
-delete thread 1
+delete thread 5
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 6
-delete thread 3
+delete thread 4
'
023-rewrite/on-abort.t TEST 12: regsiter on_abort callback but no client abortion (uthread) - stap output expected @@ -1,9 +1,9 @@
create 2 in 1
create 3 in 1
-spawn user thread 3 in 1
+spawn user thread 4 in 1
terminate 1: ok
-delete thread 1
+delete thread 5
terminate 3: ok
-delete thread 3
+delete thread 4
lua req cleanup
-delete thread 2
+delete thread 6
'
023-rewrite/on-abort.t TEST 13: regsiter on_abort callback multiple times - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
lua req cleanup
-delete thread 2
+delete thread 4
'
023-rewrite/on-abort.t TEST 4: ngx.exit(408) with pending subrequest - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/req-socket.t TEST 7: Expect & 100 Continue - status code ok got: '200'
expected: '100'
023-rewrite/req-socket.t TEST 7: Expect & 100 Continue - response_body_like - response is expected (failed to get the request socket: test expect failed) 'failed to get the request socket: test expect failed
'
doesn't match '(?^s:\breceived: hello\b.*?\breceived: worl\b)'
023-rewrite/req-socket.t TEST 7: Expect & 100 Continue - status code ok got: '200'
expected: '100'
023-rewrite/req-socket.t TEST 7: Expect & 100 Continue - response_body_like - response is expected (failed to get the request socket: test expect failed) 'failed to get the request socket: test expect failed
'
doesn't match '(?^s:\breceived: hello\b.*?\breceived: worl\b)'
023-rewrite/uthread-exec.t TEST 4: exec in a user thread (another user thread is still pending on ngx.sleep) - stap output expected @@ -1,15 +1,14 @@
create 2 in 1
-spawn user thread 2 in 1
-add timer 100
-create 3 in 1
spawn user thread 3 in 1
+add timer 100
+create 4 in 1
+spawn user thread 5 in 1
add timer 1000
terminate 1: ok
-delete thread 1
-expire timer 100
+delete thread 6
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 3
+delete thread 5
free request
'
023-rewrite/uthread-exec.t TEST 1: exec in user thread (entry still pending) - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/uthread-exec.t TEST 2: exec in user thread (entry already quits) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
023-rewrite/uthread-exec.t TEST 3: exec in user thread (entry thread is still pending on ngx.sleep) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 1000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 1
+delete thread 4
free request
'
023-rewrite/uthread-exec.t TEST 5: exec in user thread (entry thread is still pending on ngx.location.capture), without pending output - stap output expected @@ -1,11 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 5: exit in user thread (entry thread is still pending on the DNS resolver for ngx.socket.tcp) - stap output expected @@ -1,13 +1,12 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 1
resolver started
resolving agentzh.org
add timer 12000
-expire timer 1
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp resolve cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 4: exit in user thread (entry already quits) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
023-rewrite/uthread-exit.t TEST 13: exit in user thread (entry thread is still pending on ngx.location.capture), with pending output - stap output expected @@ -1,11 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 12: exit in user thread (entry thread is still pending on ngx.req.read_body) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua req body cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 14: exit in user thread (entry thread is still pending on ngx.location.capture), without pending output - stap output expected @@ -1,12 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
post subreq /sleep
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 8: exit in user thread (entry thread is still pending on tcpsock:receive) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 15: exit in user thread (entry thread is still pending on ngx.location.capture_multi), without pending output - stap output expected @@ -1,13 +1,11 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
post subreq /echo
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
post subreq /sleep
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 9: exit in user thread (entry thread is still pending on tcpsock:receiveuntil's iterator) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 10: exit in user thread (entry thread is still pending on udpsock:receive) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua udp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 11: exit in user thread (entry thread is still pending on reqsock:receive) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 3: exit in a user thread (another user thread is still pending on ngx.sleep) - stap output expected @@ -1,15 +1,14 @@
create 2 in 1
-spawn user thread 2 in 1
-add timer 100
-create 3 in 1
spawn user thread 3 in 1
+add timer 100
+create 4 in 1
+spawn user thread 5 in 1
add timer 1000
terminate 1: ok
-delete thread 1
-expire timer 100
+delete thread 6
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 3
+delete thread 5
free request
'
023-rewrite/uthread-exit.t TEST 6: exit in user thread (entry thread is still pending on the DNS resolver for ngx.socket.udp) - stap output expected @@ -1,13 +1,12 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 1
resolver started
resolving agentzh.org
add timer 12000
-expire timer 1
terminate 2: ok
-delete thread 2
+delete thread 3
lua udp resolve cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 1: exit in user thread (entry thread is still pending to run) - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/uthread-exit.t TEST 2: exit in user thread (entry thread is still pending on ngx.sleep) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 1000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 1
+delete thread 4
free request
'
023-rewrite/uthread-exit.t TEST 7: exit in user thread (entry thread is still pending on tcpsock:connect) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
023-rewrite/uthread-redirect.t TEST 1: ngx.redirect() in user thread (entry thread is still pending on ngx.location.capture_multi), without pending output - stap output expected @@ -1,13 +1,11 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
post subreq /echo
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
post subreq /sleep
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
023-rewrite/uthread-redirect.t TEST 2: redirect in user thread (entry thread is still pending on ngx.sleep) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 1000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 1
+delete thread 4
free request
'
023-rewrite/uthread-spawn.t TEST 17: manual time slicing between two user threads - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 1: ok
-delete thread 1
+delete thread 6
terminate 2: ok
-delete thread 2
-terminate 3: ok
delete thread 3
+terminate 4: ok
+delete thread 5
'
023-rewrite/uthread-spawn.t TEST 5: error in user thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: fail
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/uthread-spawn.t TEST 2: two simple user threads without I/O - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-terminate 2: ok
-create 3 in 1
spawn user thread 3 in 1
-terminate 3: ok
+terminate 2: ok
+create 4 in 1
+spawn user thread 5 in 1
+terminate 4: ok
terminate 1: ok
-delete thread 2
delete thread 3
-delete thread 1
+delete thread 5
+delete thread 6
'
023-rewrite/uthread-spawn.t TEST 25: multiple user threads + subrequests returning 404 remotely (no wait) - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 5 in 1
create 6 in 1
spawn user thread 7 in 1
create 8 in 1
spawn user thread 9 in 1
create a in 1
spawn user thread b in 1
terminate 1: ok
delete thread c
terminate 2: ok
delete thread 3
terminate 4: ok
delete thread 5
terminate 6: ok
delete thread 7
terminate 8: ok
delete thread 9
terminate 10: ok
delete thread b
'
doesn't match '(?^ms:^create 2 in 1
spawn user thread 2 in 1
create 3 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 4 in 1
create 5 in 1
spawn user thread 5 in 1
create 6 in 1
spawn user thread 6 in 1
terminate 1: ok
delete thread 1
(?:terminate 2: ok
delete thread 2
terminate 3: ok
delete thread 3
terminate 4: ok
delete thread 4
terminate 5: ok
delete thread 5
terminate 6: ok
delete thread 6|terminate 6: ok
delete thread 6
terminate 5: ok
delete thread 5
terminate 4: ok
delete thread 4
terminate 3: ok
delete thread 3
terminate 2: ok
delete thread 2)$)'
023-rewrite/uthread-spawn.t TEST 20: user threads + ngx.socket.tcp - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
023-rewrite/uthread-spawn.t TEST 8: simple user threads doing a single subrequest (entry also does a subrequest and quits late) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/uthread-spawn.t TEST 7: simple user threads doing a single subrequest (entry also does a subrequest and quits early) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
023-rewrite/uthread-spawn.t TEST 11: nested user threads (with I/O) - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 2
-spawn user thread 3 in 2
+spawn user thread 3 in 1
+create 4 in 2
+spawn user thread 5 in 2
terminate 1: ok
-delete thread 1
+delete thread 6
terminate 2: ok
-delete thread 2
-terminate 3: ok
delete thread 3
+terminate 4: ok
+delete thread 5
'
023-rewrite/uthread-spawn.t TEST 27: multiple user threads + subrequests returning 204 immediately - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 5 in 1
terminate 1: ok
delete thread 6
terminate 7: ok
delete thread 8
finalize request /proxy/1: rc:204 c:3 a:0
post subreq: /proxy/1 rc=204, status=204 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 3
terminate 9: ok
delete thread a
finalize request /proxy/2: rc:204 c:2 a:0
post subreq: /proxy/2 rc=204, status=204 a=0
subrequest /proxy/2 done
terminate 4: ok
delete thread 5
finalize request /t: rc:200 c:1 a:1
finalize request /t: rc:0 c:1 a:1
'
doesn't match '(?^ms:^create 2 in 1
spawn user thread 2 in 1
create 3 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 1
terminate 4: ok
delete thread 4
finalize request /proxy/1: rc:204 c:3 a:0
post subreq: /proxy/1 rc=204, status=204 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 2
terminate 5: ok
delete thread 5
finalize request /proxy/2: rc:204 c:2 a:0
post subreq: /proxy/2 rc=204, status=204 a=0
subrequest /proxy/2 done
terminate 3: ok
delete thread 3
finalize request /t: rc:200 c:1 a:1
(?:finalize request /t: rc:0 c:1 a:1)?$)'
023-rewrite/uthread-spawn.t TEST 12: coroutine status of a running user thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
023-rewrite/uthread-spawn.t TEST 1: simple user thread without I/O - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/uthread-spawn.t TEST 10: nested user threads - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 2
-spawn user thread 3 in 2
-terminate 3: ok
+spawn user thread 3 in 1
+create 4 in 2
+spawn user thread 5 in 2
+terminate 4: ok
terminate 1: ok
-delete thread 1
+delete thread 6
terminate 2: ok
+delete thread 5
delete thread 3
-delete thread 2
'
023-rewrite/uthread-spawn.t TEST 13: coroutine status of a dead user thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/uthread-spawn.t TEST 23: simple user thread with ngx.req.socket() - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
delete thread 3
delete thread 4
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
terminate 1: ok
delete thread 2
delete thread 1|create 2 in 1
spawn user thread 2 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2)$)'
023-rewrite/uthread-spawn.t TEST 3: simple user thread with sleep - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
023-rewrite/uthread-spawn.t TEST 24: multiple user threads + subrequests returning 404 immediately - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 5 in 1
terminate 1: ok
delete thread 6
finalize request /proxy/1: rc:404 c:3 a:0
post subreq: /proxy/1 rc=404, status=0 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 3
finalize request /proxy/2: rc:404 c:2 a:0
post subreq: /proxy/2 rc=404, status=0 a=0
subrequest /proxy/2 done
terminate 4: ok
delete thread 5
finalize request /t: rc:200 c:1 a:1
finalize request /t: rc:0 c:1 a:1
'
doesn't match '(?^ms:^create 2 in 1
spawn user thread 2 in 1
create 3 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 1
finalize request /proxy/1: rc:404 c:3 a:0
post subreq: /proxy/1 rc=404, status=0 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 2
finalize request /proxy/2: rc:404 c:2 a:0
post subreq: /proxy/2 rc=404, status=0 a=0
subrequest /proxy/2 done
terminate 3: ok
delete thread 3
finalize request /t: rc:200 c:1 a:1
(?:finalize request /t: rc:0 c:1 a:1)?$)'
023-rewrite/uthread-spawn.t TEST 16: manual time slicing between a user thread and the entry thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
023-rewrite/uthread-spawn.t TEST 14: coroutine status of a "normal" user thread - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 2
+spawn user thread 3 in 1
+create 4 in 2
terminate 1: ok
-delete thread 1
-terminate 3: ok
+delete thread 5
+terminate 4: ok
terminate 2: ok
-delete thread 2
+delete thread 3
'
023-rewrite/uthread-spawn.t TEST 18: entry thread and a user thread flushing at the same time - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
023-rewrite/uthread-spawn.t TEST 9: two simple user threads doing single subrequests (entry also does a subrequest and quits between) - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
-delete thread 1
-terminate 3: ok
delete thread 3
+delete thread 6
+terminate 4: ok
+delete thread 5
'
023-rewrite/uthread-spawn.t TEST 26: multiple user threads + subrequests returning 201 immediately - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 5 in 1
terminate 1: ok
delete thread 6
terminate 7: ok
delete thread 8
finalize request /proxy/1: rc:0 c:3 a:0
post subreq: /proxy/1 rc=0, status=201 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 3
terminate 9: ok
delete thread a
finalize request /proxy/2: rc:0 c:2 a:0
post subreq: /proxy/2 rc=0, status=201 a=0
subrequest /proxy/2 done
terminate 4: ok
delete thread 5
finalize request /t: rc:200 c:1 a:1
finalize request /t: rc:0 c:1 a:1
'
doesn't match '(?^ms:^create 2 in 1
spawn user thread 2 in 1
create 3 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 1
terminate 4: ok
delete thread 4
finalize request /proxy/1: rc:0 c:3 a:0
post subreq: /proxy/1 rc=0, status=201 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 2
terminate 5: ok
delete thread 5
finalize request /proxy/2: rc:0 c:2 a:0
post subreq: /proxy/2 rc=0, status=201 a=0
subrequest /proxy/2 done
terminate 3: ok
delete thread 3
finalize request /t: rc:200 c:1 a:1
(?:finalize request /t: rc:0 c:1 a:1)?$)'
023-rewrite/uthread-spawn.t TEST 19: two user threads flushing at the same time - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 5 in 1
terminate 1: ok
delete thread 6
terminate 2: ok
delete thread 3
terminate 4: ok
delete thread 5
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
create 3 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2
terminate 3: ok
delete thread 3|create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
create 3 in 1
spawn user thread 3 in 1
terminate 3: ok
terminate 1: ok
delete thread 2
delete thread 3
delete thread 1)$
)'
023-rewrite/uthread-spawn.t TEST 6: simple user threads doing a single subrequest (entry quits early) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
023-rewrite/uthread-spawn.t TEST 15: creating user threads in a user coroutine - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
create 3 in 2
-spawn user thread 3 in 2
+spawn user thread 4 in 2
terminate 3: ok
terminate 2: ok
-delete thread 3
+delete thread 4
terminate 1: ok
-delete thread 1
+delete thread 5
'
023-rewrite/uthread-spawn.t TEST 21: user threads + ngx.socket.udp - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 4
terminate 2: ok
delete thread 3
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2
|create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
terminate 1: ok
delete thread 2
delete thread 1)$)'
023-rewrite/uthread-spawn.t TEST 4: two simple user threads with sleep - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 1: ok
-delete thread 1
-terminate 3: ok
-delete thread 3
+delete thread 6
+terminate 4: ok
+delete thread 5
terminate 2: ok
-delete thread 2
+delete thread 3
'
023-rewrite/uthread-spawn.t TEST 22: simple user thread with ngx.req.read_body() - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
delete thread 3
delete thread 4
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
terminate 1: ok
delete thread 2
delete thread 1|create 2 in 1
spawn user thread 2 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2)$)'
024-access/client-abort.t TEST 21: exec to lua + ignore - stap output expected @@ -1,6 +1,6 @@
terminate 1: ok
lua req cleanup
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+delete thread 4
lua req cleanup
'
024-access/client-abort.t TEST 23: exec (named location) to proxy + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
lua req cleanup
-delete thread 1
+delete thread 2
'
024-access/client-abort.t TEST 5: subrequest + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: fail
lua req cleanup
-delete thread 1
+delete thread 2
'
024-access/client-abort.t TEST 3: sleep + ignore - stap output expected @@ -1,5 +1,5 @@
terminate 1: ok
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+delete thread 4
lua req cleanup
'
024-access/client-abort.t TEST 19: ngx.req.socket + receive n == content-length + ignore - stap output expected @@ -1,5 +1,5 @@
terminate 1: ok
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+delete thread 4
lua req cleanup
'
024-access/client-abort.t TEST 22: exec to proxy + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
lua req cleanup
-delete thread 1
+delete thread 2
'
024-access/client-abort.t TEST 17: ngx.req.socket + receive n < content-length + stop - stap output expected @@ -1,5 +1,5 @@
terminate 1: ok
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+delete thread 4
lua req cleanup
'
024-access/client-abort.t TEST 20: ngx.req.read_body + sleep + stop (log handler still gets called) - stap output expected @@ -1,5 +1,5 @@
terminate 1: ok
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+delete thread 4
lua req cleanup
'
024-access/on-abort.t TEST 13: regsiter on_abort callback multiple times - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
lua req cleanup
-delete thread 2
+delete thread 4
'
024-access/on-abort.t TEST 6: ngx.exit(0) with pending subrequest - stap output expected @@ -2,8 +2,8 @@
lua check broken conn
terminate 2: fail
terminate 1: ok
-delete thread 2
-delete thread 1
-terminate 3: ok
delete thread 3
+delete thread 4
+terminate 5: ok
+delete thread 6
lua req cleanup
'
024-access/on-abort.t TEST 1: ignore the client abort event in the user callback - stap output expected @@ -2,8 +2,8 @@
lua check broken conn
terminate 2: ok
terminate 1: ok
-delete thread 2
-delete thread 1
-terminate 3: ok
delete thread 3
+delete thread 4
+terminate 5: ok
+delete thread 6
lua req cleanup
'
024-access/on-abort.t TEST 12: regsiter on_abort callback but no client abortion (uthread) - stap output expected @@ -1,9 +1,9 @@
create 2 in 1
create 3 in 1
-spawn user thread 3 in 1
+spawn user thread 4 in 1
terminate 1: ok
-delete thread 1
+delete thread 5
terminate 3: ok
-delete thread 3
+delete thread 4
lua req cleanup
-delete thread 2
+delete thread 6
'
024-access/on-abort.t TEST 9: regsiter on_abort callback but no client abortion - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
lua req cleanup
-delete thread 2
+delete thread 4
'
024-access/on-abort.t TEST 4: ngx.exit(408) with pending subrequest - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
024-access/on-abort.t TEST 7: accessing cosocket in callback - stap output should match the pattern 'create 2 in 1
lua check broken conn
terminate 2: ok
lua req cleanup
delete thread 3
delete thread 4
'
doesn't match '(?^ms:^create 2 in 1
lua check broken conn
(?:lua check broken conn
)?terminate 2: ok
lua req cleanup
delete thread 2
delete thread 1
$)'
024-access/on-abort.t TEST 8: ignore the client abort event in the user callback (no check) - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
-delete thread 1
+delete thread 2
lua req cleanup
'
024-access/on-abort.t TEST 11: abort in the user callback (uthread) - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
create 3 in 1
-spawn user thread 3 in 1
+spawn user thread 4 in 1
terminate 1: ok
-delete thread 1
+delete thread 5
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 6
-delete thread 3
+delete thread 4
'
024-access/on-abort.t TEST 2: abort in the user callback - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
024-access/on-abort.t TEST 5: ngx.exit(-1) with pending subrequest - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
024-access/on-abort.t TEST 3: ngx.exit(499) with pending subrequest - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
024-access/on-abort.t TEST 10: ignore the client abort event in the user callback (uthread) - stap output expected @@ -1,13 +1,13 @@
create 2 in 1
create 3 in 1
-spawn user thread 3 in 1
+spawn user thread 4 in 1
terminate 1: ok
-delete thread 1
+delete thread 5
lua check broken conn
terminate 2: ok
-delete thread 2
+delete thread 6
terminate 3: ok
-delete thread 3
-terminate 4: ok
delete thread 4
+terminate 7: ok
+delete thread 8
lua req cleanup
'
024-access/uthread-exec.t TEST 1: exec in user thread (entry still pending) - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
024-access/uthread-exec.t TEST 3: exec in user thread (entry thread is still pending on ngx.sleep) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 1000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 1
+delete thread 4
free request
'
024-access/uthread-exec.t TEST 2: exec in user thread (entry already quits) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
024-access/uthread-exec.t TEST 4: exec in a user thread (another user thread is still pending on ngx.sleep) - stap output expected @@ -1,15 +1,14 @@
create 2 in 1
-spawn user thread 2 in 1
-add timer 100
-create 3 in 1
spawn user thread 3 in 1
+add timer 100
+create 4 in 1
+spawn user thread 5 in 1
add timer 1000
terminate 1: ok
-delete thread 1
-expire timer 100
+delete thread 6
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 3
+delete thread 5
free request
'
024-access/uthread-exec.t TEST 5: exec in user thread (entry thread is still pending on ngx.location.capture), without pending output - stap output expected @@ -1,11 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 4: exit in user thread (entry already quits) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
024-access/uthread-exit.t TEST 9: exit in user thread (entry thread is still pending on tcpsock:receiveuntil's iterator) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 2: exit in user thread (entry thread is still pending on ngx.sleep) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 1000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 1
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 12: exit in user thread (entry thread is still pending on ngx.req.read_body) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua req body cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 10: exit in user thread (entry thread is still pending on udpsock:receive) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua udp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 8: exit in user thread (entry thread is still pending on tcpsock:receive) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 13: exit in user thread (entry thread is still pending on ngx.location.capture), with pending output - stap output expected @@ -1,11 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 5: exit in user thread (entry thread is still pending on the DNS resolver for ngx.socket.tcp) - stap output expected @@ -1,12 +1,11 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 1
resolving agentzh.org
add timer 12000
-expire timer 1
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp resolve cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 6: exit in user thread (entry thread is still pending on the DNS resolver for ngx.socket.udp) - stap output expected @@ -1,12 +1,11 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 1
resolving agentzh.org
add timer 12000
-expire timer 1
terminate 2: ok
-delete thread 2
+delete thread 3
lua udp resolve cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 3: exit in a user thread (another user thread is still pending on ngx.sleep) - stap output expected @@ -1,15 +1,14 @@
create 2 in 1
-spawn user thread 2 in 1
-add timer 100
-create 3 in 1
spawn user thread 3 in 1
+add timer 100
+create 4 in 1
+spawn user thread 5 in 1
add timer 1000
terminate 1: ok
-delete thread 1
-expire timer 100
+delete thread 6
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 3
+delete thread 5
free request
'
024-access/uthread-exit.t TEST 14: exit in user thread (entry thread is still pending on ngx.location.capture), without pending output - stap output expected @@ -1,12 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
post subreq /sleep
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 11: exit in user thread (entry thread is still pending on reqsock:receive) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 15: exit in user thread (entry thread is still pending on ngx.location.capture_multi), without pending output - stap output expected @@ -1,13 +1,11 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
post subreq /echo
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
post subreq /sleep
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 7: exit in user thread (entry thread is still pending on tcpsock:connect) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
024-access/uthread-exit.t TEST 1: exit in user thread (entry thread is still pending to run) - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
024-access/uthread-redirect.t TEST 2: redirect in user thread (entry thread is still pending on ngx.sleep) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 1000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 1
+delete thread 4
free request
'
024-access/uthread-redirect.t TEST 1: ngx.redirect() in user thread (entry thread is still pending on ngx.location.capture_multi), without pending output - stap output expected @@ -1,13 +1,11 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
post subreq /echo
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
post subreq /sleep
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
024-access/uthread-spawn.t TEST 2: two simple user threads without I/O - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-terminate 2: ok
-create 3 in 1
spawn user thread 3 in 1
-terminate 3: ok
+terminate 2: ok
+create 4 in 1
+spawn user thread 5 in 1
+terminate 4: ok
terminate 1: ok
-delete thread 2
delete thread 3
-delete thread 1
+delete thread 5
+delete thread 6
'
024-access/uthread-spawn.t TEST 9: two simple user threads doing single subrequests (entry also does a subrequest and quits between) - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
-delete thread 1
-terminate 3: ok
delete thread 3
+delete thread 6
+terminate 4: ok
+delete thread 5
'
024-access/uthread-spawn.t TEST 11: nested user threads (with I/O) - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 2
-spawn user thread 3 in 2
+spawn user thread 3 in 1
+create 4 in 2
+spawn user thread 5 in 2
terminate 1: ok
-delete thread 1
+delete thread 6
terminate 2: ok
-delete thread 2
-terminate 3: ok
delete thread 3
+terminate 4: ok
+delete thread 5
'
024-access/uthread-spawn.t TEST 16: manual time slicing between a user thread and the entry thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
024-access/uthread-spawn.t TEST 23: simple user thread with ngx.req.socket() - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
delete thread 3
delete thread 4
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
terminate 1: ok
delete thread 2
delete thread 1|create 2 in 1
spawn user thread 2 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2)$)'
024-access/uthread-spawn.t TEST 20: user threads + ngx.socket.tcp - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
024-access/uthread-spawn.t TEST 21: user threads + ngx.socket.udp - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 4
terminate 2: ok
delete thread 3
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2
|create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
terminate 1: ok
delete thread 2
delete thread 1)$)'
024-access/uthread-spawn.t TEST 6: simple user threads doing a single subrequest (entry quits early) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
024-access/uthread-spawn.t TEST 22: simple user thread with ngx.req.read_body() - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
delete thread 3
delete thread 4
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
terminate 1: ok
delete thread 2
delete thread 1|create 2 in 1
spawn user thread 2 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2)$)'
024-access/uthread-spawn.t TEST 12: coroutine status of a running user thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
024-access/uthread-spawn.t TEST 3: simple user thread with sleep - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
024-access/uthread-spawn.t TEST 15: creating user threads in a user coroutine - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
create 3 in 2
-spawn user thread 3 in 2
+spawn user thread 4 in 2
terminate 3: ok
terminate 2: ok
-delete thread 3
+delete thread 4
terminate 1: ok
-delete thread 1
+delete thread 5
'
024-access/uthread-spawn.t TEST 19: two user threads flushing at the same time - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 5 in 1
terminate 1: ok
delete thread 6
terminate 2: ok
delete thread 3
terminate 4: ok
delete thread 5
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
create 3 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2
terminate 3: ok
delete thread 3|create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
create 3 in 1
spawn user thread 3 in 1
terminate 3: ok
terminate 1: ok
delete thread 2
delete thread 3
delete thread 1)$
)'
024-access/uthread-spawn.t TEST 1: simple user thread without I/O - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
024-access/uthread-spawn.t TEST 5: error in user thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: fail
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
024-access/uthread-spawn.t TEST 13: coroutine status of a dead user thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
024-access/uthread-spawn.t TEST 10: nested user threads - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 2
-spawn user thread 3 in 2
-terminate 3: ok
+spawn user thread 3 in 1
+create 4 in 2
+spawn user thread 5 in 2
+terminate 4: ok
terminate 1: ok
-delete thread 1
+delete thread 6
terminate 2: ok
+delete thread 5
delete thread 3
-delete thread 2
'
024-access/uthread-spawn.t TEST 18: entry thread and a user thread flushing at the same time - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
024-access/uthread-spawn.t TEST 8: simple user threads doing a single subrequest (entry also does a subrequest and quits late) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
024-access/uthread-spawn.t TEST 7: simple user threads doing a single subrequest (entry also does a subrequest and quits early) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
024-access/uthread-spawn.t TEST 4: two simple user threads with sleep - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 1: ok
-delete thread 1
-terminate 3: ok
-delete thread 3
+delete thread 6
+terminate 4: ok
+delete thread 5
terminate 2: ok
-delete thread 2
+delete thread 3
'
024-access/uthread-spawn.t TEST 14: coroutine status of a "normal" user thread - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 2
+spawn user thread 3 in 1
+create 4 in 2
terminate 1: ok
-delete thread 1
-terminate 3: ok
+delete thread 5
+terminate 4: ok
terminate 2: ok
-delete thread 2
+delete thread 3
'
024-access/uthread-spawn.t TEST 17: manual time slicing between two user threads - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 1: ok
-delete thread 1
+delete thread 6
terminate 2: ok
-delete thread 2
-terminate 3: ok
delete thread 3
+terminate 4: ok
+delete thread 5
'
025-codecache.t TEST 29: cosocket connection pool timeout (after Lua VM destroys) - pattern "(?^:\blua tcp socket keepalive: free connection pool [0-9A-F]+ for "127.0.0.1:)" should match a line in error.log (req 0)
025-codecache.t TEST 29: cosocket connection pool timeout (after Lua VM destroys) - pattern "lua tcp socket keepalive max idle timeout" should not match any line in error.log but matches line "2018/04/15 23:20:25 [debug] 16488\#0: lua tcp socket keepalive max idle timeout" (req 0)
025-codecache.t TEST 29: cosocket connection pool timeout (after Lua VM destroys) - pattern "(?^:\blua tcp socket keepalive: free connection pool [0-9A-F]+ for "127.0.0.1:)" should match a line in error.log (req 1)
025-codecache.t TEST 29: cosocket connection pool timeout (after Lua VM destroys) - pattern "lua tcp socket keepalive max idle timeout" should not match any line in error.log but matches line "2018/04/15 23:20:25 [debug] 16488\#0: lua tcp socket keepalive max idle timeout" (req 1)
025-codecache.t TEST 24: lua_max_pending_timers - chained timers (non-zero delay) - not exceeding - pattern "decrementing the reference count for Lua VM: 3" should not match any line in error.log but matches line "2018/04/15 23:20:43 [debug] 16509\#0: lua decrementing the reference count for Lua VM: 3" (req 0)
025-codecache.t TEST 24: lua_max_pending_timers - chained timers (non-zero delay) - not exceeding - pattern "decrementing the reference count for Lua VM: 3" should not match any line in error.log but matches line "2018/04/15 23:20:43 [debug] 16509\#0: lua decrementing the reference count for Lua VM: 3" (req 1)
025-codecache.t TEST 24: lua_max_pending_timers - chained timers (non-zero delay) - not exceeding - pattern "decrementing the reference count for Lua VM: 3" should not match any line in error.log but matches line "2018/04/15 23:20:44 [debug] 16509\#0: lua decrementing the reference count for Lua VM: 3" (req 1)
041-header-filter.t TEST 41: filter finalize - status code ok got: ''
expected: '302'
041-header-filter.t TEST 41: filter finalize - response_body_like - response is expected () ''
doesn't match '(?^s:302 Found)'
041-header-filter.t TEST 41: filter finalize - status code ok got: ''
expected: '302'
041-header-filter.t TEST 41: filter finalize - response_body_like - response is expected () ''
doesn't match '(?^s:302 Found)'
043-shdict.t nginx: [emerg] lua_shared_dict "dogs" is already defined as "dogs" in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:26
056-flush.t TEST 1: flush wait - content - pattern "lua reuse free buf chain, but reallocate memory because 5 >= 0" should match a line in error.log (req 0)
056-flush.t TEST 1: flush wait - content - pattern "lua reuse free buf chain, but reallocate memory because 5 >= 0" should match a line in error.log (req 1)
057-flush-timeout.t TEST 3: exit in user thread (entry thread is still pending on ngx.flush) - stap output expected @@ -1,13 +1,11 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua flush cleanup
delete timer 200
-delete thread 1
+delete thread 4
add timer 200
-expire timer 200
free request
'
065-tcp-socket-timeout.t TEST 16: exit in user thread (entry thread is still pending on tcpsock:send) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
067-req-socket.t TEST 7: Expect & 100 Continue - status code ok got: '200'
expected: '100'
067-req-socket.t TEST 7: Expect & 100 Continue - response_body_like - response is expected (failed to get the request socket: test expect failed) 'failed to get the request socket: test expect failed
'
doesn't match '(?^s:\breceived: hello\b.*?\breceived: worl\b)'
067-req-socket.t TEST 7: Expect & 100 Continue - status code ok got: '200'
expected: '100'
067-req-socket.t TEST 7: Expect & 100 Continue - response_body_like - response is expected (failed to get the request socket: test expect failed) 'failed to get the request socket: test expect failed
'
doesn't match '(?^s:\breceived: hello\b.*?\breceived: worl\b)'
067-req-socket.t TEST 14: successful reread after reading timeout happens (receive -> receive) - response_body - response is expected (repeated req 0, req 0) @@ -1,4 +1,4 @@
sent: 65
sent: 11
-received: err: timeout, partial: abc
+received: err: timeout, partial: abchello world
-received: received: hello world
+received: err: timeout, partial:
'
067-req-socket.t TEST 14: successful reread after reading timeout happens (receive -> receive) - response_body - response is expected (repeated req 1, req 0) @@ -1,4 +1,4 @@
sent: 65
sent: 11
-received: err: timeout, partial: abc
+received: err: timeout, partial: abchello world
-received: received: hello world
+received: err: timeout, partial:
'
067-req-socket.t TEST 15: successful reread after reading timeout happens (receive -> receiveuntil) - response_body - response is expected (repeated req 0, req 0) @@ -1,4 +1,4 @@
sent: 65
sent: 12
-received: err: timeout, partial: abc
+received: err: timeout, partial: abchello world
-received: received: hello world
+received:
'
067-req-socket.t TEST 15: successful reread after reading timeout happens (receive -> receiveuntil) - response_body - response is expected (repeated req 1, req 0) @@ -1,4 +1,4 @@
sent: 65
sent: 12
-received: err: timeout, partial: abc
+received: err: timeout, partial: abchello world
-received: received: hello world
+received:
'
067-req-socket.t TEST 16: successful reread after reading timeout happens (receiveuntil -> receive) - response_body - response is expected (repeated req 0, req 0) @@ -1,4 +1,4 @@
sent: 65
sent: 12
-received: err: timeout, partial: abc
+received: err: timeout, partial: abchello world
-received: received: hello world
+received:
'
067-req-socket.t TEST 16: successful reread after reading timeout happens (receiveuntil -> receive) - response_body - response is expected (repeated req 1, req 0) @@ -1,4 +1,4 @@
sent: 65
sent: 12
-received: err: timeout, partial: abc
+received: err: timeout, partial: abchello world
-received: received: hello world
+received:
'
072-conditional-get.t TEST 3: If-Unmodified-Since false - status code ok got: ''
expected: '412'
072-conditional-get.t TEST 3: If-Unmodified-Since false - response_body_like - response is expected () ''
doesn't match '(?^s:412 Precondition Failed)'
072-conditional-get.t TEST 3: If-Unmodified-Since false - stap output expected got: ""
length: 0
expected: "terminate 1: ok\x{0a}delete thread 1\x{0a}"
length: 32
strings begin to differ at char 1 (line 1 column 1)
072-conditional-get.t TEST 3: If-Unmodified-Since false - pattern "say failed: nginx output filter error" should match a line in error.log (req 0)
072-conditional-get.t TEST 3: If-Unmodified-Since false - Can't connect to 127.0.0.1:1984: Connection refused (aborted) '
072-conditional-get.t TEST 3: If-Unmodified-Since false - status code ok got: ''
expected: '412'
072-conditional-get.t TEST 3: If-Unmodified-Since false - response_body_like - response is expected () ''
doesn't match '(?^s:412 Precondition Failed)'
072-conditional-get.t TEST 3: If-Unmodified-Since false - stap output expected got: ""
length: 0
expected: "terminate 1: ok\x{0a}delete thread 1\x{0a}"
length: 32
strings begin to differ at char 1 (line 1 column 1)
072-conditional-get.t TEST 3: If-Unmodified-Since false - pattern "say failed: nginx output filter error" should match a line in error.log (req 1)
086-init-by.t nginx: [error] init_by_lua error: init_by_lua:2: failed to init
091-coroutine.t TEST 14: using ngx.exit in user coroutines - stap output expected @@ -1,11 +1,11 @@
create 2 in 1
resume 2 in 1
create 3 in 2
-yield 2 in 1
+yield 2 in 4
resume 2 in 1
resume 3 in 2
-yield 3 in 2
-yield 2 in 1
+yield 3 in 5
+yield 2 in 4
resume 2 in 1
resume 3 in 2
exit
'
091-coroutine.t TEST 15: using ngx.exec in user coroutines - stap output expected @@ -1,11 +1,11 @@
create 2 in 1
resume 2 in 1
create 3 in 2
-yield 2 in 1
+yield 2 in 4
resume 2 in 1
resume 3 in 2
-yield 3 in 2
-yield 2 in 1
+yield 3 in 5
+yield 2 in 4
resume 2 in 1
resume 3 in 2
exec
'
093-uthread-spawn.t TEST 5: error in user thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: fail
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
093-uthread-spawn.t TEST 7: simple user threads doing a single subrequest (entry also does a subrequest and quits early) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
093-uthread-spawn.t TEST 12: coroutine status of a running user thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
093-uthread-spawn.t TEST 10: nested user threads - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 2
-spawn user thread 3 in 2
-terminate 3: ok
+spawn user thread 3 in 1
+create 4 in 2
+spawn user thread 5 in 2
+terminate 4: ok
terminate 1: ok
-delete thread 1
+delete thread 6
terminate 2: ok
+delete thread 5
delete thread 3
-delete thread 2
'
093-uthread-spawn.t TEST 9: two simple user threads doing single subrequests (entry also does a subrequest and quits between) - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
-delete thread 1
-terminate 3: ok
delete thread 3
+delete thread 6
+terminate 4: ok
+delete thread 5
'
093-uthread-spawn.t TEST 22: simple user thread with ngx.req.read_body() - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
delete thread 3
delete thread 4
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
terminate 1: ok
delete thread 2
delete thread 1|create 2 in 1
spawn user thread 2 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2)$)'
093-uthread-spawn.t TEST 23: simple user thread with ngx.req.socket() - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
delete thread 3
delete thread 4
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
terminate 1: ok
delete thread 2
delete thread 1|create 2 in 1
spawn user thread 2 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2)$)'
093-uthread-spawn.t TEST 2: two simple user threads without I/O - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-terminate 2: ok
-create 3 in 1
spawn user thread 3 in 1
-terminate 3: ok
+terminate 2: ok
+create 4 in 1
+spawn user thread 5 in 1
+terminate 4: ok
terminate 1: ok
-delete thread 2
delete thread 3
-delete thread 1
+delete thread 5
+delete thread 6
'
093-uthread-spawn.t TEST 8: simple user threads doing a single subrequest (entry also does a subrequest and quits late) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
093-uthread-spawn.t TEST 24: simple user thread with args - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
093-uthread-spawn.t TEST 13: coroutine status of a dead user thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
093-uthread-spawn.t TEST 26: multiple user threads + subrequests returning 404 remotely (no wait) - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 5 in 1
create 6 in 1
spawn user thread 7 in 1
create 8 in 1
spawn user thread 9 in 1
create a in 1
spawn user thread b in 1
terminate 1: ok
delete thread c
terminate 2: ok
delete thread 3
terminate 4: ok
delete thread 5
terminate 6: ok
delete thread 7
terminate 8: ok
delete thread 9
terminate 10: ok
delete thread b
'
doesn't match '(?^ms:^create 2 in 1
spawn user thread 2 in 1
create 3 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 4 in 1
create 5 in 1
spawn user thread 5 in 1
create 6 in 1
spawn user thread 6 in 1
terminate 1: ok
delete thread 1
(?:terminate 2: ok
delete thread 2
terminate 3: ok
delete thread 3
terminate 4: ok
delete thread 4
terminate 5: ok
delete thread 5
terminate 6: ok
delete thread 6
|terminate 6: ok
delete thread 6
terminate 5: ok
delete thread 5
terminate 4: ok
delete thread 4
terminate 3: ok
delete thread 3
terminate 2: ok
delete thread 2)$)'
093-uthread-spawn.t TEST 28: multiple user threads + subrequests returning 204 immediately - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 5 in 1
terminate 1: ok
delete thread 6
finalize request /t: rc:-4 c:4 a:1
terminate 7: ok
delete thread 8
finalize request /proxy/1: rc:204 c:3 a:0
post subreq: /proxy/1 rc=204, status=204 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 3
terminate 9: ok
delete thread a
finalize request /proxy/2: rc:204 c:2 a:0
post subreq: /proxy/2 rc=204, status=204 a=0
subrequest /proxy/2 done
terminate 4: ok
delete thread 5
finalize request /t: rc:0 c:1 a:1
finalize request /t: rc:0 c:1 a:1
'
doesn't match '(?^ms:^create 2 in 1
spawn user thread 2 in 1
create 3 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 1
finalize request /t: rc:-4 c:4 a:1
terminate 4: ok
delete thread 4
finalize request /proxy/1: rc:204 c:3 a:0
post subreq: /proxy/1 rc=204, status=204 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 2
terminate 5: ok
delete thread 5
finalize request /proxy/2: rc:204 c:2 a:0
post subreq: /proxy/2 rc=204, status=204 a=0
subrequest /proxy/2 done
terminate 3: ok
delete thread 3
finalize request /t: rc:0 c:1 a:1
(?:finalize request /t: rc:0 c:1 a:1)?$)'
093-uthread-spawn.t TEST 11: nested user threads (with I/O) - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 2
-spawn user thread 3 in 2
+spawn user thread 3 in 1
+create 4 in 2
+spawn user thread 5 in 2
terminate 1: ok
-delete thread 1
+delete thread 6
terminate 2: ok
-delete thread 2
-terminate 3: ok
delete thread 3
+terminate 4: ok
+delete thread 5
'
093-uthread-spawn.t TEST 19: two user threads flushing at the same time - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 5 in 1
terminate 1: ok
delete thread 6
terminate 2: ok
delete thread 3
terminate 4: ok
delete thread 5
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
create 3 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2
terminate 3: ok
delete thread 3|create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
create 3 in 1
spawn user thread 3 in 1
terminate 3: ok
terminate 1: ok
delete thread 2
delete thread 3
delete thread 1)$
)'
093-uthread-spawn.t TEST 31: simple user thread without I/O - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
093-uthread-spawn.t TEST 14: coroutine status of a "normal" user thread - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 2
+spawn user thread 3 in 1
+create 4 in 2
terminate 1: ok
-delete thread 1
-terminate 3: ok
+delete thread 5
+terminate 4: ok
terminate 2: ok
-delete thread 2
+delete thread 3
'
093-uthread-spawn.t TEST 1: simple user thread without I/O - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
093-uthread-spawn.t TEST 6: simple user threads doing a single subrequest (entry quits early) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
093-uthread-spawn.t TEST 20: user threads + ngx.socket.tcp - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
093-uthread-spawn.t TEST 17: manual time slicing between two user threads - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 1: ok
-delete thread 1
+delete thread 6
terminate 2: ok
-delete thread 2
-terminate 3: ok
delete thread 3
+terminate 4: ok
+delete thread 5
'
093-uthread-spawn.t TEST 25: multiple user threads + subrequests returning 404 immediately - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 5 in 1
terminate 1: ok
delete thread 6
finalize request /t: rc:-4 c:4 a:1
finalize request /proxy/1: rc:404 c:3 a:0
post subreq: /proxy/1 rc=404, status=0 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 3
finalize request /proxy/2: rc:404 c:2 a:0
post subreq: /proxy/2 rc=404, status=0 a=0
subrequest /proxy/2 done
terminate 4: ok
delete thread 5
finalize request /t: rc:0 c:1 a:1
finalize request /t: rc:0 c:1 a:1
'
doesn't match '(?^ms:^create 2 in 1
spawn user thread 2 in 1
create 3 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 1
finalize request /t: rc:-4 c:4 a:1
finalize request /proxy/1: rc:404 c:3 a:0
post subreq: /proxy/1 rc=404, status=0 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 2
finalize request /proxy/2: rc:404 c:2 a:0
post subreq: /proxy/2 rc=404, status=0 a=0
subrequest /proxy/2 done
terminate 3: ok
delete thread 3
finalize request /t: rc:0 c:1 a:1
(?:finalize request /t: rc:0 c:1 a:1)?$)'
093-uthread-spawn.t TEST 4: two simple user threads with sleep - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 1: ok
-delete thread 1
-terminate 3: ok
-delete thread 3
+delete thread 6
+terminate 4: ok
+delete thread 5
terminate 2: ok
-delete thread 2
+delete thread 3
'
093-uthread-spawn.t TEST 15: creating user threads in a user coroutine - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
create 3 in 2
-spawn user thread 3 in 2
+spawn user thread 4 in 2
terminate 3: ok
terminate 2: ok
-delete thread 3
+delete thread 4
terminate 1: ok
-delete thread 1
+delete thread 5
'
093-uthread-spawn.t TEST 21: user threads + ngx.socket.udp - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 4
terminate 2: ok
delete thread 3
'
doesn't match '(?^ms:^(?:create 2 in 1
spawn user thread 2 in 1
terminate 1: ok
delete thread 1
terminate 2: ok
delete thread 2
|create 2 in 1
spawn user thread 2 in 1
terminate 2: ok
terminate 1: ok
delete thread 2
delete thread 1
)$)'
093-uthread-spawn.t TEST 3: simple user thread with sleep - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
093-uthread-spawn.t TEST 16: manual time slicing between a user thread and the entry thread - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
093-uthread-spawn.t TEST 18: entry thread and a user thread flushing at the same time - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
093-uthread-spawn.t TEST 27: multiple user threads + subrequests returning 201 immediately - stap output should match the pattern 'create 2 in 1
spawn user thread 3 in 1
create 4 in 1
spawn user thread 5 in 1
terminate 1: ok
delete thread 6
finalize request /t: rc:-4 c:4 a:1
terminate 7: ok
delete thread 8
finalize request /proxy/1: rc:0 c:3 a:0
post subreq: /proxy/1 rc=0, status=201 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 3
terminate 9: ok
delete thread a
finalize request /proxy/2: rc:0 c:2 a:0
post subreq: /proxy/2 rc=0, status=201 a=0
subrequest /proxy/2 done
terminate 4: ok
delete thread 5
finalize request /t: rc:0 c:1 a:1
finalize request /t: rc:0 c:1 a:1
'
doesn't match '(?^ms:^create 2 in 1
spawn user thread 2 in 1
create 3 in 1
spawn user thread 3 in 1
terminate 1: ok
delete thread 1
finalize request /t: rc:-4 c:4 a:1
terminate 4: ok
delete thread 4
finalize request /proxy/1: rc:0 c:3 a:0
post subreq: /proxy/1 rc=0, status=201 a=0
subrequest /proxy/1 done
terminate 2: ok
delete thread 2
terminate 5: ok
delete thread 5
finalize request /proxy/2: rc:0 c:2 a:0
post subreq: /proxy/2 rc=0, status=201 a=0
subrequest /proxy/2 done
terminate 3: ok
delete thread 3
finalize request /t: rc:0 c:1 a:1
(?:finalize request /t: rc:0 c:1 a:1)?$)'
094-uthread-exit.t TEST 12: exit in user thread (entry thread is still pending on ngx.req.read_body) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua req body cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
094-uthread-exit.t TEST 2: exit in user thread (entry thread is still pending on ngx.sleep) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 1000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 1
+delete thread 4
free request
'
094-uthread-exit.t TEST 18: exit(408) in user thread (entry thread is still pending on ngx.location.capture), with pending output - stap output expected @@ -1,10 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
delete timer 200
free request
'
094-uthread-exit.t TEST 9: exit in user thread (entry thread is still pending on tcpsock:receiveuntil's iterator) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
094-uthread-exit.t TEST 6: exit in user thread (entry thread is still pending on the DNS resolver for ngx.socket.udp) - stap output expected @@ -1,12 +1,11 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 1
resolving agentzh.org
add timer 12000
-expire timer 1
terminate 2: ok
-delete thread 2
+delete thread 3
lua udp resolve cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
094-uthread-exit.t TEST 11: exit in user thread (entry thread is still pending on reqsock:receive) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
094-uthread-exit.t TEST 16: exit in entry thread (user thread is still pending on ngx.location.capture_multi), without pending output - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
post subreq /echo
add timer 200
-expire timer 100
terminate 1: fail
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
delete timer 200
free request
'
094-uthread-exit.t TEST 1: exit in user thread (entry thread is still pending to run) - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
094-uthread-exit.t TEST 17: exit(444) in user thread (entry thread is still pending on ngx.location.capture), with pending output - stap output expected @@ -1,10 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
delete timer 200
free request
'
094-uthread-exit.t TEST 19: exit(499) in user thread (entry thread is still pending on ngx.location.capture), with pending output - stap output expected @@ -1,10 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
delete timer 200
free request
'
094-uthread-exit.t TEST 13: exit(0) in user thread (entry thread is still pending on ngx.location.capture), with pending output - stap output expected @@ -1,11 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
094-uthread-exit.t TEST 14: exit in user thread (entry thread is still pending on ngx.location.capture), without pending output - stap output expected @@ -1,12 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
post subreq /sleep
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
094-uthread-exit.t TEST 4: exit in user thread (entry already quits) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
094-uthread-exit.t TEST 15: exit in user thread (entry thread is still pending on ngx.location.capture_multi), without pending output - stap output expected @@ -1,13 +1,11 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
post subreq /echo
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
post subreq /sleep
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
094-uthread-exit.t TEST 3: exit in a user thread (another user thread is still pending on ngx.sleep) - stap output expected @@ -1,15 +1,14 @@
create 2 in 1
-spawn user thread 2 in 1
-add timer 100
-create 3 in 1
spawn user thread 3 in 1
+add timer 100
+create 4 in 1
+spawn user thread 5 in 1
add timer 1000
terminate 1: ok
-delete thread 1
-expire timer 100
+delete thread 6
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 3
+delete thread 5
free request
'
094-uthread-exit.t TEST 8: exit in user thread (entry thread is still pending on tcpsock:receive) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
094-uthread-exit.t TEST 10: exit in user thread (entry thread is still pending on udpsock:receive) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua udp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
094-uthread-exit.t TEST 5: exit in user thread (entry thread is still pending on the DNS resolver for ngx.socket.tcp) - stap output expected @@ -1,12 +1,11 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 1
resolving agentzh.org
add timer 12000
-expire timer 1
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp resolve cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
094-uthread-exit.t TEST 7: exit in user thread (entry thread is still pending on tcpsock:connect) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 12000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua tcp socket cleanup
delete timer 12000
-delete thread 1
+delete thread 4
free request
'
095-uthread-exec.t TEST 5: exec in user thread (entry thread is still pending on ngx.location.capture), without pending output - stap output expected @@ -1,11 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
095-uthread-exec.t TEST 2: exec in user thread (entry already quits) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
095-uthread-exec.t TEST 4: exec in a user thread (another user thread is still pending on ngx.sleep) - stap output expected @@ -1,15 +1,14 @@
create 2 in 1
-spawn user thread 2 in 1
-add timer 100
-create 3 in 1
spawn user thread 3 in 1
+add timer 100
+create 4 in 1
+spawn user thread 5 in 1
add timer 1000
terminate 1: ok
-delete thread 1
-expire timer 100
+delete thread 6
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 3
+delete thread 5
free request
'
095-uthread-exec.t TEST 6: exec in entry thread (user thread is still pending on ngx.location.capture), without pending output - stap output expected @@ -1,10 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 1: fail
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
delete timer 200
free request
'
095-uthread-exec.t TEST 1: exec in user thread (entry still pending) - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
095-uthread-exec.t TEST 3: exec in user thread (entry thread is still pending on ngx.sleep) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 1000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 1
+delete thread 4
free request
'
096-uthread-redirect.t TEST 3: ngx.redirect() in entry thread (user thread is still pending on ngx.location.capture_multi), without pending output - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
post subreq /echo
add timer 200
-expire timer 100
terminate 1: fail
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
delete timer 200
free request
'
096-uthread-redirect.t TEST 1: ngx.redirect() in user thread (entry thread is still pending on ngx.location.capture_multi), without pending output - stap output expected @@ -1,13 +1,11 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
post subreq /echo
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
post subreq /sleep
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
096-uthread-redirect.t TEST 2: redirect in user thread (entry thread is still pending on ngx.sleep) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 1000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 1
+delete thread 4
free request
'
097-uthread-rewrite.t TEST 1: rewrite in user thread (entry still pending) - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
097-uthread-rewrite.t TEST 3: rewrite in user thread (entry thread is still pending on ngx.sleep) - stap output expected @@ -1,11 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 1000
-expire timer 100
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 1
+delete thread 4
free request
'
097-uthread-rewrite.t TEST 5: rewrite in user thread (entry thread is still pending on ngx.location.capture), without pending output - stap output expected @@ -1,12 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
add timer 100
add timer 200
-expire timer 100
terminate 2: fail
-expire timer 200
post subreq /sleep
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
free request
'
097-uthread-rewrite.t TEST 2: rewrite in user thread (entry already quits) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 3
'
097-uthread-rewrite.t TEST 4: rewrite in a user thread (another user thread is still pending on ngx.sleep) - stap output expected @@ -1,15 +1,14 @@
create 2 in 1
-spawn user thread 2 in 1
-add timer 100
-create 3 in 1
spawn user thread 3 in 1
+add timer 100
+create 4 in 1
+spawn user thread 5 in 1
add timer 1000
terminate 1: ok
-delete thread 1
-expire timer 100
+delete thread 6
terminate 2: ok
-delete thread 2
+delete thread 3
lua sleep cleanup
delete timer 1000
-delete thread 3
+delete thread 5
free request
'
098-uthread-wait.t TEST 6: simple user thread wait with I/O, return multiple values - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
098-uthread-wait.t TEST 21: waiting on a dead coroutine - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
098-uthread-wait.t TEST 14: waiting on two simple user threads without I/O, both aborted by errors - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-terminate 2: fail
-create 3 in 1
spawn user thread 3 in 1
-terminate 3: fail
-delete thread 2
-terminate 1: ok
+terminate 2: fail
+create 4 in 1
+spawn user thread 5 in 1
+terminate 4: fail
delete thread 3
-delete thread 1
+terminate 1: ok
+delete thread 5
+delete thread 6
'
098-uthread-wait.t TEST 1: simple user thread wait without I/O - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
098-uthread-wait.t TEST 16: wait on uthreads on the exact order of their termination, but exit the world early - stap output expected @@ -1,9 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 2: ok
-delete thread 2
-terminate 1: ok
delete thread 3
-delete thread 1
+terminate 1: ok
+delete thread 5
+delete thread 6
'
098-uthread-wait.t TEST 4: wait on uthreads on the exact order of their termination - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 2: ok
-delete thread 2
-terminate 3: ok
delete thread 3
+terminate 4: ok
+delete thread 5
terminate 1: ok
-delete thread 1
+delete thread 6
'
098-uthread-wait.t TEST 3: wait on uthreads on the reversed order of their termination - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 2: ok
-terminate 3: ok
+terminate 4: ok
+delete thread 5
delete thread 3
-delete thread 2
terminate 1: ok
-delete thread 1
+delete thread 6
'
098-uthread-wait.t TEST 9: simple user thread wait without I/O (in a user coroutine) - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
create 3 in 2
-spawn user thread 3 in 2
+spawn user thread 4 in 2
terminate 3: ok
-delete thread 3
+delete thread 4
terminate 2: ok
terminate 1: ok
-delete thread 1
+delete thread 5
'
098-uthread-wait.t TEST 15: waiting on two simple user threads with I/O, both aborted by errors - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 2: fail
-delete thread 2
-terminate 1: ok
-delete thread 1
-terminate 3: fail
delete thread 3
+terminate 1: ok
+delete thread 6
+terminate 4: fail
+delete thread 5
'
098-uthread-wait.t TEST 10: simple user thread wait with I/O (in a user coroutine) - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
create 3 in 2
-spawn user thread 3 in 2
+spawn user thread 4 in 2
terminate 3: ok
-delete thread 3
+delete thread 4
terminate 2: ok
terminate 1: ok
-delete thread 1
+delete thread 5
'
098-uthread-wait.t TEST 7: simple user thread wait without I/O, throw errors - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: fail
-delete thread 2
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
098-uthread-wait.t TEST 11: waiting on two simple user threads without I/O - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-terminate 2: ok
-create 3 in 1
spawn user thread 3 in 1
-terminate 3: ok
-delete thread 2
-terminate 1: ok
+terminate 2: ok
+create 4 in 1
+spawn user thread 5 in 1
+terminate 4: ok
delete thread 3
-delete thread 1
+terminate 1: ok
+delete thread 5
+delete thread 6
'
098-uthread-wait.t TEST 20: lua backtrace dumper may access dead parent coroutines - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: fail
-delete thread 2
+delete thread 3
'
098-uthread-wait.t TEST 17: wait on uthreads on the reversed order of their termination, but exit the world early - stap output expected @@ -1,9 +1,9 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
-terminate 3: ok
-delete thread 3
+create 4 in 1
+spawn user thread 5 in 1
+terminate 4: ok
+delete thread 5
terminate 1: ok
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 6
'
098-uthread-wait.t TEST 8: simple user thread wait with I/O, throw errors - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: fail
-delete thread 2
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
098-uthread-wait.t TEST 19: entry coroutine waiting on a user coroutine - stap output expected @@ -1,3 +1,3 @@
create 2 in 1
terminate 1: fail
-delete thread 1
+delete thread 3
'
098-uthread-wait.t TEST 12: waiting on two simple user threads with I/O - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
+create 4 in 1
+spawn user thread 5 in 1
terminate 2: ok
-delete thread 2
-terminate 1: ok
-delete thread 1
-terminate 3: ok
delete thread 3
+terminate 1: ok
+delete thread 6
+terminate 4: ok
+delete thread 5
'
098-uthread-wait.t TEST 18: entry coroutine waiting on a thread not created by itself - stap output expected @@ -1,7 +1,7 @@
create 2 in 1
create 3 in 2
-spawn user thread 3 in 2
+spawn user thread 4 in 2
terminate 2: ok
terminate 1: fail
-delete thread 3
+delete thread 4
-delete thread 1
+delete thread 5
'
098-uthread-wait.t TEST 5: simple user thread wait without I/O (return multiple values) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
098-uthread-wait.t TEST 13: waiting on two simple user threads with I/O (uthreads completed in reversed order) - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
-spawn user thread 2 in 1
-create 3 in 1
spawn user thread 3 in 1
-terminate 3: ok
-delete thread 3
+create 4 in 1
+spawn user thread 5 in 1
+terminate 4: ok
+delete thread 5
terminate 1: ok
-delete thread 1
+delete thread 6
terminate 2: ok
-delete thread 2
+delete thread 3
'
098-uthread-wait.t TEST 2: simple user thread wait with I/O - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
100-client-abort.t TEST 22: exec to lua + ignore - stap output expected @@ -1,6 +1,6 @@
terminate 1: ok
lua req cleanup
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+delete thread 4
lua req cleanup
'
100-client-abort.t TEST 3: sleep + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
-delete thread 1
+delete thread 2
lua req cleanup
'
100-client-abort.t TEST 5: subrequest + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: fail
lua req cleanup
-delete thread 1
+delete thread 2
'
100-client-abort.t TEST 31: ngx.eof - pattern "eof failed: nginx output filter error" should match a line in error.log (req 0)
100-client-abort.t TEST 31: ngx.eof - pattern "eof succeeded" should not match any line in error.log but matches line "2018/04/15 23:58:01 [warn] 15169\#0: *1 [lua] content_by_lua(nginx.conf:49):8: eof succeeded, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0)
100-client-abort.t TEST 31: ngx.eof - pattern "eof failed: nginx output filter error" should match a line in error.log (req 1)
100-client-abort.t TEST 31: ngx.eof - pattern "eof succeeded" should not match any line in error.log but matches line "2018/04/15 23:58:02 [warn] 15169\#0: *2 [lua] content_by_lua(nginx.conf:49):8: eof succeeded, client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1)
100-client-abort.t TEST 20: ngx.req.socket + receive n == content-length + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
-delete thread 1
+delete thread 2
lua req cleanup
'
100-client-abort.t TEST 23: exec to proxy + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
lua req cleanup
-delete thread 1
+delete thread 2
'
100-client-abort.t TEST 27: ngx.say - pattern "say failed: nginx output filter error" should match a line in error.log (req 0)
100-client-abort.t TEST 27: ngx.say - pattern "say failed: nginx output filter error" should match a line in error.log (req 1)
100-client-abort.t TEST 24: exec (named location) to proxy + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
lua req cleanup
-delete thread 1
+delete thread 2
'
100-client-abort.t TEST 18: ngx.req.socket + receive n < content-length + stop - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
-delete thread 1
+delete thread 2
lua req cleanup
'
100-client-abort.t TEST 17: ngx.req.socket + receive n < content-length + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
-delete thread 1
+delete thread 2
lua req cleanup
'
100-client-abort.t TEST 28: ngx.print - pattern "print failed: nginx output filter error" should match a line in error.log (req 0)
100-client-abort.t TEST 28: ngx.print - pattern "print failed: nginx output filter error" should match a line in error.log (req 1)
100-client-abort.t TEST 26: sleep (default off) - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
-delete thread 1
+delete thread 2
lua req cleanup
'
100-client-abort.t TEST 19: ngx.req.socket + receive n == content-length + stop - stap output should match the pattern 'lua check broken conn
terminate 1: ok
delete thread 2
lua req cleanup
'
doesn't match '(?^ms:^(?:lua check broken conn
terminate 1: ok
delete thread 1
lua req cleanup|lua check broken conn
lua check broken conn
lua req cleanup
delete thread 1)$
)'
101-on-abort.t TEST 18: regsiter on_abort callback but no client abortion (2 uthreads and 1 pending) - stap output expected @@ -1,12 +1,12 @@
create 2 in 1
create 3 in 1
-spawn user thread 3 in 1
-create 4 in 1
spawn user thread 4 in 1
+create 5 in 1
+spawn user thread 6 in 1
terminate 1: ok
-delete thread 1
+delete thread 7
terminate 3: ok
lua req cleanup
-delete thread 2
-delete thread 3
+delete thread 8
delete thread 4
+delete thread 6
'
101-on-abort.t TEST 9: regsiter on_abort callback but no client abortion - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
lua req cleanup
-delete thread 2
+delete thread 4
'
101-on-abort.t TEST 16: abort with 408 in the user callback, but the header is already sent - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
101-on-abort.t TEST 5: ngx.exit(-1) with pending subrequest - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
101-on-abort.t TEST 7: accessing cosocket in callback - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
101-on-abort.t TEST 2: abort in the user callback - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
101-on-abort.t TEST 11: abort in the user callback (uthread) - stap output expected @@ -1,10 +1,10 @@
create 2 in 1
create 3 in 1
-spawn user thread 3 in 1
+spawn user thread 4 in 1
terminate 1: ok
-delete thread 1
+delete thread 5
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 6
-delete thread 3
+delete thread 4
'
101-on-abort.t TEST 12: regsiter on_abort callback but no client abortion (uthread) - stap output expected @@ -1,9 +1,9 @@
create 2 in 1
create 3 in 1
-spawn user thread 3 in 1
+spawn user thread 4 in 1
terminate 1: ok
-delete thread 1
+delete thread 5
terminate 3: ok
-delete thread 3
+delete thread 4
lua req cleanup
-delete thread 2
+delete thread 6
'
101-on-abort.t TEST 1: ignore the client abort event in the user callback - stap output should match the pattern 'create 2 in 1
lua check broken conn
terminate 2: ok
terminate 1: ok
delete thread 3
delete thread 4
lua req cleanup
'
doesn't match '(?^ms:^create 2 in 1
lua check broken conn
terminate 2: ok
(?:lua check broken conn
)?terminate 1: ok
delete thread 2
delete thread 1
lua req cleanup)'
101-on-abort.t TEST 14: abort with 499 in the user callback, but the header is already sent - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
101-on-abort.t TEST 4: ngx.exit(408) with pending subrequest - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
101-on-abort.t TEST 8: ignore the client abort event in the user callback (no check) - stap output expected @@ -1,3 +1,3 @@
terminate 1: ok
-delete thread 1
+delete thread 2
lua req cleanup
'
101-on-abort.t TEST 13: regsiter on_abort callback multiple times - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
lua req cleanup
-delete thread 2
+delete thread 4
'
101-on-abort.t TEST 6: ngx.exit(0) with pending subrequest - stap output expected @@ -2,6 +2,6 @@
lua check broken conn
terminate 2: fail
terminate 1: ok
-delete thread 2
-delete thread 1
+delete thread 3
+delete thread 4
lua req cleanup
'
101-on-abort.t TEST 10: ignore the client abort event in the user callback (uthread) - stap output expected @@ -1,11 +1,11 @@
create 2 in 1
create 3 in 1
-spawn user thread 3 in 1
+spawn user thread 4 in 1
terminate 1: ok
-delete thread 1
+delete thread 5
lua check broken conn
terminate 2: ok
-delete thread 2
+delete thread 6
terminate 3: ok
-delete thread 3
+delete thread 4
lua req cleanup
'
101-on-abort.t TEST 15: abort with 444 in the user callback, but the header is already sent - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
101-on-abort.t TEST 3: ngx.exit(499) with pending subrequest - stap output expected @@ -2,5 +2,5 @@
lua check broken conn
terminate 2: ok
lua req cleanup
-delete thread 2
+delete thread 3
-delete thread 1
+delete thread 4
'
106-timer.t TEST 23: lua_max_pending_timers - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
terminate 2: ok
-delete thread 2
+delete thread 4
'
106-timer.t TEST 13: tcp cosocket in timer handler (keep-alive connections) - set_by_lua - stap output expected @@ -1,3 +1,3 @@
create 2 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
'
106-timer.t TEST 28: lua_max_running_timers (just enough) - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
create 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 5
terminate 3: ok
-delete thread 3
+delete thread 6
'
106-timer.t TEST 20: chained timers (0 delay) - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
terminate 1: ok
-delete thread 1
-create 3 in 2
-terminate 2: ok
-delete thread 2
-terminate 3: ok
delete thread 3
+create 4 in 2
+terminate 2: ok
+delete thread 5
+terminate 4: ok
+delete thread 6
'
106-timer.t TEST 19: exit in user thread (entry thread is still pending on ngx.sleep) - stap output should match the pattern 'create 2 in 1
terminate 1: ok
delete thread 3
create 4 in 2
spawn user thread 5 in 2
add timer 100
add timer 1000
terminate 4: ok
delete thread 5
lua sleep cleanup
delete timer 1000
delete thread 6
free request
'
doesn't match '(?^ms:(?:create 2 in 1
terminate 1: ok
delete thread 1
free request
create 3 in 2
spawn user thread 3 in 2
add timer 100
add timer 1000
expire timer 100
terminate 3: ok
delete thread 3
lua sleep cleanup
delete timer 1000
delete thread 2|create 2 in 1
terminate 1: ok
delete thread 1
create 3 in 2
spawn user thread 3 in 2
add timer 100
add timer 1000
free request
expire timer 100
terminate 3: ok
delete thread 3
lua sleep cleanup
delete timer 1000
delete thread 2)$)'
106-timer.t TEST 30: user args - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
terminate 2: ok
-delete thread 2
+delete thread 4
'
106-timer.t TEST 21: chained timers (non-zero delay) - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
terminate 1: ok
-delete thread 1
-create 3 in 2
-terminate 2: ok
-delete thread 2
-terminate 3: ok
delete thread 3
+create 4 in 2
+terminate 2: ok
+delete thread 5
+terminate 4: ok
+delete thread 6
'
106-timer.t TEST 11: tcp cosocket in timer handler (keep-alive connections) - header_filter_by_lua - stap output expected @@ -1,3 +1,3 @@
create 2 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
'
106-timer.t TEST 8: udp cosocket in timer handler - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
terminate 2: ok
-delete thread 2
+delete thread 4
'
106-timer.t TEST 24: lua_max_pending_timers (just not exceeding) - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
create 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 5
terminate 3: ok
-delete thread 3
+delete thread 6
'
106-timer.t TEST 16: shared dict - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
terminate 2: ok
-delete thread 2
+delete thread 4
'
106-timer.t TEST 4: simple at (sleep in the timer callback) - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
terminate 2: ok
-delete thread 2
+delete thread 4
'
106-timer.t TEST 5: tcp cosocket in timer handler (short connections) - stap output expected @@ -1,7 +1,7 @@
create 2 in 1
terminate 1: ok
-delete thread 1
-terminate 1: ok
-delete thread 1
+delete thread 3
+terminate 4: ok
+delete thread 5
terminate 2: ok
-delete thread 2
+delete thread 6
'
106-timer.t TEST 7: 0 timer - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
terminate 2: ok
-delete thread 2
+delete thread 4
'
106-timer.t TEST 25: lua_max_pending_timers - chained timers (non-zero delay) - not exceeding - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
terminate 1: ok
-delete thread 1
-create 3 in 2
-terminate 2: ok
-delete thread 2
-terminate 3: ok
delete thread 3
+create 4 in 2
+terminate 2: ok
+delete thread 5
+terminate 4: ok
+delete thread 6
'
106-timer.t TEST 9: simple at (sleep in the timer callback) - log_by_lua - stap output expected @@ -1,3 +1,3 @@
create 2 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
'
106-timer.t TEST 10: tcp cosocket in timer handler (keep-alive connections) - log_by_lua - stap output expected @@ -1,3 +1,3 @@
create 2 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
'
106-timer.t TEST 6: tcp cosocket in timer handler (keep-alive connections) - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
terminate 2: ok
-delete thread 2
+delete thread 4
'
106-timer.t TEST 26: lua_max_pending_timers - chained timers (zero delay) - not exceeding - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
terminate 1: ok
-delete thread 1
-create 3 in 2
-terminate 2: ok
-delete thread 2
-terminate 3: ok
delete thread 3
+create 4 in 2
+terminate 2: ok
+delete thread 5
+terminate 4: ok
+delete thread 6
'
106-timer.t TEST 14: coroutine API - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
terminate 1: ok
-delete thread 1
-create 3 in 2
+delete thread 3
+create 4 in 2
terminate 2: ok
-delete thread 2
+delete thread 5
'
106-timer.t TEST 27: lua_max_running_timers (just not enough) - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
create 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 5
'
106-timer.t TEST 1: simple at - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
terminate 2: ok
-delete thread 2
+delete thread 4
'
106-timer.t TEST 22: multiple parallel timers - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
create 3 in 1
terminate 1: ok
-delete thread 1
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 5
terminate 3: ok
-delete thread 3
+delete thread 6
'
106-timer.t TEST 12: tcp cosocket in timer handler (keep-alive connections) - body_filter_by_lua - stap output should match the pattern 'create 2 in 1
create 3 in 1
terminate 2: ok
delete thread 4
terminate 3: ok
delete thread 5
'
doesn't match '(?^ms:create 2 in 1
create 3 in 1
(?:terminate 2: ok
delete thread 2
terminate 3: ok
delete thread 3
|terminate 3: ok
delete thread 3
terminate 2: ok
delete thread 2)$)'
106-timer.t TEST 15: ngx.thread API - stap output expected @@ -1,9 +1,9 @@
create 2 in 1
terminate 1: ok
-delete thread 1
-create 3 in 2
-spawn user thread 3 in 2
-terminate 3: ok
delete thread 3
+create 4 in 2
+spawn user thread 5 in 2
+terminate 4: ok
+delete thread 5
terminate 2: ok
-delete thread 2
+delete thread 6
'
106-timer.t TEST 29: lua_max_running_timers (just enough) - 2 - stap output expected @@ -1,11 +1,11 @@
create 2 in 1
create 3 in 1
terminate 1: ok
-delete thread 1
-create 4 in 3
+delete thread 4
+create 5 in 3
terminate 2: ok
-delete thread 2
+delete thread 6
terminate 3: ok
-delete thread 3
+delete thread 7
-terminate 4: ok
+terminate 5: ok
-delete thread 4
+delete thread 8
'
108-timer-safe.t TEST 14: shared dict - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
108-timer-safe.t TEST 13: ngx.thread API - stap output expected @@ -1,9 +1,9 @@
create 2 in 1
create 3 in 2
-spawn user thread 3 in 2
+spawn user thread 4 in 2
terminate 3: ok
-delete thread 3
+delete thread 4
terminate 2: ok
-delete thread 2
+delete thread 5
terminate 1: ok
-delete thread 1
+delete thread 6
'
108-timer-safe.t TEST 1: simple at - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
108-timer-safe.t TEST 7: simple at (sleep in the timer callback) - log_by_lua - stap output expected @@ -1,3 +1,3 @@
create 2 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
'
108-timer-safe.t TEST 17: exit in user thread (entry thread is still pending on ngx.sleep) - stap output expected @@ -1,14 +1,13 @@
create 2 in 1
create 3 in 2
-spawn user thread 3 in 2
+spawn user thread 4 in 2
add timer 100
add timer 1000
-expire timer 100
terminate 3: ok
-delete thread 3
+delete thread 4
lua sleep cleanup
delete timer 1000
-delete thread 2
+delete thread 5
terminate 1: ok
-delete thread 1
+delete thread 6
free request
'
108-timer-safe.t TEST 8: tcp cosocket in timer handler (keep-alive connections) - log_by_lua - stap output expected @@ -1,3 +1,3 @@
create 2 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
'
108-timer-safe.t TEST 5: 0 timer - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
terminate 2: ok
-delete thread 2
+delete thread 4
'
108-timer-safe.t TEST 2: simple at (sleep in the timer callback) - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 1: ok
-delete thread 1
+delete thread 3
terminate 2: ok
-delete thread 2
+delete thread 4
'
108-timer-safe.t TEST 9: tcp cosocket in timer handler (keep-alive connections) - header_filter_by_lua - stap output expected @@ -1,3 +1,3 @@
create 2 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
'
108-timer-safe.t TEST 10: tcp cosocket in timer handler (keep-alive connections) - body_filter_by_lua - stap output should match the pattern 'create 2 in 1
create 3 in 1
terminate 2: ok
delete thread 4
terminate 3: ok
delete thread 5
'
doesn't match '(?^ms:create 2 in 1
create 3 in 1
(?:terminate 2: ok
delete thread 2
terminate 3: ok
delete thread 3
|terminate 3: ok
delete thread 3
terminate 2: ok
delete thread 2)$)'
108-timer-safe.t TEST 11: tcp cosocket in timer handler (keep-alive connections) - set_by_lua - stap output expected @@ -1,3 +1,3 @@
create 2 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
'
108-timer-safe.t TEST 12: coroutine API - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
create 3 in 2
terminate 2: ok
-delete thread 2
+delete thread 4
terminate 1: ok
-delete thread 1
+delete thread 5
'
108-timer-safe.t TEST 18: chained timers (non-zero delay) - stap output expected @@ -1,8 +1,8 @@
create 2 in 1
create 3 in 2
terminate 2: ok
-delete thread 2
+delete thread 4
terminate 3: ok
-delete thread 3
+delete thread 5
terminate 1: ok
-delete thread 1
+delete thread 6
'
108-timer-safe.t TEST 6: udp cosocket in timer handler - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
126-shdict-frag.t TEST 7: merge big slabs (less than max slab size) backward - stap output expected @@ -2,8 +2,6 @@
init zone alloc pages: 1 ok
init zone alloc pages: 1 ok
alloc pages: 1 ok
-alloc pages: 1 ok
-free pages: 1
alloc pages: 2 NOT OK
free pages: 1
alloc pages: 2 ok
'
126-shdict-frag.t TEST 9: cannot merge in-used big slabs page (forward) - response_body - response is expected (repeated req 0, req 0) @@ -2,4 +2,4 @@
failed to safe set baz: no memory
found bar: 4000
delete bar
-failed to safe set baz: no memory
+successfully safe set baz
'
126-shdict-frag.t TEST 9: cannot merge in-used big slabs page (forward) - stap output expected @@ -2,7 +2,6 @@
init zone alloc pages: 1 ok
init zone alloc pages: 1 ok
alloc pages: 1 ok
-alloc pages: 1 ok
alloc pages: 2 NOT OK
free pages: 1
-alloc pages: 2 NOT OK
+alloc pages: 2 ok
'
127-uthread-kill.t TEST 2: already waited - stap output expected @@ -1,6 +1,6 @@
create 2 in 1
-spawn user thread 2 in 1
+spawn user thread 3 in 1
terminate 2: ok
-delete thread 2
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
127-uthread-kill.t TEST 4: kill pending connect - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
-spawn user thread 2 in 1
-delete thread 2
+spawn user thread 3 in 1
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
127-uthread-kill.t TEST 1: kill pending sleep - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
-spawn user thread 2 in 1
-delete thread 2
+spawn user thread 3 in 1
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
127-uthread-kill.t TEST 3: kill pending resolver - stap output expected @@ -1,5 +1,5 @@
create 2 in 1
-spawn user thread 2 in 1
-delete thread 2
+spawn user thread 3 in 1
+delete thread 3
terminate 1: ok
-delete thread 1
+delete thread 4
'
132-lua-blocks.t nginx: [emerg] Lua code block missing the closing long bracket "]]" in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:41
132-lua-blocks.t nginx: [emerg] Lua code block missing the closing long bracket "]==]" in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:41
132-lua-blocks.t nginx: [emerg] Lua code block missing the closing long bracket "]=]" in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:41
132-lua-blocks.t nginx: [emerg] "events" directive is not allowed here in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:56
142-ssl-session-store.t nginx: [emerg] "ssl_session_store_by_lua_block" directive is not allowed here in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:28
148-fake-shm-zone.t nginx: [emerg] lua_fake_shm "x1" is already defined as "x1" in /home/ec2-user/git/lua-nginx-module/t/servroot/conf/nginx.conf:26

Warnings

Go back to the index page.