增加reset的测试用例

This commit is contained in:
2025-08-01 17:01:30 +08:00
parent 9cc392c981
commit 59c1d46876
3 changed files with 106 additions and 14 deletions

View File

@@ -26,7 +26,7 @@
//`define ENABLE_SYNC_TEST "generated/log/sync_tc.log" //`define ENABLE_SYNC_TEST "generated/log/sync_tc.log"
//`define ENABLE_SYNC_SIG0_TEST "generated/log/sync_sig0_tc.log" //`define ENABLE_SYNC_SIG0_TEST "generated/log/sync_sig0_tc.log"
//`define ENABLE_SYNC_SIG1_TEST "generated/log/sync_sig1_tc.log" //`define ENABLE_SYNC_SIG1_TEST "generated/log/sync_sig1_tc.log"
`define ENABLE_RESET_TEST "generated/log/reset_tc.log" //`define ENABLE_RESET_TEST "generated/log/reset_tc.log"
//`define ENABLE_WD1_TEST "generated/log/wd1_tc.log" //`define ENABLE_WD1_TEST "generated/log/wd1_tc.log"

View File

@@ -20,6 +20,7 @@ if __name__ == '__main__':
base.tc6() base.tc6()
base.tc7() base.tc7()
base.tc8() base.tc8()
add_tc_2_runlist(base.tc9())
broadcast.tc1() broadcast.tc1()
broadcast.tc2() broadcast.tc2()

View File

@@ -285,30 +285,121 @@ def tc9():
gen_file_def = "base_tc09" gen_file_def = "base_tc09"
sm_idx = 0 sm_idx = 0
tc_des = "测试8个ebmmu全配置下运行每两个ebmmu对应一个sm。每个ebmmu必须对齐、足长的写入\\n" \ tc_des = "测试RESET仅复位主站和2号设备链路和网络被破坏发送广播包只能到1,23,4收不到。\\n" \
+ "对应的sm才能正常工作。两次写入数据复位设备1的SM1SM1状态复原不能读取到有效的数据。\\n"\ + "通过嗅探包、设置顺序地址命令等重新建立网络。"
+ "测试用例能成功运行完毕除设备1的SM1其余的SMx都能获得正确的数据。\\n\\n" \
+ "检查内容ebmmu工作状态、回包工作计数、SMx的状态、中断状态、统计信息、相关时序"
#-------------------------------------------------------------------------
#>>>>>>设置顺序地址 #>>>>>>设置顺序地址
genPkt.clean() genPkt.clean()
genPkt.setPktType(0) genPkt.setPktType(0)
data = bytearray(b"\0" * 2) reset_data = [0x01, 0x00, 0x66, 0x79]
data[0] = 0x3f main_dev = [0x01, ]
data[1] = 0xff slave_dev = [0x02, ]
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)
+genIFRwDataCode(0, 0x78, False, 4)
+genIFRwDataCode(0, 0x40, True, 4, reset_data)
+genIFRwDataCode(2, 0x40, True, 4, reset_data)
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+"\n#5000\n"
+genIFRwDataCode(0, 0x00, True, 1, main_dev)
+genIFRwDataCode(2, 0x00, True, 1, slave_dev)
)
data = [0,] * 128
#subPkt参数索引、索引类型、地址、命令、长度、数据 #subPkt参数索引、索引类型、地址、命令、长度、数据
genPkt.addSubPkt(0x0, 0, random.randint(0, 65535), 0xb, 2, data) genPkt.addSubPkt(0x0, 0, 0x0, 0xd, 128, data)
gen_file_def = "set_addr_pkt"
sm_idx = 0 sm_idx = 0
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx) genPkt.addAfterExc(genWriteTransLenCode(gen_file_def, sm_idx)
+genWriteTransPktCode(gen_file_def, sm_idx) +genWriteTransPktCode(gen_file_def, sm_idx)
+genTrgTransPktCode(gen_file_def, sm_idx) +genTrgTransPktCode(gen_file_def, sm_idx)
+genReadAckPktCode(gen_file_def, sm_idx)) +genReadAckPktCode(gen_file_def, sm_idx)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
#------------------------------------------------------------------------------
genPkt.clean()
genPkt.setPktType(1)
genPkt.addBeforeExc(genIFRwDataCode(1, 0xc0, False, 4)
+genIFRwDataCode(2, 0xc0, False, 4)
+genIFRwDataCode(3, 0xc0, False, 4)
+genIFRwDataCode(4, 0xc0, False, 4)
)
gen_file_def_ap = gen_file_def + "_rw01"
sm_idx = 0
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
#+genTcEndFrameCode(gen_file_def)
+genIFRwDataCode(1, 0xc0, False, 4)
+genIFRwDataCode(2, 0xc0, False, 4)
+genIFRwDataCode(3, 0xc0, False, 4)
+genIFRwDataCode(4, 0xc0, False, 4)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
#------------------------------------------------------------------------------
genPkt.clean()
genPkt.setPktType(0)
gen_file_def_ap = gen_file_def + "_rw02"
sm_idx = 0
data = [0x3f, 0xff]
genPkt.addSubPkt(0x0, 0, 0x0, 0xb, 2, data)
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
#+genTcEndFrameCode(gen_file_def)
+genIFRwDataCode(1, 0xc0, False, 4)
+genIFRwDataCode(2, 0xc0, False, 4)
+genIFRwDataCode(3, 0xc0, False, 4)
+genIFRwDataCode(4, 0xc0, False, 4)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
#------------------------------------------------------------------------------
genPkt.clean()
genPkt.setPktType(1)
genPkt.addBeforeExc(genIFRwDataCode(1, 0xc0, False, 4)
+genIFRwDataCode(2, 0xc0, False, 4)
+genIFRwDataCode(3, 0xc0, False, 4)
+genIFRwDataCode(4, 0xc0, False, 4)
)
gen_file_def_ap = gen_file_def + "_rw03"
sm_idx = 0
genPkt.addAfterExc(genWriteTransLenCode(gen_file_def_ap, sm_idx)
+genWriteTransPktCode(gen_file_def_ap, sm_idx)
+genTrgTransPktCode(gen_file_def_ap, sm_idx)
+genReadAckPktCode(gen_file_def_ap, sm_idx)
+genIFRwDataCode(1, 0xc0, False, 4)
+genIFRwDataCode(2, 0xc0, False, 4)
+genIFRwDataCode(3, 0xc0, False, 4)
+genIFRwDataCode(4, 0xc0, False, 4)
+genTcEndFrameCode(gen_file_def)
)
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1, True, gen_file_def_ap)
return gen_file_def return gen_file_def