summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa
diff options
context:
space:
mode:
authorAlexis Lothoré <alexis.lothore@bootlin.com>2024-02-26 10:19:20 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-02-27 11:35:40 +0000
commit5d796586a9342f4f984494a5b493dbaf77af7026 (patch)
tree87094a04272b72c05a8abcf3cb110fb95c7c0096 /meta/lib/oeqa
parentc01aa8df0613a103859b4431d3cc5056b2fef1b8 (diff)
downloadopenembedded-core-5d796586a9342f4f984494a5b493dbaf77af7026.tar.gz
oeqa/utils/postactions: isolate directory creation in dedicated action
In order to be able to create actions that could store new files during failed test post actions, we need to split artifacts directory creation from artifacts retrieval. Create a new dedicated action to create artifacts main directory so we can add actions creating files in this new directory, without worrying about actions order if at least this action is set first. Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa')
-rw-r--r--meta/lib/oeqa/utils/postactions.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/meta/lib/oeqa/utils/postactions.py b/meta/lib/oeqa/utils/postactions.py
index 09c338ef68..7014b2830a 100644
--- a/meta/lib/oeqa/utils/postactions.py
+++ b/meta/lib/oeqa/utils/postactions.py
@@ -9,6 +9,15 @@
from oeqa.utils import get_json_result_dir
+def create_artifacts_directory(d, tc):
+ import shutil
+
+ local_artifacts_dir = os.path.join(get_json_result_dir(d), "artifacts")
+ if os.path.isdir(local_artifacts_dir):
+ shutil.rmtree(local_artifacts_dir)
+
+ os.makedirs(local_artifacts_dir)
+
##################################################################
# Artifacts retrieval
##################################################################
@@ -29,13 +38,7 @@ def get_artifacts_list(target, raw_list):
return result
def retrieve_test_artifacts(target, artifacts_list, target_dir):
- import shutil
-
local_artifacts_dir = os.path.join(target_dir, "artifacts")
- if os.path.isdir(local_artifacts_dir):
- shutil.rmtree(local_artifacts_dir)
-
- os.makedirs(local_artifacts_dir)
for artifact_path in artifacts_list:
if not os.path.isabs(artifact_path):
bb.warn(f"{artifact_path} is not an absolute path")
@@ -61,6 +64,7 @@ def list_and_fetch_failed_tests_artifacts(d, tc):
def run_failed_tests_post_actions(d, tc):
post_actions=[
+ create_artifacts_directory,
list_and_fetch_failed_tests_artifacts
]