lib/oeqa/runtime: add vncserver for target test
authorMihai Prica <mihai.prica@intel.com>
Mon, 19 Aug 2013 12:30:26 +0000 (15:30 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 26 Aug 2013 10:47:20 +0000 (11:47 +0100)
(From OE-Core rev: 56bc5d717b34563ed36c0618305e4ec5080c3a27)

Signed-off-by: Mihai Prica <mihai.prica@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>
meta/lib/oeqa/runtime/vnc.py [new file with mode: 0644]

diff --git a/meta/lib/oeqa/runtime/vnc.py b/meta/lib/oeqa/runtime/vnc.py
new file mode 100644 (file)
index 0000000..9476184
--- /dev/null
@@ -0,0 +1,22 @@
+from oeqa.oetest import oeRuntimeTest
+from oeqa.utils.decorators import *
+import re
+
+def setUpModule():
+    skipModuleUnless(oeRuntimeTest.tc.target.run('which x11vnc')[0] == 0, "No x11vnc in image")
+
+class VNCTest(oeRuntimeTest):
+
+    @skipUnlessPassed('test_ssh')
+    def test_vnc(self):
+        (status, output) = self.target.run('x11vnc -display :0.0 -bg -q')
+        self.assertEqual(status, 0, msg="x11vnc server failed to start: %s" % output)
+        port = re.search('PORT=[0-9]*', output)
+        self.assertTrue(port, msg="Listening port not specified in command output: %s" %output)
+
+        (status, output) = self.target.run(oeRuntimeTest.pscmd + ' | grep -i [x]11vnc')
+        self.assertEqual(status, 0, msg="x11vnc process not running")
+
+        vncport = port.group(0).split('=')[1]
+        (status, output) = self.target.run('netstat -atun | grep :%s | grep LISTEN' % vncport)
+        self.assertEqual(status, 0, msg="x11vnc server not running on port %s" % vncport)