diff options
author | Diego Nehab <diego@tecgraf.puc-rio.br> | 2007-06-11 23:44:54 +0000 |
---|---|---|
committer | Diego Nehab <diego@tecgraf.puc-rio.br> | 2007-06-11 23:44:54 +0000 |
commit | 3cd10f5ab6cda5c4a8db829dd38f25168edcfc4a (patch) | |
tree | f0c49eb250f5375414025a9e7022261e729ad905 /test | |
parent | 3074a8f56b5153f4477e662453102583d7b6f539 (diff) | |
download | luasocket-3cd10f5ab6cda5c4a8db829dd38f25168edcfc4a.tar.gz luasocket-3cd10f5ab6cda5c4a8db829dd38f25168edcfc4a.tar.bz2 luasocket-3cd10f5ab6cda5c4a8db829dd38f25168edcfc4a.zip |
Crashy bug fixed in recvraw.
Also fixed returns on closed socket.
Diffstat (limited to 'test')
-rw-r--r-- | test/testclnt.lua | 61 | ||||
-rw-r--r-- | test/testmesg.lua | 2 |
2 files changed, 61 insertions, 2 deletions
diff --git a/test/testclnt.lua b/test/testclnt.lua index 304cfd3..2f4ffad 100644 --- a/test/testclnt.lua +++ b/test/testclnt.lua | |||
@@ -498,7 +498,63 @@ remote(string.format([[ | |||
498 | end | 498 | end |
499 | 499 | ||
500 | ------------------------------------------------------------------------ | 500 | ------------------------------------------------------------------------ |
501 | 501 | function test_readafterclose() | |
502 | local back, partial, err | ||
503 | local str = 'little string' | ||
504 | reconnect() | ||
505 | pass("trying repeated '*a' pattern") | ||
506 | remote (string.format ([[ | ||
507 | data:send('%s') | ||
508 | data:close() | ||
509 | data = nil | ||
510 | ]], str)) | ||
511 | back, err, partial = data:receive("*a") | ||
512 | assert(back == str, "unexpected data read") | ||
513 | back, err, partial = data:receive("*a") | ||
514 | assert(back == nil and err == "closed", "should have returned 'closed'") | ||
515 | print("ok") | ||
516 | reconnect() | ||
517 | pass("trying active close before '*a'") | ||
518 | remote (string.format ([[ | ||
519 | data:close() | ||
520 | data = nil | ||
521 | ]])) | ||
522 | data:close() | ||
523 | back, err, partial = data:receive("*a") | ||
524 | assert(back == nil and err == "closed", "should have returned 'closed'") | ||
525 | print("ok") | ||
526 | reconnect() | ||
527 | pass("trying active close before '*l'") | ||
528 | remote (string.format ([[ | ||
529 | data:close() | ||
530 | data = nil | ||
531 | ]])) | ||
532 | data:close() | ||
533 | back, err, partial = data:receive() | ||
534 | assert(back == nil and err == "closed", "should have returned 'closed'") | ||
535 | print("ok") | ||
536 | reconnect() | ||
537 | pass("trying active close before raw 1") | ||
538 | remote (string.format ([[ | ||
539 | data:close() | ||
540 | data = nil | ||
541 | ]])) | ||
542 | data:close() | ||
543 | back, err, partial = data:receive(1) | ||
544 | assert(back == nil and err == "closed", "should have returned 'closed'") | ||
545 | print("ok") | ||
546 | reconnect() | ||
547 | pass("trying active close before raw 0") | ||
548 | remote (string.format ([[ | ||
549 | data:close() | ||
550 | data = nil | ||
551 | ]])) | ||
552 | data:close() | ||
553 | back, err, partial = data:receive(0) | ||
554 | assert(back == nil and err == "closed", "should have returned 'closed'") | ||
555 | print("ok") | ||
556 | os.exit() | ||
557 | end | ||
502 | 558 | ||
503 | test("method registration") | 559 | test("method registration") |
504 | test_methods(socket.tcp(), { | 560 | test_methods(socket.tcp(), { |
@@ -541,6 +597,9 @@ test_methods(socket.udp(), { | |||
541 | "settimeout" | 597 | "settimeout" |
542 | }) | 598 | }) |
543 | 599 | ||
600 | test("testing read after close") | ||
601 | test_readafterclose() | ||
602 | |||
544 | test("select function") | 603 | test("select function") |
545 | test_selectbugs() | 604 | test_selectbugs() |
546 | 605 | ||
diff --git a/test/testmesg.lua b/test/testmesg.lua index 04305f4..580693b 100644 --- a/test/testmesg.lua +++ b/test/testmesg.lua | |||
@@ -62,7 +62,7 @@ source = smtp.message{ | |||
62 | headers = { | 62 | headers = { |
63 | ["ConTenT-tYpE"] = 'image/png; name="luasocket.png"', | 63 | ["ConTenT-tYpE"] = 'image/png; name="luasocket.png"', |
64 | ["content-disposition"] = 'attachment; filename="luasocket.png"', | 64 | ["content-disposition"] = 'attachment; filename="luasocket.png"', |
65 | ["content-description"] = 'a beautiful image', | 65 | ["content-description"] = 'our logo', |
66 | ["content-transfer-encoding"] = "BASE64" | 66 | ["content-transfer-encoding"] = "BASE64" |
67 | }, | 67 | }, |
68 | body = ltn12.source.chain( | 68 | body = ltn12.source.chain( |