From 51b85a8cf754a55cbebf3f3344637170eab8ce34 Mon Sep 17 00:00:00 2001 From: Nicolas Dechesne Date: Sat, 4 Feb 2017 00:45:48 +0100 Subject: automated: test-runner: encapsulate the TestRun object into TestDef There is no need to create an additional object in main(). Instead we can create the 'runner' object in the TestDef init() and directly invoke the run() and check_result() function. Also rename TestDefinition.run() function as TestDefinition.mkrun(). This function really generates the run script, calling it run() is confusing, as this is not where the test runs. Change-Id: I4348e1e834e7083174aa60a8f4533747e49c3757 Signed-off-by: Nicolas Dechesne --- automated/utils/test-runner.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'automated') diff --git a/automated/utils/test-runner.py b/automated/utils/test-runner.py index 888107f..d057cad 100755 --- a/automated/utils/test-runner.py +++ b/automated/utils/test-runner.py @@ -155,6 +155,12 @@ class TestDefinition(object): self.testdef = yaml.safe_load(f) if self.testdef['metadata']['format'].startswith("Manual Test Definition"): self.is_manual = True + if self.is_manual: + self.runner = ManualTestRun(test, args) + if self.args.target is None: + self.runner = AutomatedTestRun(test, args) + else: + self.runner = RemoteTestRun(test, args) def definition(self): with open('%s/testdef.yaml' % self.test['test_path'], 'w') as f: @@ -164,7 +170,7 @@ class TestDefinition(object): with open('%s/testdef_metadata' % self.test['test_path'], 'w') as f: f.write(yaml.dump(self.testdef['metadata'], encoding='utf-8', allow_unicode=True)) - def run(self): + def mkrun(self): if not self.is_manual: with open('%s/run.sh' % self.test['test_path'], 'a') as f: f.write('#!/bin/sh\n') @@ -193,12 +199,8 @@ class TestDefinition(object): os.chmod('%s/run.sh' % self.test['test_path'], 0755) - def get_test_run(self): - if self.is_manual: - return ManualTestRun(self.test, self.args) - if self.args.target is None: - return AutomatedTestRun(self.test, self.args) - return RemoteTestRun(self.test, self.args) + def run(self): + self.runner.run() def handle_parameters(self): ret_val = ['###default parameters from test definition###\n'] @@ -652,11 +654,10 @@ def main(): if test_def.exists: test_def.definition() test_def.metadata() - test_def.run() + test_def.mkrun() # Run test. - test_run = test_def.get_test_run() - test_run.run() + test_def.run() # Parse test output, save results in json and csv format. result_parser = ResultParser(test, args) -- cgit v1.2.3