Existing weston test available make sure that a process for weston-desktop-shell exist when image boot up.
Enhance weston tests by: - execute weston-info to make sure weston interface(s) are initialized - execute weston and make sure it can initialize a new wayland compositor [YOCTO# 10690] Signed-off-by: Yeoh Ee Peng <ee.peng.y...@intel.com> --- meta/lib/oeqa/runtime/cases/weston.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/meta/lib/oeqa/runtime/cases/weston.py b/meta/lib/oeqa/runtime/cases/weston.py index f32599a..f79ed64 100644 --- a/meta/lib/oeqa/runtime/cases/weston.py +++ b/meta/lib/oeqa/runtime/cases/weston.py @@ -6,6 +6,8 @@ from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends from oeqa.core.decorator.data import skipIfNotFeature from oeqa.runtime.decorator.package import OEHasPackage +import threading +import time class WestonTest(OERuntimeTestCase): @@ -17,3 +19,31 @@ class WestonTest(OERuntimeTestCase): msg = ('Weston does not appear to be running %s' % self.target.run(self.tc.target_cmds['ps'])[1]) self.assertEqual(status, 0, msg=msg) + + def get_weston_command(self, cmd): + return 'export XDG_RUNTIME_DIR=/run/user/0; export DISPLAY=:0; %s' % cmd + + def run_weston_init(self): + self.target.run(self.get_weston_command('weston')) + + @OEHasPackage(['weston']) + def test_weston_info(self): + status, output = self.target.run(self.get_weston_command('weston-info')) + self.assertEqual(status, 0, msg='weston-info error: %s' % output) + + @OEHasPackage(['weston']) + def test_weston_can_initialize_new_wayland_compositor(self): + status, output = self.target.run('pidof weston-desktop-shell') + self.assertEqual(status, 0, msg='Retrieve existing weston-desktop-shell processes error: %s' % output) + existing_wl_processes = output.split(" ") + + weston_thread = threading.Thread(target=self.run_weston_init) + weston_thread.start() + time.sleep(5) + status, output = self.target.run('pidof weston-desktop-shell') + self.assertEqual(status, 0, msg='Retrieve existing and new weston-desktop-shell processes error: %s' % output) + wl_processes = output.split(" ") + new_wl_processes = [x for x in wl_processes if x not in existing_wl_processes] + self.assertTrue(new_wl_processes, msg='Check new weston-desktop-shell processes error: %s' % new_wl_processes) + for wl in new_wl_processes: + self.target.run('kill -9 %s' % wl) -- 2.7.4
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#137192): https://lists.openembedded.org/g/openembedded-core/message/137192 Mute This Topic: https://lists.openembedded.org/mt/72982654/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-