From 364e1baf8b66ccd155a0342004dfb26dc3f93299 Mon Sep 17 00:00:00 2001 From: Gyorgy Sarvari Date: Fri, 5 Sep 2025 17:44:47 +0200 Subject: [PATCH] ptest-cargo.bbclass: sort binaries for reproducibility When compiling tests with cargo, the produced binaries are created in a non-deterministic order. The list of binaries themselves are taken from some of the log info produced by cargo, which contains them in the order as they were created. The class later writes this list of binaries in the run-ptest script in the order that it found them. In case the test suite contains more than 1 or 2 binaries, then the order of these binaries is different almost each run, making the resulting ptest package non-reproducible. To avoid this, sort the list of test binaries before storing them. (From OE-Core rev: 0fdc3ce4e3ecc6519aef680884d88f33c805a20d) Signed-off-by: Gyorgy Sarvari Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- meta/classes-recipe/ptest-cargo.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes-recipe/ptest-cargo.bbclass b/meta/classes-recipe/ptest-cargo.bbclass index 8351644b0f..30463e117b 100644 --- a/meta/classes-recipe/ptest-cargo.bbclass +++ b/meta/classes-recipe/ptest-cargo.bbclass @@ -70,7 +70,7 @@ python do_compile_ptest_cargo() { cargo_test_binaries_file = d.getVar('CARGO_TEST_BINARIES_FILES') bb.note(f"Found {len(test_bins)} tests, write their paths into {cargo_test_binaries_file}") with open(cargo_test_binaries_file, "w") as f: - for test_bin in test_bins: + for test_bin in sorted(test_bins): f.write(f"{test_bin}\n") }