📄 createpro.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 + -