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

43 lines
823 B
D
Raw Normal View History

2017-02-16 23:55:16 +00:00
/+ dub.sdl:
name "tests"
description "TCP disconnect task issue"
dependency "vibe-core" path="../"
versions "VibeDefaultMain"
+/
module test;
import vibe.core.core;
import vibe.core.net;
import core.time : msecs;
shared static this()
{
listenTCP(11375,(conn){
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();
});
runTask({
try {
auto conn = connectTCP("127.0.0.1", 11375);
conn.write("a");
conn.close();
} catch (Exception e) assert(false, e.msg);
try {
auto conn = connectTCP("127.0.0.1", 11375);
conn.close();
} catch (Exception e) assert(false, e.msg);
sleep(50.msecs);
exitEventLoop();
});
}