aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCédric Ollivier <cedric.ollivier@orange.com>2022-09-23 10:48:26 +0200
committerCédric Ollivier <cedric.ollivier@orange.com>2022-09-23 12:21:59 +0200
commit25c7404b8d2a8f36170f6067c97915ddb6128bfd (patch)
tree8fd35da3498ad18f0563915a7afe6cb3a31ac090
parent4970d3bfe0e8e580beaa86ae7c41977e2e93ab3f (diff)
Make robot driver even more generic
It allows setting any option via testcases.yaml Change-Id: I8cb5ead037a65f962c3ba1a14729b52195e95483 Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
-rw-r--r--xtesting/core/robotframework.py13
-rw-r--r--xtesting/tests/unit/core/test_robotframework.py25
2 files changed, 24 insertions, 14 deletions
diff --git a/xtesting/core/robotframework.py b/xtesting/core/robotframework.py
index 2952de60..92b75930 100644
--- a/xtesting/core/robotframework.py
+++ b/xtesting/core/robotframework.py
@@ -106,10 +106,7 @@ class RobotFramework(testcase.TestCase):
EX_RUN_ERROR otherwise.
"""
try:
- suites = kwargs["suites"]
- variable = kwargs.get("variable", [])
- variablefile = kwargs.get("variablefile", [])
- include = kwargs.get("include", [])
+ suites = kwargs.pop("suites")
except KeyError:
self.__logger.exception("Mandatory args were not passed")
return self.EX_RUN_ERROR
@@ -120,9 +117,11 @@ class RobotFramework(testcase.TestCase):
self.__logger.exception("Cannot create %s", self.res_dir)
return self.EX_RUN_ERROR
stream = StringIO()
- robot.run(*suites, variable=variable, variablefile=variablefile,
- include=include, output=self.xml_file, log='NONE',
- report='NONE', stdout=stream)
+ kwargs["output"] = self.xml_file
+ kwargs["log"] = "NONE"
+ kwargs["report"] = "NONE"
+ kwargs["stdout"] = stream
+ robot.run(*suites, **kwargs)
self.__logger.info("\n%s", stream.getvalue())
try:
self.parse_results()
diff --git a/xtesting/tests/unit/core/test_robotframework.py b/xtesting/tests/unit/core/test_robotframework.py
index bbd99f50..ca681822 100644
--- a/xtesting/tests/unit/core/test_robotframework.py
+++ b/xtesting/tests/unit/core/test_robotframework.py
@@ -215,11 +215,16 @@ class RunTesting(unittest.TestCase):
@mock.patch('robot.run')
def _test_makedirs(self, *args):
+ kwargs = {
+ 'variable': self.variable,
+ 'variablefile': self.variablefile,
+ 'include': self.include
+ }
with mock.patch.object(self.test, 'parse_results') as mock_method, \
mock.patch.object(self.test, 'generate_report',
return_value=0) as mmethod:
self.assertEqual(
- self.test.run(suites=self.suites, variable=self.variable),
+ self.test.run(suites=self.suites, **kwargs),
self.test.EX_OK)
args[0].assert_called_once_with(
*self.suites, log='NONE', output=self.test.xml_file,
@@ -245,10 +250,13 @@ class RunTesting(unittest.TestCase):
@mock.patch('os.makedirs')
@mock.patch('robot.run')
def _test_parse_results(self, status, *args):
+ kwargs = {
+ 'variable': self.variable,
+ 'variablefile': self.variablefile,
+ 'include': self.include
+ }
self.assertEqual(
- self.test.run(
- suites=self.suites, variable=self.variable,
- variablefile=self.variablefile, include=self.include),
+ self.test.run(suites=self.suites, **kwargs),
status)
args[0].assert_called_once_with(
*self.suites, log='NONE', output=self.test.xml_file,
@@ -275,11 +283,14 @@ class RunTesting(unittest.TestCase):
@mock.patch('os.makedirs')
@mock.patch('robot.run')
def _test_generate_report(self, status, *args):
+ kwargs = {
+ 'variable': self.variable,
+ 'variablefile': self.variablefile,
+ 'include': self.include
+ }
with mock.patch.object(self.test, 'parse_results') as mock_method:
self.assertEqual(
- self.test.run(
- suites=self.suites, variable=self.variable,
- variablefile=self.variablefile, include=self.include),
+ self.test.run(suites=self.suites, **kwargs),
status)
args[0].assert_called_once_with(
*self.suites, log='NONE', output=self.test.xml_file,