2017-04-06 42 views
0

我正在使用DejaGNU来测试编译器工具链。跳过DejaGNU测试套件的子集有条件地

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

DejaGNU documentation在该主题上相当稀少。 man runtest提到了--ignore开关:

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

我只是不能工作了哪些.exp我需要从看测试结果日志排除。有谁知道如何解决这个问题?

回答

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