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>
(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}")