lib/oeqa/runtime: add tests for syslog and df

Add tests for free space and syslog.

Changed in v2:
    - limit df's output to /
    - syslog: fix restart in case of systemd

(From OE-Core rev: 1b39d57e7b5c9b69d565cf4d188ebc2f14e66ae6)

Signed-off-by: Alexandru Palalau <alexandru.palalau@intel.com>
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexandru Palalau
2013-07-12 13:44:37 +03:00
committed by Richard Purdie
parent 7f57d3c524
commit 2079a30b1f
3 changed files with 52 additions and 2 deletions

View File

@@ -2,8 +2,8 @@ TEST_LOG_DIR ?= "${WORKDIR}/testimage"
DEFAULT_TEST_SUITES = "ping auto"
DEFAULT_TEST_SUITES_pn-core-image-minimal = "ping"
DEFAULT_TEST_SUITES_pn-core-image-sato = "ping ssh connman rpm smart xorg dmesg"
DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "ping ssh connman rpm smart gcc xorg dmesg"
DEFAULT_TEST_SUITES_pn-core-image-sato = "ping ssh connman df rpm smart xorg syslog dmesg"
DEFAULT_TEST_SUITES_pn-core-image-sato-sdk = "ping ssh connman df rpm smart gcc xorg syslog dmesg"
TEST_SUITES ?= "${DEFAULT_TEST_SUITES}"

View File

@@ -0,0 +1,13 @@
import unittest
from oeqa.oetest import oeRuntimeTest
from oeqa.utils.decorators import *
def setUpModule():
skipModuleUnless(oeRuntimeTest.tc.target.run('which df')[0] == 0, "No df in image or no connection")
class DfTest(oeRuntimeTest):
@skipUnlessPassed("test_ssh")
def test_df(self):
(status,output) = self.target.run("df / | sed -n '2p' | awk '{print $4}'")
self.assertTrue(int(output)>5120, msg="Not enough space on image. Current size is %s" % output)

View File

@@ -0,0 +1,37 @@
import unittest
from oeqa.oetest import oeRuntimeTest, skipModule
from oeqa.utils.decorators import *
def setUpModule():
if not oeRuntimeTest.hasPackage("syslog"):
skipModule("No syslog package in image")
class SyslogTest(oeRuntimeTest):
@skipUnlessPassed("test_ssh")
def test_syslog_help(self):
(status,output) = self.target.run('/sbin/syslogd --help')
self.assertEqual(status, 1, msg="status and output: %s and %s" % (status,output))
@skipUnlessPassed("test_syslog_help")
def test_syslogd_running(self):
(status,output) = self.target.run(oeRuntimeTest.pscmd + ' | grep -i [s]yslogd')
self.assertEqual(status, 0, msg="no syslogd process, ps output: %s" % self.target.run(oeRuntimeTest.pscmd)[1])
class SyslogTestConfig(oeRuntimeTest):
def setUp(self):
self.target.run('echo "LOGFILE=/var/log/test" >> /etc/syslog-startup.conf')
@skipUnlessPassed("test_syslogd_running")
def test_syslogd_configurable(self):
if "systemd" != oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager"):
(status,output) = self.target.run('/etc/init.d/syslog restart')
else:
(status,output) = self.target.run('systemctl restart syslog.service')
self.assertEqual(status, 0, msg="Could not restart syslog service. Status and output: %s and %s" % (status,output))
(status,output) = self.target.run('logger foobar && grep foobar /var/log/test')
self.assertEqual(status, 0, msg="Test log string not found. Output: %s " % output)
def tearDown(self):
self.target.run("sed -i 's#LOGFILE=/var/log/test##' /etc/syslog-startup.conf")