From 1f71e78e1609bd6ecd125286459baf1b7785f764 Mon Sep 17 00:00:00 2001 From: Leandro Lucarella Date: Wed, 13 Feb 2008 20:00:48 -0200 Subject: [PATCH] Add a D-ish API test. Signed-off-by: Leandro Lucarella --- Makefile | 15 +++++++++++++-- dtest.d | 41 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 dtest.d 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; +} + -- 2.43.0