⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 createpro.tcl

📁 自动化测试代码.进程的创建自动化测试,运用的TCL语言编写,里面有基本语法解释.
💻 TCL
字号:
#连接单板 清空缓冲区 创建测试记录文件 注意用";"号区分代码和注释
MZteSend $DUT2 "reboot"        ;#发送reboot命令  $DUT2代表设备号
MZtePuts "开始重新连接的操作"  ;#在测试日志中打印
set times 0                    ;#给变量赋值
while {$times<50} {            ;#注意两个"{}"之间要用空格:如{$times<50}空格{...} 
incr times 1                   ;#相当如times++
after 1000                     ;#延时1000毫秒
set connect [MZteReconnect $DUT2 3000]  ;#MZteReconnect 重新连接命令
MZteSend $DUT2 "\bzte"
after 1000
MZteSend $DUT2 "\bzte"
after 1000
set  buf  [MZteVerify $DUT2 "SCSShowMcmInfo" -r]  ;#发送SCSShowMcmInfo命令,-r表示有返回值
if { [string first "success" $buf] != -1 } {   ;#string first命令用来搜索$buf中的"success"  
		break
	}
}
if {$connect == 1 && [string first "success" $buf] != -1 } {
	MZtePuts "连接成功,上电成功,开始测试..."
	} else { 
		MZtePuts "上电失败!!!"
		MZteReturn 0 "单板上电失败,请查找问题!"	;#MZteReturn 1(真)0(假) 终止脚本并打印""中内容
	} 
MZteReceive $DUT2
set file [open {d:\schetest.txt} w+] ;#带w+ 参数表示写入,如果没有schetest.txt文件,则创建
#用到的变量设置
set MainTestProc   0x2403
set FirstTestProc  0x2404
set SecondTestProc 0x2405
set Fpno           0x24040001
set pass   "passed"
set fail   "failed"
set s1  "success"

#进程创建删除测试 
   #挂接钩子
      set hook [MZteSend  $DUT2 "Test_RegProcHook   0,1" -t 1000 -r]
      set hook [MZteSend  $DUT2 "Test_RegProcHook   1,0" -t 1000 -r]
set buf [MZteSend  $DUT2 "Test_CreateProcess   $FirstTestProc,$Fpno"]
set buf1 [MZteReceive $buf]
puts $file $buf1  ;#取出缓存中的内容写进文件
#MZtePuts $buf1

#判断结果 step 3
if {[string first $s1 $buf1] != -1} {
    set step3 "passed"
    MZtePuts "创建一个测试进程; step 3 $step3"
} else {
    set step3 "failed"
    MZtePuts "创建一个测试进程; step 3 $step3"
}

#测试step 4 
for { set i 0 } { $i < 8 } { incr i 1 } {
    set buf [MZteSend  $DUT2 "Test_CreateProcess   $FirstTestProc,$Fpno"]
}
set buf1 [MZteReceive $buf]
puts $file $buf1
if { [string first "0x2404000a" $buf1] != -1 } {
    set step4 "passed"
    MZtePuts "创建测试进程在最大实例数(10次)内测试; step 4 $step4"
} else {
    set step4 "failed"
    MZtePuts "创建测试进程在最大实例数(10次)内测试; step 4 $step4"
}

#测试step 5
set buf [MZteSend  $DUT2 "Test_CreateProcess   $FirstTestProc,$Fpno"]
set buf1 [MZteReceive $buf]
puts $file $buf1
if { [string first "create a static proc inst ERROR" $buf1] != -1 } {
    set step5 "passed"
    MZtePuts "超过最大进程实例数后,再创建进程的测试; step 5 $step5"
} else {
    set step5 "failed"
    MZtePuts "超过最大进程实例数后,再创建进程的测试; step 5 $step5"
}
#setp1~setp6都判断一次,给出最终结果
if {[string match "passed" $step3] ==1 && [string match "passed" $step4] ==1 && 
    [string match "passed" $step5] ==1} {
	MZteReturn true "进程创建测试全部通过"
} else {
	MZteReturn false "进程创建测试中有Failed项"  
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -