aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/test.lua34
-rw-r--r--test/testClient.lua19
2 files changed, 53 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()
diff --git a/test/testClient.lua b/test/testClient.lua
new file mode 100644
index 0000000..fbbcf87
--- /dev/null
+++ b/test/testClient.lua
@@ -0,0 +1,19 @@
+require"luaevent"
+require"socket"
+local oldPrint = print
+print = function(...)
+ oldPrint("CLT", ...)
+end
+
+local function func()
+ print("ACTIVATED")
+ local sock = socket.tcp()
+ --sock:
+ sock = luaevent.wrap(sock)
+ print(assert(sock:connect("localhost", 20000)))
+ for i = 1, 100 do assert(sock:send("Greet me ")) assert(sock:receive(10)) collectgarbage() end
+end
+
+luaevent.addthread(func)
+
+luaevent.loop() \ No newline at end of file