From: Ines KCHELFI Date: Mon, 12 May 2025 14:44:11 +0000 (+0200) Subject: ptest-cargo: fix tests output format for testimage X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6a9356346f13556a06d4a99bd7924992c7e29d66;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git ptest-cargo: fix tests output format for testimage In testimage, the ptest-runner output parser expects test results to follow a specific format,with lines beginning with PASS:, FAIL:, or SKIP:. ptest-cargo, currently, does not emit any of those lines and the parser treats the test section as having no results, causing a test failure with : AssertionError: ptests which had no test results: [''] This patch ensures that the recipes using ptest-cargo class explicitly emits PASS: or FAIL: lines, making the results compatible with the test parser and preventing test failures. Signed-off-by: Ines KCHELFI Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- diff --git a/meta/classes-recipe/ptest-cargo.bbclass b/meta/classes-recipe/ptest-cargo.bbclass index 7b18d43c38..ece25ff1eb 100644 --- a/meta/classes-recipe/ptest-cargo.bbclass +++ b/meta/classes-recipe/ptest-cargo.bbclass @@ -77,6 +77,7 @@ python do_compile_ptest_cargo() { python do_install_ptest_cargo() { import shutil + import textwrap dest_dir = d.getVar("D") pn = d.getVar("PN") @@ -107,7 +108,16 @@ python do_install_ptest_cargo() { f.write(f"\necho \"\"\n") f.write(f"echo \"## starting to run rust tests ##\"\n") for test_path in test_paths: - f.write(f"if ! {test_path} {rust_test_args}; then rc=1; fi\n") + script = textwrap.dedent(f"""\ + if ! {test_path} {rust_test_args} + then + rc=1 + echo "FAIL: {test_path}" + else + echo "PASS: {test_path}" + fi + """) + f.write(script) f.write("exit $rc\n")