aboutsummaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/targetcontrol.py
diff options
context:
space:
mode:
authorStefan Stanacar <stefanx.stanacar@intel.com>2014-02-27 17:46:15 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-28 13:52:43 +0000
commita4e4de4189cec3076a863c32c98e02766187ab48 (patch)
tree4ae078de3c1a54e6787a23f92cae18099def6061 /meta/lib/oeqa/targetcontrol.py
parent45709d1eae28fc567c5dca9a48393d56d28f785d (diff)
downloadopenembedded-core-contrib-a4e4de4189cec3076a863c32c98e02766187ab48.tar.gz
openembedded-core-contrib-a4e4de4189cec3076a863c32c98e02766187ab48.tar.bz2
openembedded-core-contrib-a4e4de4189cec3076a863c32c98e02766187ab48.zip
oeqa/targetcontrol: make BaseTarget an abstract class
This should make it clear what methods a subclass needs to redefine. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Diffstat (limited to 'meta/lib/oeqa/targetcontrol.py')
-rw-r--r--meta/lib/oeqa/targetcontrol.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py
index 46e5f7fa6b..d8a6ac03ec 100644
--- a/meta/lib/oeqa/targetcontrol.py
+++ b/meta/lib/oeqa/targetcontrol.py
@@ -12,6 +12,7 @@ import traceback
from oeqa.utils.sshcontrol import SSHControl
from oeqa.utils.qemurunner import QemuRunner
from oeqa.controllers.testtargetloader import TestTargetLoader
+from abc import ABCMeta, abstractmethod
def get_target_controller(d):
testtarget = d.getVar("TEST_TARGET", True)
@@ -40,6 +41,8 @@ def get_target_controller(d):
class BaseTarget(object):
+ __metaclass__ = ABCMeta
+
def __init__(self, d):
self.connection = None
self.ip = None
@@ -48,6 +51,7 @@ class BaseTarget(object):
self.testdir = d.getVar("TEST_LOG_DIR", True)
self.pn = d.getVar("PN", True)
+ @abstractmethod
def deploy(self):
self.sshlog = os.path.join(self.testdir, "ssh_target_log.%s" % self.datetime)
@@ -57,6 +61,18 @@ class BaseTarget(object):
os.symlink(self.sshlog, sshloglink)
bb.note("SSH log file: %s" % self.sshlog)
+ @abstractmethod
+ def start(self, params=None):
+ pass
+
+ @abstractmethod
+ def stop(self):
+ pass
+
+ @abstractmethod
+ def restart(self, params=None):
+ pass
+
def run(self, cmd, timeout=None):
return self.connection.run(cmd, timeout)