(This page was automatically generated by the tools in the opsboy project on 19:48:17 30-Mar-2018 GMT.)

Detailed Test Report for ngx_lua in linux i386 (w)

Summary

Commit Testing Time Unexpected
Failures
Expected
Failures
Files Tests Elapsed Time
18b5de57 2017-12-04 23:14:28 GMT 0 351 193 19860 3191 sec

LuaJIT

LuaJIT 2.1.0-beta3, commit 39eff8e

Compilation Errors

Unexpected Failures

(none)

Expected Failures

File Name Details
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)'
005-exit.t TEST 22: exit 201 in header filter - status code ok got: ''
expected: '201'
005-exit.t TEST 23: exit both in header filter and content handler - status code ok got: ''
expected: '201'
005-exit.t TEST 24: exit 444 in header filter - status code ok got: ''
expected: '444'
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 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 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 5: subrequest + ignore - stap output expected @@ -1,3 +1,3 @@
terminate 1: fail
lua req cleanup
-delete thread 1
+delete thread 2
'
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 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 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 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 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/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 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 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 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/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 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 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 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 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 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 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 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/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 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-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 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 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-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 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 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 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 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 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 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 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-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 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 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 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 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 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 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-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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)$)'
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 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 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 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 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 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 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 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 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 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/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 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 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 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 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/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 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 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/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 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/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 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 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 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 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 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 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 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 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/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-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-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 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 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 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 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 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 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 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 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 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 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-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 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 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-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-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-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 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
'
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
'
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 "2017/12/04 23:45:47 [debug] 17071\#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 "2017/12/04 23:45:47 [debug] 17071\#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 "2017/12/04 23:45:50 [debug] 17080\#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 "2017/12/04 23:45:50 [debug] 17080\#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 "2017/12/04 23:45:51 [debug] 17080\#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)'
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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)?$)'
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 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 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 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 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 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 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 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 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 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 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 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
'
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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
'
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 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
'
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
'
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
'
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
'
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 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
'
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 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 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 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 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 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 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 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 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
'
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 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 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 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 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 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 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 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 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 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
'
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 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 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 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)$
)'
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 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 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 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 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 "2017/12/05 00:04:02 [warn] 17839\#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 "2017/12/05 00:04:03 [warn] 17839\#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 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 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 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
'
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 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 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 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 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 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
'
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 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 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 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 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 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 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 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 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 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 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
'
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 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 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 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
'
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 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 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 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 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 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 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
free request
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
'
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 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 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 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 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 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
+delete thread 3
terminate 1: ok
-delete thread 1
-terminate 2: ok
delete thread 2
+terminate 3: ok
+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 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 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 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 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 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 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 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 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 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
'
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 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 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 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 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 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 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 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 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 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 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 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
'
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 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
'
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
'
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
'
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 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 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
'
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
'
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
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
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.