aboutsummaryrefslogtreecommitdiffstats
path: root/test/test.lua
diff options
context:
space:
mode:
Diffstat (limited to 'test/test.lua')
-rw-r--r--test/test.lua34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/test.lua b/test/test.lua
new file mode 100644
index 0000000..412857e
--- /dev/null
+++ b/test/test.lua
@@ -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 oldPrint = print
+print = function(...)
+ oldPrint("SRV", ...)
+end
+
+local function echoHandler(skt)
+ while true do
+ local data,ret = luaevent.receive(skt, 10)
+ --print("GOT: ", data, ret)
+ if data == "quit" or ret == 'closed' then
+ break
+ end
+ luaevent.send(skt, data)
+ collectgarbage()
+ end
+ skt:close()
+ --print("DONE")
+end
+local server = assert(socket.bind("localhost", 20000))
+server:settimeout(0)
+local coro = coroutine.create
+coroutine.create = function(...)
+ local ret = coro(...)
+ return ret
+end
+luaevent.addserver(server, echoHandler)
+luaevent.loop()