@@ -72,6 +72,20 @@ mod sled0 {
72
72
"af1ebf85-36ba-4c31-bbec-b9825d6d9d8b" . parse ( ) . expect ( "is a valid UUID" )
73
73
} ) ;
74
74
75
+ def_ereport ! {
76
+ LOSS : {
77
+ "baseboard_part_number" : "SimGimletSp" ,
78
+ "baseboard_serial_number" : "SimGimlet00" ,
79
+ "hubris_archive_id" : "ffffffff" ,
80
+ "hubris_version" : "0.0.2" ,
81
+ "hubris_task_name" : "packrat" ,
82
+ "hubris_task_gen" : 0 ,
83
+ "hubris_uptime_ms" : 666 ,
84
+ "ereport_message_version" : 0 ,
85
+ "lost" : null,
86
+ }
87
+ }
88
+
75
89
def_ereport ! {
76
90
EREPORT_1 : {
77
91
"baseboard_part_number" : "SimGimletSp" ,
@@ -82,7 +96,7 @@ mod sled0 {
82
96
"hubris_task_gen" : 13 ,
83
97
"hubris_uptime_ms" : 1233 ,
84
98
"ereport_message_version" : 0 ,
85
- "class " : "gov.nasa.apollo.o2_tanks.stir.begin" ,
99
+ "k " : "gov.nasa.apollo.o2_tanks.stir.begin" ,
86
100
"message" : "stirring the tanks" ,
87
101
}
88
102
}
@@ -96,7 +110,7 @@ mod sled0 {
96
110
"hubris_task_gen" : 1 ,
97
111
"hubris_uptime_ms" : 1234 ,
98
112
"ereport_message_version" : 0 ,
99
- "class " : "io.discovery.ae35.fault" ,
113
+ "k " : "io.discovery.ae35.fault" ,
100
114
"message" : "i've just picked up a fault in the AE-35 unit" ,
101
115
"de" : {
102
116
"scheme" : "fmd" ,
@@ -119,7 +133,7 @@ mod sled0 {
119
133
"hubris_task_gen" : 13 ,
120
134
"hubris_uptime_ms" : 1237 ,
121
135
"ereport_message_version" : 0 ,
122
- "class " : "gov.nasa.apollo.fault" ,
136
+ "k " : "gov.nasa.apollo.fault" ,
123
137
"message" : "houston, we have a problem" ,
124
138
"crew" : [
125
139
"Lovell" ,
@@ -139,7 +153,7 @@ mod sled0 {
139
153
"hubris_task_gen" : 2 ,
140
154
"hubris_uptime_ms" : 1240 ,
141
155
"ereport_message_version" : 0 ,
142
- "class " : "flagrant_error" ,
156
+ "k " : "flagrant_error" ,
143
157
"computer" : false ,
144
158
}
145
159
}
@@ -154,7 +168,7 @@ mod sled0 {
154
168
"hubris_task_gen" : 1 ,
155
169
"hubris_uptime_ms" : 1245 ,
156
170
"ereport_message_version" : 0 ,
157
- "class " : "overfull_hbox" ,
171
+ "k " : "overfull_hbox" ,
158
172
"badness" : 10000 ,
159
173
}
160
174
}
@@ -166,6 +180,20 @@ mod sled1 {
166
180
"55e30cc7-a109-492f-aca9-735ed725df3c" . parse ( ) . expect ( "is a valid UUID" )
167
181
} ) ;
168
182
183
+ def_ereport ! {
184
+ LOSS : {
185
+ "baseboard_part_number" : "SimGimletSp" ,
186
+ "baseboard_serial_number" : "SimGimlet01" ,
187
+ "hubris_archive_id" : "ffffffff" ,
188
+ "hubris_version" : "0.0.2" ,
189
+ "hubris_task_name" : "packrat" ,
190
+ "hubris_task_gen" : 0 ,
191
+ "hubris_uptime_ms" : 666 ,
192
+ "ereport_message_version" : 0 ,
193
+ "lost" : null,
194
+ }
195
+ }
196
+
169
197
def_ereport ! {
170
198
EREPORT_1 : {
171
199
"baseboard_part_number" : "SimGimletSp" ,
@@ -233,9 +261,14 @@ async fn ereports_basic() {
233
261
234
262
assert_eq ! ( restart_id. as_untyped_uuid( ) , & * sled1:: RESTART_0 ) ;
235
263
let reports = reports. items ;
236
- assert_eq ! ( reports. len( ) , 1 , "expected 1 ereport, found: {:#?}" , reports) ;
264
+ assert_eq ! ( reports. len( ) , 2 , "expected 2 ereports, found: {:#?}" , reports) ;
265
+
237
266
let report = & reports[ 0 ] ;
238
267
assert_eq ! ( report. ena, ereport_types:: Ena ( 1 ) ) ;
268
+ assert_eq ! ( report. data, * sled1:: LOSS ) ;
269
+
270
+ let report = & reports[ 1 ] ;
271
+ assert_eq ! ( report. ena, ereport_types:: Ena ( 2 ) ) ;
239
272
assert_eq ! ( report. data, * sled1:: EREPORT_1 ) ;
240
273
241
274
testctx. teardown ( ) . await ;
@@ -254,21 +287,26 @@ async fn ereports_limit() {
254
287
restart_id: Uuid :: new_v4( ) ,
255
288
start_ena: 0 ,
256
289
committed_ena: None ,
257
- limit: 2
290
+ limit: 3
258
291
}
259
292
. response( client)
260
293
. await
261
294
) ;
262
295
263
296
assert_eq ! ( restart_id. as_untyped_uuid( ) , & * sled0:: RESTART_0 ) ;
264
297
let reports = reports. items ;
265
- assert_eq ! ( reports. len( ) , 2 , "expected 2 ereports, found: {:#?}" , reports) ;
298
+ assert_eq ! ( reports. len( ) , 3 , "expected 3 ereports, found: {:#?}" , reports) ;
299
+
266
300
let report = & reports[ 0 ] ;
267
301
assert_eq ! ( report. ena, ereport_types:: Ena ( 1 ) ) ;
268
- assert_eq ! ( report. data, * sled0:: EREPORT_1 ) ;
302
+ assert_eq ! ( report. data, * sled0:: LOSS ) ;
269
303
270
304
let report = & reports[ 1 ] ;
271
305
assert_eq ! ( report. ena, ereport_types:: Ena ( 2 ) ) ;
306
+ assert_eq ! ( report. data, * sled0:: EREPORT_1 ) ;
307
+
308
+ let report = & reports[ 2 ] ;
309
+ assert_eq ! ( report. ena, ereport_types:: Ena ( 3 ) ) ;
272
310
assert_eq ! ( report. data, * sled0:: EREPORT_2 ) ;
273
311
274
312
let ereport_types:: Ereports { restart_id, reports } = dbg ! (
@@ -288,11 +326,11 @@ async fn ereports_limit() {
288
326
assert_eq ! ( reports. len( ) , 2 , "expected 2 ereports, found: {:#?}" , reports) ;
289
327
let report = & reports[ 0 ] ;
290
328
assert_eq ! ( report. ena, ereport_types:: Ena ( 3 ) ) ;
291
- assert_eq ! ( report. data, * sled0:: EREPORT_3 ) ;
329
+ assert_eq ! ( report. data, * sled0:: EREPORT_2 ) ;
292
330
293
331
let report = & reports[ 1 ] ;
294
332
assert_eq ! ( report. ena, ereport_types:: Ena ( 4 ) ) ;
295
- assert_eq ! ( report. data, * sled0:: EREPORT_4 ) ;
333
+ assert_eq ! ( report. data, * sled0:: EREPORT_3 ) ;
296
334
297
335
testctx. teardown ( ) . await ;
298
336
}
@@ -323,11 +361,11 @@ async fn ereports_commit() {
323
361
assert_eq ! ( reports. len( ) , 2 , "expected 2 ereports, found: {:#?}" , reports) ;
324
362
let report = & reports[ 0 ] ;
325
363
assert_eq ! ( report. ena, ereport_types:: Ena ( 1 ) ) ;
326
- assert_eq ! ( report. data, * sled0:: EREPORT_1 ) ;
364
+ assert_eq ! ( report. data, * sled0:: LOSS ) ;
327
365
328
366
let report = & reports[ 1 ] ;
329
367
assert_eq ! ( report. ena, ereport_types:: Ena ( 2 ) ) ;
330
- assert_eq ! ( report. data, * sled0:: EREPORT_2 ) ;
368
+ assert_eq ! ( report. data, * sled0:: EREPORT_1 ) ;
331
369
332
370
// Now, send a request with a committed ENA *and* a matching restart ID.
333
371
let ereport_types:: Ereports { restart_id, reports } = dbg ! (
@@ -347,11 +385,11 @@ async fn ereports_commit() {
347
385
assert_eq ! ( reports. len( ) , 2 , "expected 2 ereports, found: {:#?}" , reports) ;
348
386
let report = & reports[ 0 ] ;
349
387
assert_eq ! ( report. ena, ereport_types:: Ena ( 3 ) ) ;
350
- assert_eq ! ( report. data, * sled0:: EREPORT_3 ) ;
388
+ assert_eq ! ( report. data, * sled0:: EREPORT_2 ) ;
351
389
352
390
let report = & reports[ 1 ] ;
353
391
assert_eq ! ( report. ena, ereport_types:: Ena ( 4 ) ) ;
354
- assert_eq ! ( report. data, * sled0:: EREPORT_4 ) ;
392
+ assert_eq ! ( report. data, * sled0:: EREPORT_3 ) ;
355
393
356
394
// Even if the start ENA of a subsequent request is 0, we shouldn't see any
357
395
// ereports with ENAs lower than the committed ENA.
@@ -369,17 +407,21 @@ async fn ereports_commit() {
369
407
370
408
assert_eq ! ( restart_id. as_untyped_uuid( ) , & * sled0:: RESTART_0 ) ;
371
409
let reports = reports. items ;
372
- assert_eq ! ( reports. len( ) , 3 , "expected 3 ereports, found: {:#?}" , reports) ;
410
+ assert_eq ! ( reports. len( ) , 4 , "expected 3 ereports, found: {:#?}" , reports) ;
373
411
let report = & reports[ 0 ] ;
374
412
assert_eq ! ( report. ena, ereport_types:: Ena ( 3 ) ) ;
375
- assert_eq ! ( report. data, * sled0:: EREPORT_3 ) ;
413
+ assert_eq ! ( report. data, * sled0:: EREPORT_2 ) ;
376
414
377
415
let report = & reports[ 1 ] ;
378
416
assert_eq ! ( report. ena, ereport_types:: Ena ( 4 ) ) ;
379
- assert_eq ! ( report. data, * sled0:: EREPORT_4 ) ;
417
+ assert_eq ! ( report. data, * sled0:: EREPORT_3 ) ;
380
418
381
419
let report = & reports[ 2 ] ;
382
420
assert_eq ! ( report. ena, ereport_types:: Ena ( 5 ) ) ;
421
+ assert_eq ! ( report. data, * sled0:: EREPORT_4 ) ;
422
+
423
+ let report = & reports[ 3 ] ;
424
+ assert_eq ! ( report. ena, ereport_types:: Ena ( 6 ) ) ;
383
425
assert_eq ! ( report. data, * sled0:: EREPORT_5 ) ;
384
426
385
427
testctx. teardown ( ) . await ;
0 commit comments