summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorKevin Hao <kexin.hao@windriver.com>2019-06-06 15:11:47 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-06-07 09:11:48 +0100
commit720474ee8d83a403123d7b317f095d49a3ea3e0a (patch)
tree9d9dfd7ada55bb36e32663cb6d2dbb62a8a50f48 /meta/lib
parente5f2684d60025fbe205d1974ba89341d1d5408be (diff)
downloadpoky-720474ee8d83a403123d7b317f095d49a3ea3e0a.tar.gz
oeqa/utils/qemurunner: Set both the threadport&serverport with tcpserial parameter
After the commit ad522ea6a64e ("runqemu: Let qemuparams override default settings"), the order of the two "-serial" parameters when running the qemu have been switched. The effect of this is that the logging thread will use ttyS1 (of course can't capture the kernel boot message anymore), and the test command will run on the ttyS0. So the output of the test command may be mangled by the kernel message (such as call trace), and let the test command produce a fake timeout error message. We can't fix it by just adjusting the order of the threadport and serverport, since it will break some machines such as qemuarm64 which use the virtio serial. So using the tcpserial to setup both the threadport and serverport. [YOCTO Bug 13309] (From OE-Core rev: 9f2005dee41b1ef5a0d1f7b69bcd6c8352dac016) Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oeqa/utils/qemurunner.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index fd386ef5a2..6d2860c106 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -155,11 +155,11 @@ class QemuRunner:
155 # and analyze descendents in order to determine it. 155 # and analyze descendents in order to determine it.
156 if os.path.exists(self.qemu_pidfile): 156 if os.path.exists(self.qemu_pidfile):
157 os.remove(self.qemu_pidfile) 157 os.remove(self.qemu_pidfile)
158 self.qemuparams = 'bootparams="{0}" qemuparams="-serial tcp:127.0.0.1:{1} -pidfile {2}"'.format(bootparams, threadport, self.qemu_pidfile) 158 self.qemuparams = 'bootparams="{0}" qemuparams="-pidfile {1}"'.format(bootparams, self.qemu_pidfile)
159 if qemuparams: 159 if qemuparams:
160 self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"' 160 self.qemuparams = self.qemuparams[:-1] + " " + qemuparams + " " + '\"'
161 161
162 launch_cmd += ' tcpserial=%s %s' % (self.serverport, self.qemuparams) 162 launch_cmd += ' tcpserial=%s:%s %s' % (threadport, self.serverport, self.qemuparams)
163 163
164 self.origchldhandler = signal.getsignal(signal.SIGCHLD) 164 self.origchldhandler = signal.getsignal(signal.SIGCHLD)
165 signal.signal(signal.SIGCHLD, self.handleSIGCHLD) 165 signal.signal(signal.SIGCHLD, self.handleSIGCHLD)