X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=functest%2Fcore%2Ffeature_base.py;h=2bd1ec83db0f22d607cb16135e0ed32ad050e6dd;hb=0077ad99834d51654a75a5ccf49fcfcaf828b905;hp=01a27f305eea1829bec1c696fafabd1db3e05cbd;hpb=ef43b6cbc6b445762dd7d48491dfe670bac2f710;p=functest.git diff --git a/functest/core/feature_base.py b/functest/core/feature_base.py index 01a27f305..2bd1ec83d 100644 --- a/functest/core/feature_base.py +++ b/functest/core/feature_base.py @@ -3,28 +3,38 @@ import time import testcase_base as base import functest.utils.functest_utils as ft_utils import functest.utils.functest_logger as ft_logger +from functest.utils.constants import CONST class FeatureBase(base.TestcaseBase): + def __init__(self, project='functest', case='', repo='', cmd=''): super(FeatureBase, self).__init__() self.project_name = project self.case_name = case self.cmd = cmd - self.repo = self.get_conf('general.directories.{}'.format(repo)) + self.repo = CONST.__getattribute__(repo) self.result_file = self.get_result_file() self.logger = ft_logger.Logger(project).getLogger() def run(self, **kwargs): self.prepare() self.start_time = time.time() - ret = ft_utils.execute_command(self.cmd, output_file=self.result_file) + ret = self.execute() self.stop_time = time.time() self.post() self.parse_results(ret) self.log_results() + self.logger.info("Test result is stored in '%s'" % self.result_file) return base.TestcaseBase.EX_OK + def execute(self): + ''' + Executer method that can be overwritten + By default it executes a shell command. + ''' + return ft_utils.execute_command(self.cmd, output_file=self.result_file) + def prepare(self, **kwargs): pass @@ -44,15 +54,10 @@ class FeatureBase(base.TestcaseBase): return exit_code def get_result_file(self): - dir = self.get_conf('general.directories.dir_results') - return "{}/{}.log".format(dir, self.project_name) + return "{}/{}.log".format(CONST.dir_results, self.project_name) def log_results(self): ft_utils.logger_test_results(self.project_name, self.case_name, self.criteria, self.details) - - @staticmethod - def get_conf(parameter): - return ft_utils.get_functest_config(parameter)