有条件地跳过DejaGNU测试套件的子集

时间:2017-04-06 16:30:17

标签: testing automated-tests

我正在使用DejaGNU来测试编译器工具链。

我需要跳过一堆执行测试 - 尝试并运行已编译的可执行文件 - 但只有在特定模拟器(QEMU)上运行这些测试时才会运行。在硬件上运行这些可执行文件仍然是相关的,所以我不想简单地从测试套件中删除测试。

DejaGNU documentation在该主题上非常稀少。 man runtest提及--ignore开关:

--ignore test1.exp test2.exp ...
        Do not run the specified tests.

我无法确定哪些.exp我需要排除查看测试结果日志。有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

容易腻。

首先,测试日志将告知哪个.exp失败。例如:

Running ${NEWLIB_PATH}/testsuite/newlib.locale/UTF-8.exp ...
Executing on host: (bla bla bla)
PASS: newlib.locale/UTF-8.c compilation
spawn (bla bla bla)
Failed to set C-UTF-8 locale.
newlib.locale/UTF-8.c: Expected: Set C-UTF-8 locale. Got: Failed to set C-UTF-8 locale. 
FAIL: newlib.locale/UTF-8.c output

请注意,此日志条目的第一行显示Running UTF-8.exp ...。现在,要跳过它,只需按如下方式运行DejaGnu: runtest --ignore UTF-8.exp