@@ -68,6 +68,8 @@ def _send_message(self, can_id, data, remote=False):
68
68
while self .data and self .data [0 ][0 ] == RX :
69
69
self .network .notify (0x582 , self .data .pop (0 )[1 ], 0.0 )
70
70
71
+ self .message_sent = True
72
+
71
73
def setUp (self ):
72
74
network = canopen .Network ()
73
75
network .NOTIFIER_SHUTDOWN_TIMEOUT = 0.0
@@ -76,6 +78,8 @@ def setUp(self):
76
78
node .sdo .RESPONSE_TIMEOUT = 0.01
77
79
self .network = network
78
80
81
+ self .message_sent = False
82
+
79
83
def test_expedited_upload (self ):
80
84
self .data = [
81
85
(TX , b'\x40 \x18 \x10 \x01 \x00 \x00 \x00 \x00 ' ),
@@ -91,6 +95,7 @@ def test_expedited_upload(self):
91
95
]
92
96
trans_type = self .network [2 ].sdo [0x1400 ]['Transmission type RPDO 1' ].raw
93
97
self .assertEqual (trans_type , 254 )
98
+ self .assertTrue (self .message_sent )
94
99
95
100
def test_size_not_specified (self ):
96
101
self .data = [
@@ -100,13 +105,15 @@ def test_size_not_specified(self):
100
105
# Make sure the size of the data is 1 byte
101
106
data = self .network [2 ].sdo .upload (0x1400 , 2 )
102
107
self .assertEqual (data , b'\xfe ' )
108
+ self .assertTrue (self .message_sent )
103
109
104
110
def test_expedited_download (self ):
105
111
self .data = [
106
112
(TX , b'\x2b \x17 \x10 \x00 \xa0 \x0f \x00 \x00 ' ),
107
113
(RX , b'\x60 \x17 \x10 \x00 \x00 \x00 \x00 \x00 ' )
108
114
]
109
115
self .network [2 ].sdo [0x1017 ].raw = 4000
116
+ self .assertTrue (self .message_sent )
110
117
111
118
def test_segmented_upload (self ):
112
119
self .data = [
@@ -153,6 +160,16 @@ def test_block_download(self):
153
160
'wb' , size = len (data ), block_transfer = True ) as fp :
154
161
fp .write (data )
155
162
163
+ def test_segmented_download_zero_length (self ):
164
+ self .data = [
165
+ (TX , b'\x21 \x00 \x20 \x00 \x00 \x00 \x00 \x00 ' ),
166
+ (RX , b'\x60 \x00 \x20 \x00 \x00 \x00 \x00 \x00 ' ),
167
+ (TX , b'\x0F \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ),
168
+ (RX , b'\x20 \x00 \x00 \x00 \x00 \x00 \x00 \x00 ' ),
169
+ ]
170
+ self .network [2 ].sdo [0x2000 ].raw = ""
171
+ self .assertTrue (self .message_sent )
172
+
156
173
def test_block_upload (self ):
157
174
self .data = [
158
175
(TX , b'\xa4 \x08 \x10 \x00 \x7f \x00 \x00 \x00 ' ),
0 commit comments