Signed-off-by: Costin Constantin <costin.c.constan...@intel.com> --- meta/lib/oeqa/selftest/buildoptions.py | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-)
diff --git a/meta/lib/oeqa/selftest/buildoptions.py b/meta/lib/oeqa/selftest/buildoptions.py index 926ffe9..e48bd04 100644 --- a/meta/lib/oeqa/selftest/buildoptions.py +++ b/meta/lib/oeqa/selftest/buildoptions.py @@ -2,6 +2,10 @@ import unittest import os import logging import re +from time import sleep +import pexpect as p +import glob as g + from oeqa.selftest.base import oeSelfTest from oeqa.selftest.buildhistory import BuildhistoryBase @@ -119,8 +123,27 @@ class BuildhistoryTests(BuildhistoryBase): self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error) - - - - - +class BuildImagesTest(oeSelfTest): + @testcase(283) + def test_btrfs(self): + """ + This method is used to test the build of an image with btrfs file system. After building it, qemu is launched + and the test searches for the "login" keyword that it expects in order to consider an image as functional. + Please note that "runquemu" requires sudo access. In order to solve this please add to visudo (sudo visudo) + the following line: your_username ALL=NOPASSWD: ALL + The above setting was tested in Ubuntu + """ + self.add_command_to_tearDown('cleanup-workdir') + self.write_config("MACHINE = \"qemux86\"\nIMAGE_FSTYPES = \"btrfs\"\nKERNEL_FEATURES_append = \" cfg/fs/btrfs \"") + self.res = bitbake("core-image-sato").status + self.remove_config("MACHINE = \"qemux86\"\nIMAGE_FSTYPES = \"btrfs\"\nKERNEL_FEATURES_append = \" cfg/fs/btrfs \"") + self.assertEqual(self.res, 0, "\nbtrfs core-image-sato failed to build. Please check logs for further details.\n") + self.prc = p.spawn("runqemu qemux86 core-image-sato nographic") + try: + self.prc.expect("login", timeout=150) + self.prc.kill(9) + self.assertTrue(True, "couldn't start qemu") + except: + self.prc.kill(9) + self.log.error("It is possible that runquemu didn't start correctly. Add this line your_username ALL=NOPASSWD: ALL\nto your visudo") + self.assertTrue(False, "Couldn't start qemu") \ No newline at end of file -- 2.1.4 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core