summaryrefslogtreecommitdiff
path: root/tests/modules
diff options
context:
space:
mode:
authorruki <[email protected]>2022-04-06 22:40:37 +0800
committerruki <[email protected]>2022-04-06 22:40:37 +0800
commit90ad0edfa8645b5b7044db79090ad90ac22a85a2 (patch)
tree0f24a012796c0235d4ce7b26376c2483e5f1030d /tests/modules
parentcc8c6dee305ab37f2ba18bbd4d04cc62ad0a9f2e (diff)
improve pipe read
Diffstat (limited to 'tests/modules')
-rw-r--r--tests/modules/pipe/echo_server.lua5
-rw-r--r--tests/modules/pipe/pipe_pair.lua4
-rw-r--r--tests/modules/pipe/sched_echo_server.lua4
-rw-r--r--tests/modules/pipe/sched_pipe_pair.lua4
-rw-r--r--tests/modules/process/sched_process_pipe.lua5
5 files changed, 15 insertions, 7 deletions
diff --git a/tests/modules/pipe/echo_server.lua b/tests/modules/pipe/echo_server.lua
index 9bf1cc8e2..aed624c5b 100644
--- a/tests/modules/pipe/echo_server.lua
+++ b/tests/modules/pipe/echo_server.lua
@@ -1,14 +1,15 @@
import("core.base.pipe")
+import("core.base.bytes")
function main(name)
-
+ local buff = bytes(8192)
local pipefile = pipe.open(name or "test", 'r')
if pipefile:connect() > 0 then
print("%s: connected", pipefile)
local count = 0
local result = nil
while count < 10000 do
- local read, data = pipefile:read(13, {block = true})
+ local read, data = pipefile:read(buff, 13, {block = true})
if read > 0 then
result = data
count = count + 1
diff --git a/tests/modules/pipe/pipe_pair.lua b/tests/modules/pipe/pipe_pair.lua
index de81a3133..f6b2cb5b1 100644
--- a/tests/modules/pipe/pipe_pair.lua
+++ b/tests/modules/pipe/pipe_pair.lua
@@ -1,9 +1,11 @@
import("core.base.pipe")
+import("core.base.bytes")
function main()
+ local buff = bytes(8192)
local rpipe, wpipe = pipe.openpair(4096)
wpipe:write("hello xmake!", {block = true})
- local read, data = rpipe:read(13)
+ local read, data = rpipe:read(buff, 13)
if read > 0 and data then
data:dump()
end
diff --git a/tests/modules/pipe/sched_echo_server.lua b/tests/modules/pipe/sched_echo_server.lua
index 6a89131d0..55d355ece 100644
--- a/tests/modules/pipe/sched_echo_server.lua
+++ b/tests/modules/pipe/sched_echo_server.lua
@@ -1,4 +1,5 @@
import("core.base.pipe")
+import("core.base.bytes")
import("core.base.scheduler")
function _session(id)
@@ -8,8 +9,9 @@ function _session(id)
print("%s/%d: connected", pipefile, id)
local count = 0
local result = nil
+ local buff = bytes(8192)
while count < 10000 do
- local read, data = pipefile:read(13, {block = true})
+ local read, data = pipefile:read(buff, 13, {block = true})
if read > 0 then
result = data
count = count + 1
diff --git a/tests/modules/pipe/sched_pipe_pair.lua b/tests/modules/pipe/sched_pipe_pair.lua
index 84a055cd9..be64d0011 100644
--- a/tests/modules/pipe/sched_pipe_pair.lua
+++ b/tests/modules/pipe/sched_pipe_pair.lua
@@ -1,11 +1,13 @@
import("core.base.pipe")
+import("core.base.bytes")
import("core.base.scheduler")
function _session_read(id, pipefile)
print("%s/%d: read ..", pipefile, id)
local result = nil
+ local buff = bytes(8192)
for i = 1, 10000 do
- local read, data = pipefile:read(12, {block = true})
+ local read, data = pipefile:read(buff, 12, {block = true})
if read > 0 and data then
result = data:str()
end
diff --git a/tests/modules/process/sched_process_pipe.lua b/tests/modules/process/sched_process_pipe.lua
index 02bf70a93..65bfb6cbe 100644
--- a/tests/modules/process/sched_process_pipe.lua
+++ b/tests/modules/process/sched_process_pipe.lua
@@ -5,12 +5,13 @@ import("core.base.scheduler")
function _session_read_pipe(id, rpipeopt)
local results = {}
+ local buff = bytes(8192)
local rpipe = rpipeopt.rpipe
print("%s/%d: read ..", rpipe, id)
while not rpipeopt.stop do
- local real, data = rpipe:read(8192)
+ local real, data = rpipe:read(buff, 8192)
if real > 0 then
- table.insert(results, bytes(data, 1, real))
+ table.insert(results, data:clone()) -- TODO
elseif real == 0 then
if rpipe:wait(pipe.EV_READ, -1) < 0 then
break