luaevent/test/test.lua

changeset 0
f2e807614be9
child 2
01b3a96ae760
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/luaevent/test/test.lua	Sun Jun 10 16:01:26 2007 +0000
@@ -0,0 +1,34 @@
+-- Tests Copas with a simple Echo server
+--
+-- Run the test file and the connect to the server by telnet on the used port
+-- to stop the test just send the command "quit"
+
+require"luaevent"
+require"socket"
+local function echoHandler(skt)
+  while true do
+  print(skt)
+    local data,ret = luaevent.receive(skt, 10)
+    print("GOT: ", data, ret)
+    if data == "quit" or ret == 'closed' then
+      break
+    end
+    luaevent.send(skt, data)
+  end
+  print("DONE")
+end
+local function setupHook(thread)
+	if not thread then debug.sethook(function(event) print("TRACE >: ", debug.getinfo(2, 'n').name) end, 'c')
+	else debug.sethook(thread, function(event) print("TRACE ", thread,">: ", debug.getinfo(2, 'n').name) end, 'c') end
+end
+local server = assert(socket.bind("localhost", 20000))
+server:settimeout(0)
+setupHook()
+local coro = coroutine.create
+coroutine.create = function(...)
+	local ret = coro(...)
+	setupHook(ret)
+	return ret
+end
+luaevent.addserver(server, echoHandler)
+luaevent.loop()

mercurial