Skip to content

Commit c7c58d7

Browse files
kang-hyucknamhyung
authored andcommitted
tests: fix t151 recv_runcmd test code.
wait for recv_cmd server to process record_cmd client's data. Fixed: #1578 recv runcmd run test need result (x86_64, aarch64) Signed-off-by: kang-hyuck <[email protected]>
1 parent 2f6302c commit c7c58d7

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

tests/t151_recv_runcmd.py

+9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#!/usr/bin/env python
22

3+
import select
34
import subprocess as sp
45

56
from runtest import TestBase
@@ -34,6 +35,9 @@ def prerun(self, timeout):
3435
self.pr_debug('prerun command: ' + ' '.join(recv_cmd))
3536
self.recv_p = sp.Popen(recv_cmd, stdout=sp.PIPE, stderr=sp.PIPE)
3637

38+
epolls = select.epoll()
39+
epolls.register(self.recv_p.stdout, select.EPOLLIN)
40+
3741
record_cmd = [TestBase.uftrace_cmd, 'record']
3842
record_cmd += TestBase.default_opt.split()
3943
record_cmd += ['--host', 'localhost', '--port', str(self.port)]
@@ -42,11 +46,16 @@ def prerun(self, timeout):
4246
record_cmd += ['t-' + self.name]
4347
self.pr_debug('prerun command: ' + ' '.join(record_cmd))
4448
sp.call(record_cmd, stderr=sp.PIPE)
49+
50+
epolls.poll(timeout=timeout)
51+
4552
self.recv_p.terminate()
4653

4754
out = self.recv_p.communicate()[0].decode(errors='ignore')
4855
self.file_p.write(out)
56+
self.file_p.flush()
4957
self.file_p.close()
58+
epolls.close()
5059

5160
return TestBase.TEST_SUCCESS
5261

0 commit comments

Comments
 (0)