测试 – 使用cfg文件的Hello world llvm-lit

我正试图用llvm-lit运行一个简单的测试.我有一个专用目录:

llvm-lit-dir
+---lit.cfg
+---llvm_lit_example.c

cfg文件来自llvm-3.8.0 / utils / lit / lit / ExampleTests.ObjDir.
这里是:

$cat lit.cfg
config.example_obj_root = os.path.dirname(__file__)
lit.load_config(config, os.path.join(config.test_source_root,'lit.cfg'))

以下是我要检查的示例:

$cat llvm_lit_example.c
// RUN: %clang -o %t0 %s
// RUN: %t0 | grep "YES"

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
    int i=rand()%4;

    char s1[5]={'0','1','2','3', 0 };
    char s2[5]={'0','1','2','3', 0 };

    s1[i]='6';

    if (strcmp(s1,s2) == 0) printf("NO \n");
    if (strcmp(s1,s2) != 0) printf("YES\n");
}

我尝试过几个选项,但似乎没有任何选择:

$llvm-lit llvm-lit-dir/llvm_lit_example.c
llvm-lit: TestingConfig.py:114: fatal: unable to parse config file '/home//llvm-lit-dir/lit.site.cfg', traceback: Traceback (most recent call last):
File "/home/llvm-3.8.0/llvm/utils/lit/lit/TestingConfig.py", line 101, in load_from_path
  exec(compile(data, path, 'exec'), cfg_globals, None)
File "/home/llvm-lit-dir/lit.site.cfg", line 14, in <module>
  lit.load_config(config, os.path.join(config.test_source_root,'lit.cfg'))
NameError: name 'lit' is not defined

我究竟做错了什么?谢谢!

最佳答案 这个配置是一个python源.点亮那里显然是不确定的.尝试导入与lit相关的内容,例如lit.llvm import llvm_config.查看LLVM源代码中的test / lit.cfg.py.

点赞