The test builds a poky-tiny image, boots it in background and tries to comunicate with it via serial.
Signed-off-by: Lucian Musat <george.l.mu...@intel.com> --- meta/lib/oeqa/selftest/bbtests.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/meta/lib/oeqa/selftest/bbtests.py b/meta/lib/oeqa/selftest/bbtests.py index aeccbf5..6305550 100644 --- a/meta/lib/oeqa/selftest/bbtests.py +++ b/meta/lib/oeqa/selftest/bbtests.py @@ -3,6 +3,8 @@ import os import logging import re import shutil +import socket, select, signal, subprocess +import time import oeqa.utils.ftools as ftools from oeqa.selftest.base import oeSelfTest @@ -187,4 +189,31 @@ class BitbakeTests(oeSelfTest): self.assertEqual(result.status, 0) self.assertFalse(os.path.isfile(os.path.join(self.builddir, 'tmp/deploy/licenses/readline/generic_GPLv3'))) self.assertTrue(os.path.isfile(os.path.join(self.builddir, 'tmp/deploy/licenses/readline/generic_GPLv2'))) + ftools.remove_from_file(conf ,data) + + def test_boot_poky_tiny(self): + conf = os.path.join(self.builddir, 'conf/local.conf') + data = 'DISTRO = "poky-tiny"' + ftools.append_file(conf ,data) + bitbake('core-image-minimal') + result = runCmd('qemu-system-i386 -kernel tmp/deploy/images/qemux86/bzImage-qemux86.bin -initrd tmp/deploy/images/qemux86/core-image-minimal-qemux86.cpio.gz -append "root=/dev/ram0 console=ttyS0" -nographic -serial unix:console.sock,server,nowait', bg=True, shell=True) + qemupid = result.pid + time.sleep(30) + clientsocket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + clientsocket.connect('console.sock') + clientsocket.sendall('uname -r\n') + data = '' + stopread = False + endtime = time.time()+5 + while time.time()<endtime and not stopread: + sread, _, _ = select.select([clientsocket],[],[],5) + for sock in sread: + answer = sock.recv(1024) + if answer: + data += answer + else: + sock.close() + stopread = True + self.assertTrue("yocto-tiny" in data, msg="Cannot detect poky tiny boot!") + subprocess.call(['pkill', '-9', '-P', str(qemupid)]) ftools.remove_from_file(conf ,data) \ No newline at end of file -- 2.1.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core