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:
['<package>']
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 <ines.kchelfi@smile.fr>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
python do_install_ptest_cargo() {
import shutil
+ import textwrap
dest_dir = d.getVar("D")
pn = d.getVar("PN")
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")