Xmake 版本
v3.0.7+HEAD.77d94ad
操作系统版本和架构
Linux DebianDev 6.12.73+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.73-1 (2026-02-17) x86_64 GNU/Linux
描述问题
xmake test -v输出的测试程序stdout等标准流输出时,将流中的输出错误地进行了转义(如$(tmpdir)被按照xmake内置变量规则,替换为了路径)
期待的结果
测试程序的输出应当保持原样
工程配置
xmake.lua:
add_rules("mode.debug", "mode.release")
target("test_fault")
set_kind("binary")
add_files("src/*.cpp")
add_tests("wrong-output")
src/main.cpp:
#include <iostream>
int main()
{
std::cout << "$(tmpdir)" << '\n';
return 0;
}
执行xmake test -v时输出:
[ 23%]: cache compiling.release src/main.cpp
/usr/local/bin/g++ -c -m64 -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -o build/.objs/test_fault/linux/x86_64/release/src/main.cpp.o src/main.cpp
[ 47%]: linking.release test_fault
/usr/local/bin/g++ -o build/linux/x86_64/release/test_fault build/.objs/test_fault/linux/x86_64/release/src/main.cpp.o -m64 -s
running tests ...
[ 0%]: running.test test_fault/wrong-output
report of tests:
[100%]: test_fault/wrong-output passed 0.002s
stdout: /tmp/.xmake1000/260304
100% tests passed, 0 test(s) failed out of 1, spent 0.002s
注意stdout:后,原本应该为$(tmpdir)的被转换为了实际路径
附加信息和错误日志
没有进一步日志,工程例子已经足够说明问题
Xmake 版本
v3.0.7+HEAD.77d94ad
操作系统版本和架构
Linux DebianDev 6.12.73+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.73-1 (2026-02-17) x86_64 GNU/Linux
描述问题
xmake test -v输出的测试程序stdout等标准流输出时,将流中的输出错误地进行了转义(如$(tmpdir)被按照xmake内置变量规则,替换为了路径)期待的结果
测试程序的输出应当保持原样
工程配置
xmake.lua:src/main.cpp:执行
xmake test -v时输出:注意
stdout:后,原本应该为$(tmpdir)的被转换为了实际路径附加信息和错误日志
没有进一步日志,工程例子已经足够说明问题