(This page was automatically generated by the tools in the opsboy project on 20:40:32 04-Nov-2016 GMT.)

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

Summary

Commit Testing Time Unexpected
Failures
Expected
Failures
Files Tests Elapsed Time
edd50590 2016-07-15 21:57:40 GMT 0 123 26 3574 382 sec

LuaJIT

LuaJIT 2.1.0-beta2, commit e6c3659

Compilation Errors

Unexpected Failures

(none)

Expected Failures

File Name Details
ocsp.t TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - pattern "failed to validate OCSP response: OCSP_basic_verify() failed" should match a line in error.log (req 0)
ocsp.t TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 14: fail to validate OCSP response - OCSP response signed by an unknown cert and the OCSP response does not contain the unknown cert - pattern "failed to validate OCSP response: OCSP_basic_verify() failed" should match a line in error.log (req 1)
ocsp.t TEST 11: fail to validate OCSP response - no issuer cert - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 11: fail to validate OCSP response - no issuer cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 11: fail to validate OCSP response - no issuer cert - pattern "failed to validate OCSP response: no issuer certificate in chain" should match a line in error.log (req 0)
ocsp.t TEST 11: fail to validate OCSP response - no issuer cert - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 11: fail to validate OCSP response - no issuer cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 11: fail to validate OCSP response - no issuer cert - pattern "failed to validate OCSP response: no issuer certificate in chain" should match a line in error.log (req 1)
ocsp.t TEST 8: create OCSP request (empty string cert chain) - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-failed to do SSL handshake: handshake failed
'
ocsp.t TEST 8: create OCSP request (empty string cert chain) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 8: create OCSP request (empty string cert chain) - pattern "failed to create OCSP request: d2i_X509_bio() failed" should match a line in error.log (req 0)
ocsp.t TEST 8: create OCSP request (empty string cert chain) - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-failed to do SSL handshake: handshake failed
'
ocsp.t TEST 8: create OCSP request (empty string cert chain) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 8: create OCSP request (empty string cert chain) - pattern "failed to create OCSP request: d2i_X509_bio() failed" should match a line in error.log (req 1)
ocsp.t TEST 9: create OCSP request (no issuer cert in the chain) - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 9: create OCSP request (no issuer cert in the chain) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 9: create OCSP request (no issuer cert in the chain) - pattern "failed to create OCSP request: no issuer certificate in chain" should match a line in error.log (req 0)
ocsp.t TEST 9: create OCSP request (no issuer cert in the chain) - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 9: create OCSP request (no issuer cert in the chain) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 9: create OCSP request (no issuer cert in the chain) - pattern "failed to create OCSP request: no issuer certificate in chain" should match a line in error.log (req 1)
ocsp.t TEST 1: get OCSP responder (good case) - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 1: get OCSP responder (good case) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 1: get OCSP responder (good case) - pattern "OCSP url found: http://127.0.0.1:8888/ocsp?foo=1," should match a line in error.log (req 0)
ocsp.t TEST 1: get OCSP responder (good case) - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 1: get OCSP responder (good case) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 1: get OCSP responder (good case) - pattern "OCSP url found: http://127.0.0.1:8888/ocsp?foo=1," should match a line in error.log (req 1)
ocsp.t TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - pattern "failed to get OCSP responder: issuer certificate not next to leaf" should match a line in error.log (req 0)
ocsp.t TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 4: get OCSP responder (issuer cert not next to the leaf cert) - pattern "failed to get OCSP responder: issuer certificate not next to leaf" should match a line in error.log (req 1)
ocsp.t TEST 16: good status req from client - pattern "[emerg]" should not match any line in error.log but matches line "2016/07/15 22:54:52 [emerg] 3364\#3364: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0)
ocsp.t TEST 5: get OCSP responder (truncated) - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 5: get OCSP responder (truncated) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 5: get OCSP responder (truncated) - pattern "OCSP url found: http:/," should match a line in error.log (req 0)
ocsp.t TEST 5: get OCSP responder (truncated) - pattern "still get an error: truncated" should match a line in error.log (req 0)
ocsp.t TEST 5: get OCSP responder (truncated) - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 5: get OCSP responder (truncated) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 5: get OCSP responder (truncated) - pattern "OCSP url found: http:/," should match a line in error.log (req 1)
ocsp.t TEST 5: get OCSP responder (truncated) - pattern "still get an error: truncated" should match a line in error.log (req 1)
ocsp.t TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "OCSP response validation ok" should match a line in error.log (req 0)
ocsp.t TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 13: validate OCSP response - OCSP response signed by an unknown cert and the OCSP response contains the unknown cert - pattern "OCSP response validation ok" should match a line in error.log (req 1)
ocsp.t TEST 17: no status req from client - pattern "[emerg]" should not match any line in error.log but matches line "2016/07/15 22:54:58 [emerg] 3364\#3364: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0)
ocsp.t TEST 12: validate good OCSP response - no certs in response - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 12: validate good OCSP response - no certs in response - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 12: validate good OCSP response - no certs in response - pattern "OCSP response validation ok" should match a line in error.log (req 0)
ocsp.t TEST 12: validate good OCSP response - no certs in response - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 12: validate good OCSP response - no certs in response - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 12: validate good OCSP response - no certs in response - pattern "OCSP response validation ok" should match a line in error.log (req 1)
ocsp.t TEST 10: validate good OCSP response - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 10: validate good OCSP response - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 10: validate good OCSP response - pattern "OCSP response validation ok" should match a line in error.log (req 0)
ocsp.t TEST 10: validate good OCSP response - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 10: validate good OCSP response - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 10: validate good OCSP response - pattern "OCSP response validation ok" should match a line in error.log (req 1)
ocsp.t TEST 2: get OCSP responder (not found) - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 2: get OCSP responder (not found) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 2: get OCSP responder (not found) - pattern "OCSP responder not found" should match a line in error.log (req 0)
ocsp.t TEST 2: get OCSP responder (not found) - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
'
ocsp.t TEST 2: get OCSP responder (not found) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 2: get OCSP responder (not found) - pattern "OCSP responder not found" should match a line in error.log (req 1)
ocsp.t TEST 15: fail to validate OCSP response - OCSP response returns revoked status - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-failed to do SSL handshake: handshake failed
'
ocsp.t TEST 15: fail to validate OCSP response - OCSP response returns revoked status - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ocsp.t TEST 15: fail to validate OCSP response - OCSP response returns revoked status - pattern "failed to validate OCSP response: certificate status "revoked" in the OCSP response" should match a line in error.log (req 0)
ocsp.t TEST 15: fail to validate OCSP response - OCSP response returns revoked status - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-failed to do SSL handshake: handshake failed
'
ocsp.t TEST 15: fail to validate OCSP response - OCSP response returns revoked status - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ocsp.t TEST 15: fail to validate OCSP response - OCSP response returns revoked status - pattern "failed to validate OCSP response: certificate status "revoked" in the OCSP response" should match a line in error.log (req 1)
re-sub.t ERROR: client socket timed out - TEST 5: replace template + submatches (exceeding buffers) '
re-sub.t TEST 5: replace template + submatches (exceeding buffers) - status code ok got: ''
expected: '200'
re-sub.t TEST 5: replace template + submatches (exceeding buffers) - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +0,0 @@
-s: [bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd[bc(c)]bd
-n: 2048
'
request.t TEST 7: ngx.req.start_time() - response_body - response is expected (repeated req 0, req 0) got: "true\x{0a}>= 0.099: true\x{0a}< 0.11: false\x{0a}"
length: 34
expected: "true\x{0a}>= 0.099: true\x{0a}< 0.11: true\x{0a}"
length: 33
strings begin to differ at char 29 (line 3 column 9)
semaphore.t TEST 9: semaphore in set_by_lua (wait is not allowed) - grep_error_log_out (req 1) @@ -1,2 +1,3 @@
sem: 1,
sem: API disabled in the context of set_by_lua*,
+sem: timeout,
'
semaphore.t TEST 30: main thread wait a light thread that is waiting on a semaphore - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 22:57:10 [error] 5390\#5390: [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0)
semaphore.t TEST 19: semaphore wait post in rewrite_by_lua - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 22:57:11 [error] 5390\#5390: [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0)
semaphore.t TEST 19: semaphore wait post in rewrite_by_lua - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 22:57:11 [error] 5390\#5390: [lua] init_worker_by_lua:18: sem: 6 times, context: ngx.timer" (req 0)
semaphore.t TEST 28: kill a thread that is waiting on another thread that is waiting on semaphore - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 22:57:12 [error] 5390\#5390: [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0)
semaphore.t TEST 26: kill a light thread that is waiting on a semaphore(no resource) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 22:57:13 [error] 5390\#5390: [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0)
semaphore.t TEST 13: semaphore in log_by_lua (wait not allowed) - grep_error_log_out (req 1) @@ -1,2 +1,3 @@
+sem: timeout,
sem: 1 while logging request,
sem: API disabled in the context of log_by_lua* while logging request,
'
semaphore.t TEST 27: kill a light thread that is waiting on a semaphore(after post) - pattern "[error]" should not match any line in error.log but matches line "2016/07/15 22:57:15 [error] 5390\#5390: [lua] init_worker_by_lua:14: sem: timeout, context: ngx.timer" (req 0)
shdict.t TEST 2: get an nonexistent key - response_body - response is expected (repeated req 0, req 0) got: "value type: number\x{0a}value: 266\x{0a}flags: nil\x{0a}"
length: 41
expected: "value type: nil\x{0a}value: nil\x{0a}flags: nil\x{0a}"
length: 38
strings begin to differ at char 14 (line 1 column 14)
shdict.t TEST 2: get an nonexistent key - response_body - response is expected (repeated req 1, req 0) got: "value type: number\x{0a}value: 266\x{0a}flags: nil\x{0a}"
length: 41
expected: "value type: nil\x{0a}value: nil\x{0a}flags: nil\x{0a}"
length: 38
strings begin to differ at char 14 (line 1 column 14)
ssl.t TEST 11: tls version - TLSv1 - pattern "[emerg]" should not match any line in error.log but matches line "2016/07/15 22:58:06 [emerg] 6224\#6224: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0)
ssl.t TEST 8: set DER cert chain - response_body - response is expected (repeated req 0, req 0) @@ -1,11 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
-sent http request: 56 bytes.
-received: HTTP/1.1 201 Created
-received: Server: nginx
-received: Content-Type: text/plain
-received: Content-Length: 4
-received: Connection: close
-received:
-received: foo
-close: 1 nil
'
ssl.t TEST 8: set DER cert chain - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ssl.t TEST 8: set DER cert chain - response_body - response is expected (repeated req 1, req 0) @@ -1,11 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
-sent http request: 56 bytes.
-received: HTTP/1.1 201 Created
-received: Server: nginx
-received: Content-Type: text/plain
-received: Content-Length: 4
-received: Connection: close
-received:
-received: foo
-close: 1 nil
'
ssl.t TEST 8: set DER cert chain - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ssl.t TEST 13: tls version - TLSv1.2 - pattern "[emerg]" should not match any line in error.log but matches line "2016/07/15 22:58:13 [emerg] 6224\#6224: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0)
ssl.t TEST 10: tls version - SSLv3 - pattern "[emerg]" should not match any line in error.log but matches line "2016/07/15 22:58:17 [emerg] 6224\#6224: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0)
ssl.t TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - response_body - response is expected (repeated req 0, req 0) @@ -1,11 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
-sent http request: 56 bytes.
-received: HTTP/1.1 201 Created
-received: Server: nginx
-received: Content-Type: text/plain
-received: Content-Length: 4
-received: Connection: close
-received:
-received: foo
-close: 1 nil
'
ssl.t TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ssl.t TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - pattern "(?^:Using unix socket file .*?nginx\.sock)" should match a line in error.log (req 0)
ssl.t TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - response_body - response is expected (repeated req 1, req 0) @@ -1,11 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
-sent http request: 56 bytes.
-received: HTTP/1.1 201 Created
-received: Server: nginx
-received: Content-Type: text/plain
-received: Content-Length: 4
-received: Connection: close
-received:
-received: foo
-close: 1 nil
'
ssl.t TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ssl.t TEST 5: read raw server addr via ssl.raw_server_addr() (unix domain socket) - pattern "(?^:Using unix socket file .*?nginx\.sock)" should match a line in error.log (req 1)
ssl.t TEST 19: parse PEM cert and key to cdata (bad priv key) - response_body - response is expected (repeated req 0, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-failed to do SSL handshake: handshake failed
'
ssl.t TEST 19: parse PEM cert and key to cdata (bad priv key) - pattern "(?^:\[error\] .*? failed to parse pem key: PEM_read_bio_PrivateKey\(\) failed)" should match a line in error.log (req 0)
ssl.t TEST 19: parse PEM cert and key to cdata (bad priv key) - pattern "[crit]" should not match any line in error.log but matches line "2016/07/15 22:58:25 [crit] 6484\#6484: *246 connect() to unix:/home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 0)
ssl.t TEST 19: parse PEM cert and key to cdata (bad priv key) - response_body - response is expected (repeated req 1, req 0) @@ -1,2 +1 @@
-connected: 1
+failed to connect: no such file or directory
-failed to do SSL handshake: handshake failed
'
ssl.t TEST 19: parse PEM cert and key to cdata (bad priv key) - pattern "(?^:\[error\] .*? failed to parse pem key: PEM_read_bio_PrivateKey\(\) failed)" should match a line in error.log (req 1)
ssl.t TEST 19: parse PEM cert and key to cdata (bad priv key) - pattern "[crit]" should not match any line in error.log but matches line "2016/07/15 22:58:25 [crit] 6484\#6484: *248 connect() to unix:/home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory), client: 127.0.0.1, server: localhost, request: \"GET /t HTTP/1.1\", host: \"localhost\"" (req 1)
ssl.t TEST 4: read SNI name via ssl.server_name() when no SNI name specified - response_body - response is expected (repeated req 0, req 0) @@ -1,11 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
-sent http request: 56 bytes.
-received: HTTP/1.1 201 Created
-received: Server: nginx
-received: Content-Type: text/plain
-received: Content-Length: 4
-received: Connection: close
-received:
-received: foo
-close: 1 nil
'
ssl.t TEST 4: read SNI name via ssl.server_name() when no SNI name specified - pattern "read SNI name from Lua: nil, type: nil" should match a line in error.log (req 0)
ssl.t TEST 4: read SNI name via ssl.server_name() when no SNI name specified - response_body - response is expected (repeated req 1, req 0) @@ -1,11 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
-sent http request: 56 bytes.
-received: HTTP/1.1 201 Created
-received: Server: nginx
-received: Content-Type: text/plain
-received: Content-Length: 4
-received: Connection: close
-received:
-received: foo
-close: 1 nil
'
ssl.t TEST 4: read SNI name via ssl.server_name() when no SNI name specified - pattern "read SNI name from Lua: nil, type: nil" should match a line in error.log (req 1)
ssl.t TEST 9: read PEM cert chain but set DER cert chain - response_body - response is expected (repeated req 0, req 0) @@ -1,11 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
-sent http request: 56 bytes.
-received: HTTP/1.1 201 Created
-received: Server: nginx
-received: Content-Type: text/plain
-received: Content-Length: 4
-received: Connection: close
-received:
-received: foo
-close: 1 nil
'
ssl.t TEST 9: read PEM cert chain but set DER cert chain - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ssl.t TEST 9: read PEM cert chain but set DER cert chain - response_body - response is expected (repeated req 1, req 0) @@ -1,11 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
-sent http request: 56 bytes.
-received: HTTP/1.1 201 Created
-received: Server: nginx
-received: Content-Type: text/plain
-received: Content-Length: 4
-received: Connection: close
-received:
-received: foo
-close: 1 nil
'
ssl.t TEST 9: read PEM cert chain but set DER cert chain - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ssl.t TEST 2: set DER cert and private key - response_body - response is expected (repeated req 0, req 0) @@ -1,11 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
-sent http request: 56 bytes.
-received: HTTP/1.1 201 Created
-received: Server: nginx
-received: Content-Type: text/plain
-received: Content-Length: 4
-received: Connection: close
-received:
-received: foo
-close: 1 nil
'
ssl.t TEST 2: set DER cert and private key - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 0)
ssl.t TEST 2: set DER cert and private key - response_body - response is expected (repeated req 1, req 0) @@ -1,11 +1 @@
-connected: 1
+failed to connect: no such file or directory
-ssl handshake: userdata
-sent http request: 56 bytes.
-received: HTTP/1.1 201 Created
-received: Server: nginx
-received: Content-Type: text/plain
-received: Content-Length: 4
-received: Connection: close
-received:
-received: foo
-close: 1 nil
'
ssl.t TEST 2: set DER cert and private key - pattern "lua ssl server name: "test.com"" should match a line in error.log (req 1)
ssl.t TEST 14: ngx.semaphore in ssl_certificate_by_lua* - pattern "[emerg]" should not match any line in error.log but matches line "2016/07/15 22:58:28 [emerg] 6224\#6224: unlink() /home/ec2-user/git/lua-resty-core/t/servroot/html/nginx.sock failed (2: No such file or directory)" (req 0)
time.t TEST 1: ngx.now() - response_body - response is expected (repeated req 0, req 0) @@ -1,3 +1,3 @@
true
>= 0.099: true
-< 0.11: true
+< 0.11: false
'

Warnings

Go back to the index page.