ptest-cargo: handle packageconfig arguments

Align cargo options between ptest-cargo and cargo classes.

After oe-core commit 16745b20452de60ae2474433cc1a2fb1ed9f6a64 there is
a discrepancy between cargo arguments in compile and compile-ptest-cargo
steps when packageconfig is used for cargo based recipes.

Currently we have to do something like following code to build ptest
enabled cargo based recipe:
CARGO_BUILD_FLAGS:append:task-compile-ptest-cargo = " ${PACKAGECONFIG_CONFARGS}"
Otherwise the options are either doubled in compile step or completely
missing in compile-ptest-cargo step.

(From OE-Core rev: 98d03d31de4010534b1a00d29409d3486a0ab0b9)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter Marko 2025-04-22 14:29:51 +02:00 committed by Richard Purdie
parent 9a140f56b0
commit 9e2219219e

View File

@ -14,6 +14,7 @@ python do_compile_ptest_cargo() {
cargo = bb.utils.which(d.getVar("PATH"), d.getVar("CARGO"))
cargo_build_flags = d.getVar("CARGO_BUILD_FLAGS")
packageconfig_confargs = d.getVar("PACKAGECONFIG_CONFARGS")
rust_flags = d.getVar("RUSTFLAGS")
manifest_path = d.getVar("CARGO_MANIFEST_PATH")
project_manifest_path = os.path.normpath(manifest_path)
@ -21,7 +22,7 @@ python do_compile_ptest_cargo() {
env = os.environ.copy()
env['RUSTFLAGS'] = rust_flags
cmd = f"{cargo} build --tests --message-format json {cargo_build_flags}"
cmd = f"{cargo} build --tests --message-format json {cargo_build_flags} {packageconfig_confargs}"
bb.note(f"Building tests with cargo ({cmd})")
try: