dev-util/rust-script: fix tests with new cargo.eclass

Signed-off-by: Takuya Wakazono <pastalian46@gmail.com>
This commit is contained in:
Takuya Wakazono
2024-08-10 12:32:05 +09:00
parent d15548d1ef
commit 45bce1db40
2 changed files with 26 additions and 7 deletions

View File

@@ -0,0 +1,20 @@
- cargo_target_dir helper contains {debug,release}
- tests does not work with CARGO_BUILD_TARGET defined
https://github.com/fornwall/rust-script/issues/85
--- a/tests/util/mod.rs
+++ b/tests/util/mod.rs
@@ -15,12 +15,13 @@ macro_rules! rust_script {
let out = {
let target_dir = ::std::env::var("CARGO_TARGET_DIR")
.unwrap_or_else(|_| String::from("target"));
- let mut cmd = Command::new(format!("{}/debug/rust-script", target_dir));
+ let mut cmd = Command::new(format!("{}/rust-script", target_dir));
$(
cmd.arg($args);
)*
cmd.env_remove("CARGO_TARGET_DIR");
+ cmd.env_remove("CARGO_BUILD_TARGET");
$(cmd.env(stringify!($env_k), $env_v);)*
cmd_str = format!("{:?}", cmd);

View File

@@ -116,13 +116,12 @@ KEYWORDS="~amd64"
QA_FLAGS_IGNORED="usr/bin/.*"
PATCHES=(
# tests does not work with CARGO_BUILD_TARGET defined
"${FILESDIR}/${P}-fix-test.patch"
)
src_prepare() {
default
use debug || sed -i "s|/debug/|/release/|" tests/util/mod.rs || die
# cargo.eclass uses the old config and deprecation warning breaks the test.
if [[ ! -e "${ECARGO_HOME}/config.toml" ]]; then
ln -s "${ECARGO_HOME}/config" "${ECARGO_HOME}/config.toml" || die
fi
sed -i "s|\"target\"|\"$(cargo_target_dir)\"|" tests/util/mod.rs || die
}