diff options
author | Cédric Ollivier <cedric.ollivier@orange.com> | 2017-04-24 08:58:20 +0200 |
---|---|---|
committer | Cédric Ollivier <cedric.ollivier@orange.com> | 2017-04-26 09:35:47 +0200 |
commit | 37c98a6fa101be2b32129dd5d71ad750f5245b88 (patch) | |
tree | 9b3f8700cb5af4054593c667a7f82aa160e32a8f /functest/utils | |
parent | e620488a6747318c40eb973c2607ae6d44e95b8f (diff) |
Manage criteria in TestCase
It converts all criteria values to the corresponding percent in
functest/ci/testcases.yaml.
Result is expected to be equal or greater than criteria. If both are 0,
result is considered as false.
It is compatible with the old behavior but warns to update.
It will allow a safer remove.
It also fixes a bug in test_tempest to allow merging [1] and
tier_handler.py which required that type criteria was str.
[1] https://gerrit.opnfv.org/gerrit/#/c/27949/
Change-Id: Ib6edcfa3103b7d51b0bdc83119f1cea2a8be9fbc
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Diffstat (limited to 'functest/utils')
-rw-r--r-- | functest/utils/functest_utils.py | 23 |
1 files changed, 7 insertions, 16 deletions
diff --git a/functest/utils/functest_utils.py b/functest/utils/functest_utils.py index 6cebabff..7d993cbf 100644 --- a/functest/utils/functest_utils.py +++ b/functest/utils/functest_utils.py @@ -379,23 +379,14 @@ def get_functest_config(parameter): return get_parameter_from_yaml(parameter, yaml_) -def check_success_rate(case_name, success_rate): - success_rate = float(success_rate) +def check_success_rate(case_name, result): + # It should be removed as TestCase tests criteria + # and result. + logger.warning('check_success_rate will be removed soon') criteria = get_criteria_by_test(case_name) - - def get_criteria_value(op): - return float(criteria.split(op)[1].rstrip('%')) - - status = 'FAIL' - ops = ['==', '>='] - for op in ops: - if op in criteria: - c_value = get_criteria_value(op) - if eval("%s %s %s" % (success_rate, op, c_value)): - status = 'PASS' - break - - return status + if type(criteria) == int and result >= criteria: + return 'PASS' + return 'FAIL' def merge_dicts(dict1, dict2): |