Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
compiler-test
提交
6dea836b
C
compiler-test
项目概览
openeuler
/
compiler-test
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
compiler-test
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6dea836b
编写于
7月 04, 2020
作者:
O
openeuler-ci-bot
提交者:
Gitee
7月 04, 2020
浏览文件
操作
浏览文件
下载
差异文件
!5 deja最新的使用说明
Merge pull request !5 from liuyang/master
上级
06a370ee
7c385db2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
64 addition
and
0 deletion
+64
-0
deja.md
deja.md
+64
-0
未找到文件。
deja.md
0 → 100644
浏览文件 @
6dea836b
# dejagnu使用说明
## dejagnu介绍:
dejagnu是一个用于其它应用程序测试的框架。gnu工具链的所有测试用例都是用Tcl/Expert书写的。
## 下载dejagnu:
http://mirrors.ustc.edu.cn/gnu/dejagnu/dejagnu-1.6.1.tar.gz
## 下载gcc-9.3的testsuite:
https://ftp.gnu.org/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz
下载完成之后,找到testsuite目录,目录里面是gcc-9.3的测试用例。
## 安装dejagnu:
解压dejagnu-1.6.1.tar.gz,
`cd dejagnu-1.6.1`
`./configure --prefix=$install_deja && make -j && make install`
安装完成之后在$install_deja目录会生成bin、include、share三个目录。
## 执行测试:
1.
设置deja和gcc-9.3的环境变量
`export PATH=$install_deja/bin:$PATH`
`export PATH=$gcc_dir/bin:$PATH`
2.
配置site.exp文件
安装完deja之后,运行测试需要一个site.exp文件,这个文件可以从已经有deja环境的机器上拷贝过来,也可以自己生成,然后再根据待测工具链的实际情况进行修改。
-
自己生成site.exp, 进入dejagnu-1.6.1目录;
执行
`./configure && make && make -j -k check`
会有site.exp生成。然后,再把site.exp拷贝到gcc-9.3的testsuite目录下,根据自己的实际情况修改site.exp文件。
例如: 修改site.exp内容:
`set srcdir ./`
`set objdir ./`
`set tempdir ./`
-
如果deja测试需要加选项,需要修改site.exp文件。
例如:增加
`set CFLAGS_FOR_TARGET "-mcmodel=medium"`
-
如果只跑编译,需要修改site.exp文件。
例如:增加
`set keep_file "YES"`
。
3.
运行测试
-
执行单个用例:
在gcc-9.3源码的testsuite目录下找到对应的用例,例如:
`split-path-10.c`
,同级目录下一
般会有一个exp文件:tree-ssa.exp,如果没有就往上层目录找。
在gcc-9.3的testsuite目录下执行:
`runtest --tool gcc tree-ssa.exp=split-path-10.c`
-
执行单个exp下的所有用例:
`runtest --tool gcc tree-ssa.exp`
-
执行gcc下的所有用例:
`runtest --tool gcc`
-
如果要测试g++:
`runtest --tool g++`
4.
用例执行结果
DejaGnu遵循POSIX 1003.3测试框架标准,测试用例的输出被定义为以下几种:
-
PASS: 测试结果正确,用例成功
-
XFAIL: 预期用例执行错误,实际运行也执行错误,测试结果正确
-
XPASS:预期用例执行错误但是成功,测试结果错误
-
FAIL:测试结果错误,用例失败
-
UNRESOLVED:测试结果不确定,通常意味着测试用例以意外的方式执行了,这时候需要测试人员去
判断执行结果正确或错误。有时也意味着需要人工干涉此用例的执行,因为超过了测试框架的能力范
围。
发生UNRESOLED的情况举例:
-
测试执行被中断
-
测试没有明确的结果,通常是由于DejaGnu执行用例时产生了ERROR或者三个以上的WARNING。
-
本测试取决于之前的测试,而之前的测试失败。
-
测试用例安装错误
-
UNTESTED:测试未执行,没有测试用例。
-
UNSUPPORTED:当前环境不支持此用例执行。
## 执行用例后产生的日志文件:
所有用例执行之后
-
运行用例后dejagnu会在当前目录下生成一个sum文件和log文件
-
sum文件只记录用例执行结果
-
log详细记录了每个用例的执行过程
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录