vibe-core/tests/vibe.core.core.1742.d
2017-04-15 00:04:08 +03:00

51 lines
806 B
D

/+ dub.sdl:
name "tests"
description "Semaphore hang"
dependency "vibe-core" path="../"
+/
module test;
import std.stdio;
import std.socket;
import std.datetime;
import std.functional;
import core.time;
import vibe.core.core;
import vibe.core.log;
import vibe.core.concurrency;
import vibe.core.connectionpool;
class Conn {}
void main()
{
auto g = new Generator!int({
auto t = runTask({});
t.join();
yield(2);
});
assert(!g.empty);
assert(g.front == 2);
g.popFront();
assert(g.empty);
runTask({
auto g2 = new Generator!int({
auto t = runTask({});
t.join();
yield(1);
});
assert(!g2.empty);
assert(g2.front == 1);
g2.popFront();
assert(g2.empty);
exitEventLoop();
});
setTimer(5.seconds, {
assert(false, "Test has hung.");
});
runApplication();
}