为介子构建运行特定测试

use*_*541 3 meson-build

使用介子构建,如果我在中定义了多个测试meson.build(如此处所示),是否可以构建并运行特定的单个测试?假设我正在开发一个特定的模块,并且想使用命令提示符运行该模块的测试?

Yas*_*oji 5

您可以给出要运行的测试的名称meson test。来自介子的文档

按名称指定测试,例如:

$ meson test testname1 testname2

或者,如果您不在构建目录中,请执行以下操作:

$ meson test -C builddir testname1 testname2

可用测试的列表可以通过以下方式显示:

$ meson test --list

正如文档的单元测试部分所述:

Meson 配备功能齐全的单元测试系统

您的测试将由 Meson 运行并且仅由 Meson 运行,这意味着您的测试没有 Ninja 目标。介子是测试运行者。

$ meson test -C builddir 'my 1st test'
ninja: Entering directory `/tmp/meson-test/builddir'
ninja: no work to do.
1/1 my 1st test        OK              0.00s

Ok:                 1   
Expected Fail:      0   
Fail:               0   
Unexpected Pass:    0   
Skipped:            0   
Timeout:            0   

Full log written to /tmp/meson-test/builddir/meson-logs/testlog.txt
Run Code Online (Sandbox Code Playgroud)

meson.build

project('tutorial', 'c')
e = executable('demo', 'main.c')
test('my 1st test', e)
test('my 2nd test', e)
Run Code Online (Sandbox Code Playgroud)

如果您使用的介子版本早于 0.42,则需要使用以下mesontest命令:

$ mesontest testname