From 87114686aee12dcd86dfbbaf3cbde19aa3a72869 Mon Sep 17 00:00:00 2001 From: "Gael Chamoulaud (Strider)" Date: Mon, 19 Oct 2020 14:08:36 +0200 Subject: [PATCH] [Validator Run] Detect unknown validations from the command-line When executing multiple validations with at least one unknown validation, the CLI was executing only the existing ones but was not informing the user that he/she typed one or more wrong validations. This patch fixes that issue by detecting which validations are wrong and inform the user. Depends-On: https://review.opendev.org/758821 Change-Id: I4910043df07f32539793a2bc464377603fe2b02f Signed-off-by: Gael Chamoulaud (Strider) --- validations_libs/validation_actions.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/validations_libs/validation_actions.py b/validations_libs/validation_actions.py index 956df5ec..c93cc2fa 100644 --- a/validations_libs/validation_actions.py +++ b/validations_libs/validation_actions.py @@ -86,9 +86,17 @@ class ValidationActions(object): playbooks = v_utils.get_validations_playbook(validations_dir, validation_name, group) - if not playbooks: - msg = "Validation {} not found in {}.".format(validation_name, - validations_dir) + + if not playbooks or len(validation_name) != len(playbooks): + p = [] + for play in playbooks: + p.append(os.path.basename(os.path.splitext(play)[0])) + + unknown_validation = list(set(validation_name) - set(p)) + + msg = "Validation {} not found in {}.".format( + unknown_validation, validations_dir) + raise RuntimeError(msg) else: raise RuntimeError("No validations found")