您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > ltp-pan原理以及流程
LTP-pan驱动工具的运行原理以及流程一、ltp-pan运行原理Ltp-pan运行原理,它可以运行一个命令,这个命令可以通过命令行传递给程序,也可以将一系列命令放在一个文件中。默认时PAN会从一系列可用的命令集合中随机选取一个命令来运行。在活动文件中的ltp-pan的名字通过标签名来指定。活动文件是一个临时文件,里面存放正在运行的测试用例的命令集合。当一个命令结束时ltp-pan会杀死和清除所有这个命令残余的孤儿进程以及他们所占用的资源。当用例执行完成后会注释掉活动文件中的测试用例,直到所有的活动命令和进程都被杀死之后pan进程才会停止。ltp-pan会根据子进程的返回值来确定测试用例的执行成功还是失败,如果返回0表示执行成功,负责表示执行失败,并且根据提供的参数来记录日志。二、ltp-pan驱动测试用例的具体流程ltp-pan执行一个具体的测试用例的过程如下所示:1.ltp首先从文件中读取一个命令,经过一系列的初始化参数之后将要执行的命令放入到一个链表中,并且将同时执行的用例的一些关键信息也保存在一个链表中。2.打开一个标准输出文件,得到要执行的标签的命令。3.打开一个和父进程通信的管道。4.初始化开始的时间,将开始时间写入日志文件,表明现在开始执行标签后面的测试用例的命令。5.创建一个子进程,用来执行测试用例的命令。将输出到标准输出的东西输出到一个缓冲文件中。查看要执行的命令着那个是否有shell-type的字符,比如'','','$','|',等,如果有的话就调用一个shell然后在shell中执行这个命令。否则就根据空格将命令分开直接执行。6.检查子进程,如果子进程不能执行通过就将其资源清空,并退出这个子进程。7.等到所有子进程都退出或者执行完成后就将activefile中的测试用例加上注释。等所有相关进程都结束后退出运行。三、用ltp-pan运行自己编写的测试脚本:下面对如何运行自己的测试脚本做一个简单的说明:测试用例都放在ltp/runtest中的文本文件中,当然测试用例可以放在任意目录下的任何文件中,只要在运行的时候指定正确的文件名就可以。例如:自己新建一个文件hello,在里面写上helloworldechohelloworld,则在shell中运行命令ltp-pan-ntestdemo-atestzoobaname.txt-f/opt/ltp/runtest/hello-ltestlogfile.txt-p,这个命令参数的有很多具体的功能参考ltp的帮助文档。则ltp-pan运行后日志文件在testlogfile.txt中,其输出格式如下:四、日志输出TestStartTime:MonFeb2110:03:002011-----------------------------------------TestcaseResultExitValue------------------------helloworldPASS0-----------------------------------------------TotalTests:1TotalFailures:0KernelVersion:2.6.34.7-61.fc13.i686.PAEMachineArchitecture:i686Hostname:youfu.nfschina这就是ltp-pan输出的结果或者说是日志文件的格式,如果不指定-p参数则输出文件的格式如下:startup='MonFeb2110:36:572011'tag=helloworldstime=1298255817dur=0exit=exitedstat=0core=nocu=0cs=0可以看出如果不指定p参数则输出的日志文件比较难懂。ltp-pan在运行时会把运行的命令写在-a参数指定的文件中,上例就是写在testzoobaname.txt中,其中的内容如下所示:1261,testdemo,ltp-pan-ntestdemo-atestzoobaname.txt-f/opt/ltp/runtest/hel1262,helloworld,echohelloworld其中运行完成后会在每行前面加#来注释掉之前执行完的命令也就是如下所示:#1261,testdemo,ltp-pan-ntestdemo-atestzoobaname.txt-f/opt/ltp/runtest/hel#1262,helloworld,echohelloworld其中1262表示此次运行的测试用例id号,helloworld是测试用例的标签,echohelloworld表示测试用例的命令,ltp-pan就是通过读取这个文件中的命令来执行相应的测试用例。五、整个ltp-pan的程序流程图如下:
本文标题:ltp-pan原理以及流程
链接地址:https://www.777doc.com/doc-7084995 .html