poky/meta/recipes-devtools/rpm-sequoia/files/0001-Use-optional-env-vars-to-force-runtime-paths-in-test.patch
Ines KCHELFI d3208b539d rpm-sequoia: add ptest
In rpm-sequoia, some default paths in test code (OUT_DIR,
CARGO_MANIFEST_DIR) are invalid at runtime and cause test failures.

To fix this, patch the test code (symbols.rs) to support overriding these
paths via optional environment variables: FORCE_RUNTIME_PATH_LIB and
FORCE_RUNTIME_PATH_SRC.

Also make -ptest package RDEPEND on -dev package.

Tests take less than a second so this is added to PTEST_FAST.

ptest result:
|root@qemux86-64:~# ptest-runner rpm-sequoia
|START: ptest-runner
|2025-05-02T15:57
|BEGIN: /usr/lib/rpm-sequoia/ptest
|
|running 1 test
|test symbols ... ok
|
|test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
|
|
|running 2 tests
|test tests::merge_certs_mismatch ... ok
|test tests::merge_certs ... ok
|
|test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
|
|DURATION: 0
|END: /usr/lib/rpm-sequoia/ptest
|2025-05-02T15:57
|STOP: ptest-runner
|TOTAL: 1 FAIL: 0

(From OE-Core rev: 16499cf903718e6bf022a13baa09df610cd43d62)

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>
2025-05-15 10:55:26 +01:00

36 lines
1.3 KiB
Diff

From 590937523deea4ad2a2ee0e1ae4412a8f59e0170 Mon Sep 17 00:00:00 2001
From: Ines KCHELFI <ines.kchelfi@smile.fr>
Date: Thu, 10 Apr 2025 15:14:11 +0200
Subject: [PATCH] Use optional env vars to force runtime paths in tests
Signed-off-by: Ines KCHELFI <ines.kchelfi@smile.fr>
Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm-sequoia/pull/86]
---
tests/symbols.rs | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/tests/symbols.rs b/tests/symbols.rs
index c16dd9b..dc4a42c 100644
--- a/tests/symbols.rs
+++ b/tests/symbols.rs
@@ -14,7 +14,8 @@ fn symbols() -> anyhow::Result<()> {
// OUT_DIR gives us
// `/tmp/rpm-sequoia/debug/build/rpm-sequoia-HASH/out`.
- let out_dir = PathBuf::from(env!("OUT_DIR"));
+ let out_dir = PathBuf::from(option_env!("FORCE_RUNTIME_PATH_LIB")
+ .unwrap_or(env!("OUT_DIR")));
let mut build_dir = out_dir;
let lib = loop {
let mut lib = build_dir.clone();
@@ -53,7 +54,8 @@ fn symbols() -> anyhow::Result<()> {
}
let mut expected_symbols_txt_fn
- = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
+ = PathBuf::from(option_env!("FORCE_RUNTIME_PATH_SRC")
+ .unwrap_or(env!("CARGO_MANIFEST_DIR")));
expected_symbols_txt_fn.push("src/symbols.txt");
let mut expected_symbols_txt = Vec::new();