From 21dd8bd7b64b148d3d99bece9fd9b9fffe70c2e0 Mon Sep 17 00:00:00 2001 From: Tibor Frank Date: Mon, 14 Aug 2023 09:00:44 +0000 Subject: GSO: Add export of results to json files. Change-Id: Iac742f0571b11e06662af6bf1b680d0b4e196ddd Signed-off-by: Tibor Frank (cherry picked from commit 3b63dc1e6fa72fd47d9f3d07115f28ffa4a2bd7a) --- resources/libraries/python/model/ExportJson.py | 2 +- resources/libraries/python/model/validate.py | 3 ++- resources/libraries/robot/performance/performance_utils.robot | 6 ++++++ resources/model_schema/test_case.schema.yaml | 4 +++- 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/resources/libraries/python/model/ExportJson.py b/resources/libraries/python/model/ExportJson.py index de8874dc52..73e822491c 100644 --- a/resources/libraries/python/model/ExportJson.py +++ b/resources/libraries/python/model/ExportJson.py @@ -71,7 +71,7 @@ class ExportJson(): elif u"HOSTSTACK" in tags: test_type = u"hoststack" elif u"GSO_TRUE" in tags or u"GSO_FALSE" in tags: - test_type = u"gso" + test_type = u"mrr" elif u"RECONF" in tags: test_type = u"reconf" # The remaining 3 options could also apply to DPDK and TRex tests. diff --git a/resources/libraries/python/model/validate.py b/resources/libraries/python/model/validate.py index ee82d3289f..85c4b993c9 100644 --- a/resources/libraries/python/model/validate.py +++ b/resources/libraries/python/model/validate.py @@ -52,10 +52,11 @@ def validate(file_path, validator): :param validator: Validator instance to use for validation. :type file_path: str :type validator: jsonschema.validators.Validator - :raises RuntimeError: If schema validation fails. + :raises ValidationError: If schema validation fails. """ with open(file_path, "rt", encoding="utf-8") as file_in: instance = json.load(file_in) error = jsonschema.exceptions.best_match(validator.iter_errors(instance)) if error is not None: + print(json.dumps(instance, indent=4)) raise error diff --git a/resources/libraries/robot/performance/performance_utils.robot b/resources/libraries/robot/performance/performance_utils.robot index 4840e05b9f..34b9ab6bef 100644 --- a/resources/libraries/robot/performance/performance_utils.robot +++ b/resources/libraries/robot/performance/performance_utils.robot @@ -486,6 +486,7 @@ | | ${results}= | Send iPerf3 traffic at specified rate | | ... | ${trial_duration} | ${None} | ${None} | | ... | ${trial_multiplicity} | ${traffic_directions} +| | ... | export_mrr_unit=bps | | Set Test Message | ${\n}iPerf3 trial results | | Set Test Message | in Gbits per second: ${results} | | ... | append=yes @@ -510,6 +511,9 @@ | | ... | Type: integer | | ... | - extended_debug - True to enable extended debug. | | ... | Type: boolean +| | ... | - export_mrr_unit - Use this unit when exporting MRR values, +| | ... | or empty string for no export. +| | ... | Type: string | | | | ... | *Example:* | | @@ -519,6 +523,7 @@ | | [Arguments] | ${trial_duration} | ${rate} | ${frame_size} | | ... | ${trial_multiplicity}=${trial_multiplicity} | | ... | ${traffic_directions}=${1} | ${extended_debug}=${extended_debug} +| | ... | ${export_mrr_unit}=${Empty} | | | | Set Test Variable | ${extended_debug} | | Set Test Variable | ${rate} @@ -579,6 +584,7 @@ | | | ... | bind=${iperf_client_bind} | | | ... | affinity=${iperf_client_affinity} | | | ${conv} = | Convert To Number | ${rr['sum_received']['bits_per_second']} +| | | Append Mrr Value | ${conv} | ${export_mrr_unit} | | | ${conv} = | Evaluate | ${conv} / ${1000} / ${1000} / ${1000} | | | ${conv} = | Evaluate | "{:.3f}".format(${conv}) | | | Append To List diff --git a/resources/model_schema/test_case.schema.yaml b/resources/model_schema/test_case.schema.yaml index 5d33e0e149..5c7cf305fb 100644 --- a/resources/model_schema/test_case.schema.yaml +++ b/resources/model_schema/test_case.schema.yaml @@ -429,12 +429,14 @@ $defs: description: >- Packets per second (pps), connections per second (cps), - requests per second (rps). + requests per second (rps), + bits per second (bps). type: string enum: - pps - cps - rps + - bps bandwidth_unit: description: >- Unit of measurement for bandwidth values. -- cgit 1.2.3-korg