使用介子构建,如果我在中定义了多个测试meson.build(如此处所示),是否可以构建并运行特定的单个测试?假设我正在开发一个特定的模块,并且想使用命令提示符运行该模块的测试?
您可以给出要运行的测试的名称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