From: Leandro Lucarella Date: Wed, 13 Feb 2008 22:00:48 +0000 (-0200) Subject: Add a D-ish API test. X-Git-Tag: 0.1 X-Git-Url: https://git.llucax.com/software/ev.d.git/commitdiff_plain/1f71e78e1609bd6ecd125286459baf1b7785f764 Add a D-ish API test. Signed-off-by: Leandro Lucarella --- diff --git a/Makefile b/Makefile index ba9b462..ac564e9 100644 --- a/Makefile +++ b/Makefile @@ -9,19 +9,30 @@ DFLAGS += -funittest -fversion=UnitTest # Release #DFLAGS += -frelease -O3 -all: ctest +TARGETS = ctest dtest + +all: $(TARGETS) ctest.o: ctest.d ev/c.d gdc -c $(DFLAGS) ctest.d +dtest.o: dtest.d ev/c.d ev/d.d + gdc -c $(DFLAGS) dtest.d + ev/c.o: ev/c.d gdc -c -o ev/c.o $(DFLAGS) ev/c.d +ev/d.o: ev/d.d + gdc -c -o ev/d.o $(DFLAGS) ev/d.d + ctest: ctest.o ev/c.o gdc -o ctest -lev $(DFLAGS) ctest.o ev/c.o +dtest: dtest.o ev/c.o ev/d.o + gdc -o dtest -lev $(DFLAGS) dtest.o ev/c.o ev/d.o + clean: - $(RM) -v *.o ev/*.o ctest + $(RM) -v *.o ev/*.o $(TARGETS) .PHONY: clean all diff --git a/dtest.d b/dtest.d new file mode 100644 index 0000000..0eb7a35 --- /dev/null +++ b/dtest.d @@ -0,0 +1,41 @@ +/+ + + D Programming Language "bindings" to libev + + test program. + + + + Written by Leandro Lucarella (2008). + + + + Placed under BOLA license which is + + basically public domain. + + + +/ + +import std.stdio; +import ev.d; + +void main() +{ + auto iow = new Io(0, READ, + (Io w, int revents) + { + writefln("stdin ready"); + char[] ln = readln(); + writef("read %d bytes: %s", ln.length, ln); + w.stop; // just a syntax example + assert (w.loop !is null); + w.loop.unloop(Unloop.ALL); // leave all loop calls + } + ); + assert (iow.loop !is null); + iow.start; + auto timerw = new Timer(5.5, + (Timer w, int revents) + { + writefln("timeout, revents = ", revents); + w.loop.unloop(Unloop.ONE); // example syntax + } + ); + assert (timerw.loop !is null); + timerw.start; + loop.loop; +} +