]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
oeqa/postactions: do not uncompress retrieved archive on host
authorAlexis Lothoré <alexis.lothore@bootlin.com>
Mon, 12 Aug 2024 15:14:04 +0000 (17:14 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 13 Aug 2024 08:28:09 +0000 (09:28 +0100)
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 <alexandre.belloni@bootlin.com>
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/utils/postactions.py

index 3b537146c50a450fc0b5ff1d0b7588eaca2ac29d..d5080523aa8384a50f3623f11eaa57a9d663fa56 100644 (file)
@@ -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}")