behave_tests: create results dir if needed 82/72782/2
authorGwenael Lambrouin <gwenael.lambrouin@orange.com>
Thu, 15 Jul 2021 09:33:21 +0000 (11:33 +0200)
committerGwenael Lambrouin <gwenael.lambrouin@orange.com>
Thu, 22 Jul 2021 15:08:18 +0000 (17:08 +0200)
Change-Id: I122607f24844eda15920b514a29e4efba9a7c4e6
Signed-off-by: Gwenael Lambrouin <gwenael.lambrouin@orange.com>
behave_tests/features/environment.py

index 12cd4cc..bb9780d 100644 (file)
@@ -17,6 +17,7 @@
 
 import json
 import os
+import pathlib
 import time
 
 
@@ -59,8 +60,13 @@ def before_scenario(context, scenario):
 
 
 def after_feature(context, feature):
-    if context.results:
-        with open(os.path.join(
-                '/var/lib/xtesting/results/' + context.CASE_NAME + '/campaign_result.json'), "w") \
-                as outfile:
-            json.dump(context.results, outfile)
+    if len(context.results) == 0:
+        # No result to dump
+        return
+
+    results_dir = pathlib.Path('/var/lib/xtesting/results/' + context.CASE_NAME)
+    if not results_dir.exists():
+        results_dir.mkdir()
+
+    results_file = results_dir / pathlib.Path('campaign_result.json')
+    results_file.write_text(json.dumps(context.results, indent=4))