From: Alexis Lothoré Date: Mon, 12 Aug 2024 15:14:04 +0000 (+0200) Subject: oeqa/postactions: do not uncompress retrieved archive on host X-Git-Tag: yocto-5.1~304 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f90894d996c8a8f980e46c87b7968b176793b3fe;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git oeqa/postactions: do not uncompress retrieved archive on host Current postaction module executes a remote tar command, pipe it in a SSH connection, and uncompress the raw stream with another tar command. With this command, the whole artifacts tree is directly available on the host executing the test, but it is not very convenient if we want to download the whole retrieved ptests directory. Stop uncompressing the retrieved ptests archive onto host, just save the archive as it is. The new output then looks like the following: tmp/log/oeqa-artefacts └── oeqa-target-artefacts-20240812-juzqdb80 ├── host_disk_usage.txt ├── target_disk_usage.txt └── tests_artifacts.tar.gz Suggested-By: Alexandre Belloni Signed-off-by: Alexis Lothoré Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oeqa/utils/postactions.py b/meta/lib/oeqa/utils/postactions.py index 3b537146c50..d5080523aa8 100644 --- a/meta/lib/oeqa/utils/postactions.py +++ b/meta/lib/oeqa/utils/postactions.py @@ -68,7 +68,8 @@ def list_and_fetch_failed_tests_artifacts(d, tc, artifacts_list, outputdir): (status, output) = tc.target.run(cmd, raw = True) if status != 0 or not output: raise Exception("Error while fetching compressed artifacts") - p = subprocess.run(["tar", "zxf", "-", "-C", outputdir], input=output) + with open(archive_name, "wb") as f: + f.write(output) except Exception as e: bb.warn(f"Can not retrieve artifacts from test target: {e}")