@@ -142,13 +142,6 @@ fn test_simple_signer() {
142
142
chunks. push ( chunk_event) ;
143
143
}
144
144
145
- chunks. sort_by ( |ev1, ev2| {
146
- ev1. modified_slots [ 0 ]
147
- . slot_id
148
- . partial_cmp ( & ev2. modified_slots [ 0 ] . slot_id )
149
- . unwrap ( )
150
- } ) ;
151
-
152
145
let thread_chunks = chunks. clone ( ) ;
153
146
154
147
// simulate a node that's trying to push data
@@ -186,41 +179,45 @@ fn test_simple_signer() {
186
179
187
180
let sent_events: Vec < SignerEvent < SignerMessage > > = chunks
188
181
. iter ( )
189
- . map ( |chunk| {
190
- let msg = chunk. modified_slots [ 0 ] . data . clone ( ) ;
191
- let pubkey = chunk. modified_slots [ 0 ]
192
- . recover_pk ( )
193
- . expect ( "Faield to recover public key of slot" ) ;
194
- let signer_message = read_next :: < SignerMessage , _ > ( & mut & msg[ ..] ) . unwrap ( ) ;
182
+ . map ( |event| {
183
+ let messages: Vec < ( StacksPublicKey , SignerMessage ) > = event
184
+ . modified_slots
185
+ . iter ( )
186
+ . filter_map ( |chunk| {
187
+ Some ( (
188
+ chunk. recover_pk ( ) . ok ( ) ?,
189
+ read_next :: < SignerMessage , _ > ( & mut & chunk. data [ ..] ) . ok ( ) ?,
190
+ ) )
191
+ } )
192
+ . collect ( ) ;
195
193
SignerEvent :: SignerMessages {
196
194
signer_set : 0 ,
197
- messages : vec ! [ ( pubkey , signer_message ) ] ,
195
+ messages,
198
196
received_time : SystemTime :: now ( ) ,
199
197
}
200
198
} )
201
199
. collect ( ) ;
202
200
203
- for ( sent_event , accepted_event ) in sent_events. iter ( ) . zip ( accepted_events . iter ( ) ) {
201
+ for event in sent_events {
204
202
let SignerEvent :: SignerMessages {
205
- signer_set,
206
- messages,
207
- received_time ,
208
- } = sent_event
203
+ signer_set : sent_signer_set ,
204
+ messages : sent_messages ,
205
+ ..
206
+ } = event
209
207
else {
210
- panic ! ( "BUG: should not have sent anything but a signer message " ) ;
208
+ panic ! ( "We expect ONLY signer messages " ) ;
211
209
} ;
212
- let SignerEvent :: SignerMessages {
213
- signer_set : accepted_signer_set,
214
- messages : accepted_messages,
215
- received_time : accepted_time,
216
- } = accepted_event
217
- else {
218
- panic ! ( "BUG: should not have accepted anything but a signer message" ) ;
219
- } ;
220
-
221
- assert_eq ! ( signer_set, accepted_signer_set) ;
222
- assert_eq ! ( messages, accepted_messages) ;
223
- assert_ne ! ( received_time, accepted_time) ;
210
+ assert ! ( accepted_events. iter( ) . any( |e| {
211
+ let SignerEvent :: SignerMessages {
212
+ signer_set: accepted_signer_set,
213
+ messages: accepted_messages,
214
+ ..
215
+ } = e
216
+ else {
217
+ panic!( "We expect ONLY signer messages" ) ;
218
+ } ;
219
+ * accepted_signer_set == sent_signer_set && * accepted_messages == sent_messages
220
+ } ) )
224
221
}
225
222
mock_stacks_node. join ( ) . unwrap ( ) ;
226
223
}
0 commit comments