From: Alexandru Palalau Date: Fri, 12 Jul 2013 10:44:37 +0000 (+0300) Subject: lib/oeqa/runtime: add tests for syslog and df X-Git-Tag: rev_ivi_2015_02_04~11777 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c1991ea602267e9a120eb3e30f8428579563ebd5;p=scm%2Fbb%2Ftizen-distro.git 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 Signed-off-by: Stefan Stanacar Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index f66f514..22f0a92 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -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}" diff --git a/meta/lib/oeqa/runtime/df.py b/meta/lib/oeqa/runtime/df.py new file mode 100644 index 0000000..c911989 --- /dev/null +++ b/meta/lib/oeqa/runtime/df.py @@ -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) diff --git a/meta/lib/oeqa/runtime/syslog.py b/meta/lib/oeqa/runtime/syslog.py new file mode 100644 index 0000000..cec4f97 --- /dev/null +++ b/meta/lib/oeqa/runtime/syslog.py @@ -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")