1# 2# Copyright OpenEmbedded Contributors 3# 4# SPDX-License-Identifier: MIT 5# 6 7# This test should cover https://bugzilla.yoctoproject.org/tr_show_case.cgi?case_id=284 8# testcase. Image under test must have meta-skeleton layer in bblayers and 9# IMAGE_INSTALL:append = " service" in local.conf 10from oeqa.runtime.case import OERuntimeTestCase 11from oeqa.core.decorator.depends import OETestDepends 12from oeqa.core.decorator.data import skipIfDataVar 13from oeqa.runtime.decorator.package import OEHasPackage 14 15class SkeletonBasicTest(OERuntimeTestCase): 16 17 @OETestDepends(['ssh.SSHTest.test_ssh']) 18 @OEHasPackage(['service']) 19 @skipIfDataVar('VIRTUAL-RUNTIME_init_manager', 'systemd', 20 'Not appropriate for systemd image') 21 def test_skeleton_availability(self): 22 status, output = self.target.run('ls /etc/init.d/skeleton') 23 msg = 'skeleton init script not found. Output:\n%s' % output 24 self.assertEqual(status, 0, msg=msg) 25 26 status, output = self.target.run('ls /usr/sbin/skeleton-test') 27 msg = 'skeleton-test not found. Output:\n%s' % output 28 self.assertEqual(status, 0, msg=msg) 29 30 @OETestDepends(['skeletoninit.SkeletonBasicTest.test_skeleton_availability']) 31 def test_skeleton_script(self): 32 output1 = self.target.run("/etc/init.d/skeleton start")[1] 33 cmd = '%s | grep [s]keleton-test' % self.tc.target_cmds['ps'] 34 status, output2 = self.target.run(cmd) 35 msg = ('Skeleton script could not be started:' 36 '\n%s\n%s' % (output1, output2)) 37 self.assertEqual(status, 0, msg=msg) 38