vibe-core/tests/vibe.core.net.1376.d

50 lines
951 B
D
Raw Permalink Normal View History

2017-02-16 23:55:16 +00:00
/+ dub.sdl:
name "tests"
description "TCP disconnect task issue"
dependency "vibe-core" path="../"
+/
module test;
import vibe.core.core;
import vibe.core.net;
import core.time : msecs;
void main()
2017-02-16 23:55:16 +00:00
{
2020-08-20 02:57:07 +00:00
auto l = listenTCP(0, (conn) @safe nothrow {
try {
auto td = runTask!TCPConnection((conn) {
ubyte [3] buf;
try {
conn.read(buf);
assert(false, "Expected read() to throw an exception.");
} catch (Exception) {} // expected
}, conn);
sleep(10.msecs);
conn.close();
}
catch (Exception e)
assert(0, e.msg);
}, "127.0.0.1");
2017-02-16 23:55:16 +00:00
runTask({
try {
auto conn = connectTCP("127.0.0.1", l.bindAddress.port);
2017-02-16 23:55:16 +00:00
conn.write("a");
conn.close();
} catch (Exception e) assert(false, e.msg);
try {
auto conn = connectTCP("127.0.0.1", l.bindAddress.port);
2017-02-16 23:55:16 +00:00
conn.close();
} catch (Exception e) assert(false, e.msg);
sleep(50.msecs);
exitEventLoop();
});
runApplication();
l.stopListening();
2017-02-16 23:55:16 +00:00
}