support/testing: test_xen: fix runtime test
The test_xen.py runtime test, introduced in [1] and improved in [2], is calling a "stty raw" command, just after the emulated machine login, to avoid double-cooking the consoles. This double-cooking prevents the test controller to correctly get the command error codes. Buildroot commit [3] "support/testing: set date in emulated machine" introduced an invocation of the date command to set time on the emulated machine, just after the login. The returned error code is also checked. Since this commit [3], the test_xen runtime test is failing while attempting to set the date. This is because it is invoked before the test script executes this "stty raw" command. The need of executing a command just after the login, and just before we set the emulated machine date is very limited. It is almost specific to this test. So, rather than changing the test infrastructure, this commit simply moves this "stty raw" invocation from the runtime test script to a custom /etc/profile.d/stty-raw.sh file on target rootfs overlay, to do this call just at the login. Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/10000011350 [1]055f82ebbd[2]cd0ffd598c[3]cf8641b73eCc: Vincent Stehlé <vincent.stehle@laposte.net> Tested-by: Vincent Stehlé <vincent.stehle@laposte.net> Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
@@ -73,10 +73,6 @@ class TestXen(infra.basetest.BRTest):
|
||||
self.emulator.boot(arch="aarch64", options=qemu_opts)
|
||||
self.emulator.login()
|
||||
|
||||
# Avoid double-cooking the terminal, otherwise the test infrastructure
|
||||
# would not be able to retrieve e.g. return codes properly.
|
||||
self.assertRunOk("stty raw")
|
||||
|
||||
# Verify that we are indeed running under Xen.
|
||||
self.assertRunOk("xl info")
|
||||
|
||||
@@ -92,9 +88,6 @@ class TestXen(infra.basetest.BRTest):
|
||||
self.emulator.qemu.sendline("xl create -c /etc/xen/dom1.cfg")
|
||||
self.emulator.login()
|
||||
|
||||
# Avoid double-cooking the terminal for dom1, too.
|
||||
self.assertRunOk("stty raw")
|
||||
|
||||
# Check that we are not talking to dom0 anymore.
|
||||
uuid = self.get_dom_uuid()
|
||||
self.assertNotEqual(uuid, dom0_uuid, "Unexpected dom0 UUID")
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# Avoid double-cooking the terminal, otherwise the test infrastructure
|
||||
# would not be able to retrieve return codes properly.
|
||||
stty raw
|
||||
Reference in New Issue
Block a user