aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/python/model
diff options
context:
space:
mode:
Diffstat (limited to 'resources/libraries/python/model')
-rw-r--r--resources/libraries/python/model/ExportResult.py54
-rw-r--r--resources/libraries/python/model/export_json.py3
2 files changed, 46 insertions, 11 deletions
diff --git a/resources/libraries/python/model/ExportResult.py b/resources/libraries/python/model/ExportResult.py
index d74a6ab5df..16c6b89fb3 100644
--- a/resources/libraries/python/model/ExportResult.py
+++ b/resources/libraries/python/model/ExportResult.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2021 Cisco and/or its affiliates.
+# Copyright (c) 2022 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
@@ -39,18 +39,13 @@ def export_dut_type_and_version(dut_type=u"unknown", dut_version=u"unknown"):
else:
# We want to set a variable in higher level suite setup
# to be available to test setup several levels lower.
- # Documentation [0] looks like "children" is a keyword argument,
- # but code [1] lines 1458 and 1511-1512 show
- # it is just last stringy argument.
- # [0] http://robotframework.org/robotframework/
- # 3.1.2/libraries/BuiltIn.html#Set%20Suite%20Variable
- # [1] https://github.com/robotframework/robotframework/blob/
- # v3.1.2/src/robot/libraries/BuiltIn.py
BuiltIn().set_suite_variable(
u"\\${DUT_TYPE}", dut_type, u"children=True"
)
if dut_version == u"unknown":
- dut_version = BuiltIn().get_variable_value(u"\\${DUT_VERSION}", u"unknown")
+ dut_version = BuiltIn().get_variable_value(
+ u"\\${DUT_VERSION}", u"unknown"
+ )
if dut_type == u"unknown":
raise RuntimeError(u"Dut version not provided.")
else:
@@ -58,10 +53,49 @@ def export_dut_type_and_version(dut_type=u"unknown", dut_version=u"unknown"):
u"\\${DUT_VERSION}", dut_version, u"children=True"
)
data = get_export_data()
- data[u"dut_type"] = dut_type
+ data[u"dut_type"] = dut_type.lower()
data[u"dut_version"] = dut_version
+def export_tg_type_and_version(tg_type=u"unknown", tg_version=u"unknown"):
+ """Export the arguments as tg type and version.
+
+ Robot tends to convert "none" into None, hence the unusual default values.
+
+ If either argument is missing, the value from robot variable is used.
+ If argument is present, the value is also stored to robot suite variable.
+
+ :param tg_type: TG type, e.g. TREX.
+ :param tg_version: TG version as determined by the caller.
+ :type tg_type: Optional[str]
+ :type tg_version: Optiona[str]
+ :raises RuntimeError: If value is neither in argument not robot variable.
+ """
+ if tg_type == u"unknown":
+ tg_type = BuiltIn().get_variable_value(u"\\${TG_TYPE}", u"unknown")
+ if tg_type == u"unknown":
+ raise RuntimeError(u"TG type not provided.")
+ else:
+ # We want to set a variable in higher level suite setup
+ # to be available to test setup several levels lower.
+ BuiltIn().set_suite_variable(
+ u"\\${TG_TYPE}", tg_type, u"children=True"
+ )
+ if tg_version == u"unknown":
+ tg_version = BuiltIn().get_variable_value(
+ u"\\${TG_VERSION}", u"unknown"
+ )
+ if tg_type == u"unknown":
+ raise RuntimeError(u"TG version not provided.")
+ else:
+ BuiltIn().set_suite_variable(
+ u"\\${TG_VERSION}", tg_version, u"children=True"
+ )
+ data = get_export_data()
+ data[u"tg_type"] = tg_type.lower()
+ data[u"tg_version"] = tg_version
+
+
def append_mrr_value(mrr_value, unit):
"""Store mrr value to proper place so it is dumped into json.
diff --git a/resources/libraries/python/model/export_json.py b/resources/libraries/python/model/export_json.py
index b5d4328084..840c49fa70 100644
--- a/resources/libraries/python/model/export_json.py
+++ b/resources/libraries/python/model/export_json.py
@@ -34,7 +34,7 @@ from robot.libraries.BuiltIn import BuiltIn
from resources.libraries.python.Constants import Constants
from resources.libraries.python.model.ExportResult import (
- export_dut_type_and_version
+ export_dut_type_and_version, export_tg_type_and_version
)
from resources.libraries.python.model.mem2raw import write_raw_output
from resources.libraries.python.model.raw2info import convert_content_to_info
@@ -167,6 +167,7 @@ class export_json():
self.raw_data[u"hosts"] = set()
self.raw_data[u"log"] = list()
export_dut_type_and_version()
+ export_tg_type_and_version()
def start_suite_teardown_export(self):
"""Set new file path, initialize data for the suite teardown.