String 介子:::1生成弃用:";:&引用;测试名称中不允许,它已替换为_&引用;

String 介子:::1生成弃用:";:&引用;测试名称中不允许,它已替换为_&引用;,string,testing,meson-build,String,Testing,Meson Build,我有一个介子测试,它测试ping到::1 args = ['-c 1', '::1'] name = 'ping ' + ' '.join(args) # 'ping -c1 ::1' test(name, ping, args : args) 介子测试生成: meson.build:94: DEPRECATION: ":" is not allowed in test name "ping -c::1", it has been replaced wi

我有一个介子测试,它测试ping到
::1

args = ['-c 1', '::1']
name = 'ping ' + ' '.join(args) # 'ping -c1 ::1'
test(name, ping, args : args)
介子测试
生成:

meson.build:94: DEPRECATION: ":" is not allowed in test name "ping -c::1", it has been replaced with "_"
...
1/1 ping -c1 __1            OK             0.02s

但是我真的很想打印正在发出的命令,因为即使是
meson test-v
也不会打印命令。

看起来您的meson version>=0.56,因为此检查/弃用是使用“:”语法添加的结果,该语法将子项目的名称与测试名称分隔开来,例如:

meson test subprojectname:testname
因此,显然,它必须被替换,以避免将名称的一部分误解为不存在的子项目(所以您看到的只是关于这一点的警告,它被替换为“_”)

该提交还有关于“:”的特定推理

因此,您的选择是始终将介子保持在0.56以下(我在我的0.49上检查了您的代码,它工作正常),这显然是不好的,或者修改您的测试名称:

test('test_ping_loopback', ping, args : args)

谢谢你的信息!保留旧版本是不可能的,因为这应该是docker测试的一部分,因为它是一个系统工具,我们尝试支持各种旧的和新的介子版本(travis:,由于拉速限制,将切换到github操作)。但有这样的限制是我不认为介子是一个好的构建系统的另一个原因。我可能会报告一个关于此限制的错误。@pevik的限制相当合理,但在子项目中运行测试的能力需要,比如说,对于30%的用户来说,在测试中使用冒号,比如说,对于0.01%->设计始终是一种权衡。
test('test_ping_loopback', ping, args : args)