Support of test cases' addtitional tag 53/1253/2
authorIoakeim Samaras <ioakeim.samaras@ericsson.com>
Wed, 24 Jul 2019 12:25:38 +0000 (15:25 +0300)
committerIoakeim Samaras <ioakeim.samaras@ericsson.com>
Wed, 24 Jul 2019 13:33:30 +0000 (16:33 +0300)
Test cases can now be tagged as optional

Signed-off-by: Ioakeim Samaras <ioakeim.samaras@ericsson.com>
Change-Id: I97e217ff3c1270d56853bab36c97b75c056f5151

bluval/bluval-rec.yaml
bluval/bluval.py

index 4328b68..bde9b47 100644 (file)
@@ -34,3 +34,4 @@ blueprint:
         -
             name: conformance
             what: conformance
+            optional: "True"
index a0f02d2..bcdc856 100644 (file)
@@ -30,16 +30,23 @@ import yaml
 from bluutil import BluvalError
 from bluutil import ShowStopperError
 
+_OPTIONAL_ALSO = False
 
 def run_testcase(testcase):
     """Runs a single testcase
     """
     name = testcase.get('name')
     skip = testcase.get('skip', "False")
+    optional = testcase.get('optional', "False")
     if skip.lower() == "true":
         # skip is mentioned and true.
         print('Skipping {}'.format(name))
         return
+    print("_OPTIONAL_ALSO {}".format(_OPTIONAL_ALSO))
+    if  not _OPTIONAL_ALSO and optional.lower() == "true":
+        # Optional Test case.
+        print('Ignoring Optional {} testcase'.format(name))
+        return
     show_stopper = testcase.get('show_stopper', "False")
     what = testcase.get('what')
     mypath = Path(__file__).absolute()
@@ -92,14 +99,20 @@ def validate_blueprint(yaml_loc, layer):
 @click.command()
 @click.argument('blueprint')
 @click.option('--layer', '-l')
-def main(blueprint, layer):
+@click.option('--optional_also', '-o', is_flag=True)
+def main(blueprint, layer, optional_also):
     """Takes blueprint name and optional layer. Validates inputs and derives
     yaml location from blueprint name. Invokes validate on blue print.
     """
+    global _OPTIONAL_ALSO  # pylint: disable=global-statement
     mypath = Path(__file__).absolute()
     yaml_loc = mypath.parents[0].joinpath('bluval-{}.yaml'.format(blueprint))
     if layer is not None:
         layer = layer.lower()
+    if optional_also:
+        _OPTIONAL_ALSO = True
+        print("_OPTIONAL_ALSO {}".format(_OPTIONAL_ALSO))
+
     try:
         validate_blueprint(yaml_loc, layer)
     except ShowStopperError as err: