修正测试用例

This commit is contained in:
2025-08-05 10:00:46 +08:00
parent 594c8d70d9
commit 5566d35f1e
4 changed files with 127 additions and 55 deletions

View File

@@ -12,7 +12,7 @@ if __name__ == '__main__':
#add_tc_2_runlist(errorPkt.tc4()) #add_tc_2_runlist(errorPkt.tc4())
add_tc_2_runlist(base.tc1()) #add_tc_2_runlist(base.tc1())
#add_tc_2_runlist(base.tc2()) #add_tc_2_runlist(base.tc2())
#add_tc_2_runlist(base.tc3()) #add_tc_2_runlist(base.tc3())
#add_tc_2_runlist(base.tc4()) #add_tc_2_runlist(base.tc4())
@@ -25,9 +25,9 @@ if __name__ == '__main__':
#add_tc_2_runlist(base.tc11()) #add_tc_2_runlist(base.tc11())
#add_tc_2_runlist(broadcast.tc1()) add_tc_2_runlist(broadcast.tc1())
#add_tc_2_runlist(broadcast.tc2()) add_tc_2_runlist(broadcast.tc2())
#add_tc_2_runlist(broadcast.tc3()) add_tc_2_runlist(broadcast.tc3())
add_tc_2_runlist(sync.tc1()) add_tc_2_runlist(sync.tc1())
add_tc_2_runlist(sync.tc2()) add_tc_2_runlist(sync.tc2())

View File

@@ -24,7 +24,6 @@ def tc1():
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des))
clear_int = [0xff, 0xff, 0xff, 0xff]
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)
@@ -38,11 +37,11 @@ def tc1():
+genIFRwDataCode(4, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断") +genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, clear_int) +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, clear_int) +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, clear_int) +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, clear_int) +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, clear_int) +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断") +genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(0, 0x74, False, 4)
@@ -79,8 +78,6 @@ def tc2():
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des))
clear_int = [0xff, 0xff, 0xff, 0xff]
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)
@@ -94,11 +91,11 @@ def tc2():
+genIFRwDataCode(4, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断") +genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, clear_int) +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, clear_int) +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, clear_int) +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, clear_int) +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, clear_int) +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断") +genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(0, 0x74, False, 4)
@@ -142,8 +139,6 @@ def tc3():
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des))
clear_int = [0xff, 0xff, 0xff, 0xff]
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)
@@ -163,11 +158,11 @@ def tc3():
+genIFRwDataCode(4, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断") +genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, clear_int) +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, clear_int) +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, clear_int) +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, clear_int) +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, clear_int) +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断") +genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(0, 0x74, False, 4)
@@ -207,8 +202,6 @@ def tc4():
genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des)) genPkt.addBeforeExc(genTcStartFrameCode(gen_file_def, tc_des))
clear_int = [0xff, 0xff, 0xff, 0xff]
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)
@@ -222,11 +215,11 @@ def tc4():
+genIFRwDataCode(4, 0x74, False, 4) +genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断") +genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, clear_int) +genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, clear_int) +genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, clear_int) +genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, clear_int) +genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, clear_int) +genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断") +genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4) +genIFRwDataCode(0, 0x74, False, 4)

View File

@@ -7,8 +7,7 @@ def tc1():
gen_file_def = "broadcast_tc01" gen_file_def = "broadcast_tc01"
sm_idx = 0 sm_idx = 0
tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ tc_des = "发送广播数据包,广播读取,广播读回的数据是四个从站对应寄存器位与的结果。"
+ "清除中断后,错误消失,出问题的设备恢复正常。"
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
#>>>>>>广播读 #>>>>>>广播读
@@ -21,10 +20,10 @@ def tc1():
genPkt.addSubPkt(0x2, 0, 0xc0, 0x0, 4, b"\0"*4) genPkt.addSubPkt(0x2, 0, 0xc0, 0x0, 4, b"\0"*4)
genPkt.addSubPkt(0x3, 0, 0xc0, 0x0, 4, b"\0"*4) genPkt.addSubPkt(0x3, 0, 0xc0, 0x0, 4, b"\0"*4)
genPkt.addSubPkt(0x4, 0, 0xc0, 0x0, 4, b"\0"*4) genPkt.addSubPkt(0x4, 0, 0xc0, 0x0, 4, b"\0"*4)
genPkt.addSubPkt(random.randint(0, 2048), 0, 0xc0, 0xd, 4, b"\0"*4) genPkt.addSubPkt(0x100, 0, 0xc0, 0xd, 4, b"\0"*4)
genPkt.addSubPkt(random.randint(0, 2048), 0, 0xc0, 0xd, 4, b"\0"*4) genPkt.addSubPkt(0x100, 0, 0xc0, 0xd, 4, b"\0"*4)
genPkt.addSubPkt(random.randint(0, 2048), 0, 0xc0, 0xd, 4, b"\0"*4) genPkt.addSubPkt(0x100, 0, 0xc0, 0xd, 4, b"\0"*4)
genPkt.addSubPkt(random.randint(0, 2048), 0, 0xc0, 0xd, 4, b"\0"*4) genPkt.addSubPkt(0x100, 0, 0xc0, 0xd, 4, b"\0"*4)
#gen_file_def = "bc_r_pkt" #gen_file_def = "bc_r_pkt"
@@ -36,6 +35,28 @@ def tc1():
+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)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genTcEndFrameCode(gen_file_def)) +genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
@@ -48,24 +69,24 @@ def tc2():
gen_file_def = "broadcast_tc02" gen_file_def = "broadcast_tc02"
sm_idx = 0 sm_idx = 0
tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ tc_des = "广播写入写入SM032个字符长度的数据。"
+ "清除中断后,错误消失,出问题的设备恢复正常。"
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
#>>>>>>广播写 #>>>>>>广播写
genPkt.clean() genPkt.clean()
genPkt.setPktType(0) genPkt.setPktType(0)
sm_size = 32
#subPkt参数索引、索引类型、地址、命令、长度、数据 #subPkt参数索引、索引类型、地址、命令、长度、数据
data = bytearray(b"\0" * 2) data = bytearray(b"\0" * 2)
data[0] = 32 data[0] = sm_size & 0xff
data[1] = 0 data[1] = (sm_size >> 8) & 0xff
genPkt.addSubPkt(random.randint(0, 2048), 0, 0x0302, 0xe, 2, data) genPkt.addSubPkt(2000, 0, 0x0302, 0xe, 2, data)
data = bytearray(b"\0"*100) data = bytearray(b"\0"*sm_size)
for i in range(100): for i in range(sm_size):
data[i] = i + 1 data[i] = i + 1
genPkt.addSubPkt(random.randint(0, 2048), 0, 0x0800, 0xe, 32, data) genPkt.addSubPkt(2000, 0, 0x0800, 0xe, sm_size, data)
sm_idx = 0 sm_idx = 0
@@ -75,6 +96,39 @@ def tc2():
+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)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--读取SM的状态")
+genIFRwDataCode(1, 0x300, False, 0x20)
+genIFRwDataCode(2, 0x300, False, 0x20)
+genIFRwDataCode(3, 0x300, False, 0x20)
+genIFRwDataCode(4, 0x300, False, 0x20)
+genSlvSMReadData(1, 0, sm_size)
+genSlvSMReadData(2, 0, sm_size)
+genSlvSMReadData(3, 0, sm_size)
+genSlvSMReadData(4, 0, sm_size)
+genTcEndFrameCode(gen_file_def)) +genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)
@@ -87,8 +141,7 @@ def tc3():
gen_file_def = "broadcast_tc03" gen_file_def = "broadcast_tc03"
sm_idx = 0 sm_idx = 0
tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ tc_des = "广播读写读写0xc0开始的链路寄存器组。所有从站设备采用位与策略往报文中输入。"
+ "清除中断后,错误消失,出问题的设备恢复正常。"
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
#>>>>>>广播读写 #>>>>>>广播读写
@@ -97,9 +150,7 @@ def tc3():
#subPkt参数索引、索引类型、地址、命令、长度、数据 #subPkt参数索引、索引类型、地址、命令、长度、数据
data = bytearray(b"\0"*100) data = bytearray(b"\0"*100)
for i in range(4): genPkt.addSubPkt(1024, 0, 0x00c0, 0xf, 4, data)
data[i] = i + 1
genPkt.addSubPkt(random.randint(0, 2048), 0, 0x00c0, 0xf, 4, data)
sm_idx = 0 sm_idx = 0
@@ -109,6 +160,28 @@ def tc3():
+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)
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genMessageCode("--清除中断")
+genIFRwDataCode(0, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(1, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(2, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(3, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genIFRwDataCode(4, 0x78, True, 4, [0xff, 0xff, 0xff, 0xff])
+genMessageCode("--读取中断")
+genIFRwDataCode(0, 0x74, False, 4)
+genIFRwDataCode(1, 0x74, False, 4)
+genIFRwDataCode(2, 0x74, False, 4)
+genIFRwDataCode(3, 0x74, False, 4)
+genIFRwDataCode(4, 0x74, False, 4)
+genTcEndFrameCode(gen_file_def)) +genTcEndFrameCode(gen_file_def))
genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1) genPkt.gen("./generated/shin/%s.vh"%(gen_file_def, ), 1)

View File

@@ -6,8 +6,9 @@ def tc1():
gen_file_def = "sync_tc01" gen_file_def = "sync_tc01"
sm_idx = 0 sm_idx = 0
tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ tc_des = "发送时钟信息,完成后,从站的系统时间与主站时间完全同步。主站发送\\n" \
+ "清除中断后,错误消失,出问题的设备恢复正常。" + "自己的时钟和系统延迟,从站利用该信息进行校准自己的时钟。需要在波形软件里确认。\\n" \
+ "仅看通讯数据无法确定系统功能正常。"
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
#>>>>>>同步数据包 #>>>>>>同步数据包
@@ -40,8 +41,8 @@ def tc2():
gen_file_def = "sync_tc02" gen_file_def = "sync_tc02"
sm_idx = 0 sm_idx = 0
tc_des = "发送错误的数据包,导致设备出问题,出问题的设备在没有恢复的情况下,采取直通状态。\\n" \ tc_des = "配置Sync信号为电平触发设置SYNC的同步周期SYNC1、SYNC3的偏移\\n" \
+ "清除中断后,错误消失,出问题的设备恢复正常" + "SYNC触发后需要手动清除SYNC信号"
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
#>>>>>>设置同步信号的数据包,在波形中确认定时的有效性 #>>>>>>设置同步信号的数据包,在波形中确认定时的有效性
@@ -69,10 +70,15 @@ def tc2():
data[24] = 0x00 #地址0x138, sync周期 4B data[24] = 0x00 #地址0x138, sync周期 4B
data[25] = 0x10 #地址0x139 data[25] = 0x10 #地址0x139
#28, 29, 30, 31
data[28] = 0x81 #sync1偏移 data[28] = 0x81 #sync1偏移
data[29] = 0x0 data[29] = 0x0
data[36] = 0x20#sync3偏移 #32,33,34,35 #sync2偏移
#36,37,38,39
data[36] = 0x20 #sync3偏移
data[37] = 0x00 data[37] = 0x00
genPkt.addSubPkt(0, 0, 0x120, 0xe, 0x28, data) genPkt.addSubPkt(0, 0, 0x120, 0xe, 0x28, data)