Skip to content

Commit 507c4f0

Browse files
committed
Fix sort instability in plot data ordering
Use sort.Stable instead of sort.Sort to ensure deterministic ordering of data points with identical timestamps across different Go versions and architectures. This fixes CI test failures.
1 parent 4b240c3 commit 507c4f0

File tree

2 files changed

+40
-40
lines changed

2 files changed

+40
-40
lines changed

lib/plot/plot.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ func (p *Plot) data() (dataPoints, []string, error) {
313313
labels[i+1] = s.attack + ": " + s.label
314314
}
315315

316-
sort.Sort(data)
316+
sort.Stable(data)
317317

318318
return data, labels, nil
319319
}

lib/plot/testdata/TestPlot.golden.html

Lines changed: 39 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -330,8 +330,8 @@ <h1>TestPlot</h1>
330330
]
331331
};
332332
const rowData = [
333-
[0,null,0,null],
334333
[0,1,null,null],
334+
[0,null,0,null],
335335
[0,null,null,0],
336336
[0.088,null,26,null],
337337
[0.105,26,null,null],
@@ -409,8 +409,8 @@ <h1>TestPlot</h1>
409409
[6.13,227,null,null],
410410
[6.231,null,29,null],
411411
[6.283,0,null,null],
412-
[6.284,null,null,0],
413412
[6.284,null,0,null],
413+
[6.284,null,null,0],
414414
[6.7059999999999995,null,48,null],
415415
[6.772,null,null,101],
416416
[6.782,54,null,null],
@@ -432,8 +432,8 @@ <h1>TestPlot</h1>
432432
[8.042,null,null,0],
433433
[8.093,27,null,null],
434434
[8.146,null,984,null],
435-
[8.292,null,0,null],
436435
[8.292,0,null,null],
436+
[8.292,null,0,null],
437437
[8.399000000000001,null,null,43],
438438
[8.686,null,19,null],
439439
[8.711,null,null,80],
@@ -492,8 +492,8 @@ <h1>TestPlot</h1>
492492
[13.066,0,null,null],
493493
[13.128,null,null,80],
494494
[13.154,null,60,null],
495-
[13.317,null,0,null],
496495
[13.317,33,null,null],
496+
[13.317,null,0,null],
497497
[13.317,null,null,0],
498498
[13.568999999999999,null,23,null],
499499
[13.57,0,null,null],
@@ -555,9 +555,9 @@ <h1>TestPlot</h1>
555555
[18.433,59,null,null],
556556
[18.537,null,53,null],
557557
[18.575,null,null,24],
558+
[18.593,0,null,null],
558559
[18.593,null,0,null],
559560
[18.593,null,null,0],
560-
[18.593,0,null,null],
561561
[19.033,null,null,25],
562562
[19.044,null,19,null],
563563
[19.084,53,null,null],
@@ -576,21 +576,21 @@ <h1>TestPlot</h1>
576576
[20.102,0,null,null],
577577
[20.328,null,30,null],
578578
[20.345,null,null,19],
579-
[20.352,null,null,0],
580579
[20.352,null,0,null],
580+
[20.352,null,null,0],
581581
[20.372,13,null,null],
582582
[20.693,null,null,26],
583583
[20.723,null,29,null],
584584
[20.831,22,null,null],
585-
[20.854,null,null,0],
586585
[20.854,0,null,null],
587586
[20.854,null,0,null],
587+
[20.854,null,null,0],
588588
[21.13,41,null,null],
589589
[21.176,null,null,15],
590590
[21.207,null,23,null],
591591
[21.357,0,null,null],
592-
[21.359,null,null,0],
593592
[21.359,null,0,null],
593+
[21.359,null,null,0],
594594
[21.664,null,31,null],
595595
[21.669,36,null,null],
596596
[21.792,null,null,31],
@@ -609,8 +609,8 @@ <h1>TestPlot</h1>
609609
[22.864,null,null,0],
610610
[22.911,194,null,null],
611611
[23.104,null,41,null],
612-
[23.116,null,0,null],
613612
[23.116,0,null,null],
613+
[23.116,null,0,null],
614614
[23.145,null,null,11],
615615
[23.407,null,90,null],
616616
[23.408,null,null,27],
@@ -636,8 +636,8 @@ <h1>TestPlot</h1>
636636
[25.126,0,null,null],
637637
[25.157,null,null,40],
638638
[25.176,null,520,null],
639-
[25.377,null,null,0],
640639
[25.377,null,1,null],
640+
[25.377,null,null,0],
641641
[25.434,379,null,null],
642642
[25.629,0,null,null],
643643
[25.7,null,18,null],
@@ -648,17 +648,17 @@ <h1>TestPlot</h1>
648648
[26.263,null,null,45],
649649
[26.27,48,null,null],
650650
[26.354,null,31,null],
651-
[26.382,null,null,0],
652651
[26.382,null,0,null],
652+
[26.382,null,null,0],
653653
[26.384,0,null,null],
654654
[26.72,null,29,null],
655655
[26.725,null,null,47],
656656
[26.729,66,null,null],
657657
[26.885,0,null,null],
658658
[26.98,null,68,null],
659659
[27.083,null,null,104],
660-
[27.136,null,0,null],
661660
[27.136,71,null,null],
661+
[27.136,null,0,null],
662662
[27.136,null,null,0],
663663
[27.409,null,23,null],
664664
[27.537,null,null,32],
@@ -693,8 +693,8 @@ <h1>TestPlot</h1>
693693
[29.913,null,79,null],
694694
[30.092,null,null,31],
695695
[30.129,30,null,null],
696-
[30.151,null,0,null],
697696
[30.151,0,null,null],
697+
[30.151,null,0,null],
698698
[30.312,null,null,49],
699699
[30.404,null,null,0],
700700
[30.515,null,48,null],
@@ -714,8 +714,8 @@ <h1>TestPlot</h1>
714714
[31.692,null,29,null],
715715
[31.837,null,null,131],
716716
[31.866,91,null,null],
717-
[31.909,null,0,null],
718717
[31.909,0,null,null],
718+
[31.909,null,0,null],
719719
[31.909,null,null,0],
720720
[32.313,31,null,null],
721721
[32.329,null,null,28],
@@ -732,8 +732,8 @@ <h1>TestPlot</h1>
732732
[33.168,null,0,null],
733733
[33.376,null,null,38],
734734
[33.383,28,null,null],
735-
[33.417,null,null,0],
736735
[33.417,0,null,null],
736+
[33.417,null,null,0],
737737
[33.664,null,75,null],
738738
[33.668,null,0,null],
739739
[33.752,22,null,null],
@@ -750,15 +750,15 @@ <h1>TestPlot</h1>
750750
[34.673,null,0,null],
751751
[34.82,null,null,40],
752752
[34.873,55,null,null],
753-
[34.924,null,null,0],
754753
[34.924,0,null,null],
754+
[34.924,null,null,0],
755755
[34.967,null,12,null],
756756
[35.26,null,null,53],
757757
[35.294,null,35,null],
758758
[35.31,52,null,null],
759-
[35.427,null,null,0],
760759
[35.427,0,null,null],
761760
[35.427,null,0,null],
761+
[35.427,null,null,0],
762762
[35.708,15,null,null],
763763
[35.785,null,25,null],
764764
[35.908,null,null,20],
@@ -858,14 +858,14 @@ <h1>TestPlot</h1>
858858
[43.836,null,null,86],
859859
[43.957,null,26,null],
860860
[43.967,27,null,null],
861-
[43.969,null,null,0],
862861
[43.969,null,0,null],
862+
[43.969,null,null,0],
863863
[43.971,0,null,null],
864864
[44.223,null,null,29],
865865
[44.273,null,16,null],
866866
[44.36,65,null,null],
867-
[44.473,null,0,null],
868867
[44.473,0,null,null],
868+
[44.473,null,0,null],
869869
[44.682,null,null,41],
870870
[44.723,null,null,0],
871871
[44.781,null,34,null],
@@ -966,17 +966,17 @@ <h1>TestPlot</h1>
966966
[52.908,39,null,null],
967967
[52.93,null,23,null],
968968
[52.983,null,null,45],
969-
[53.015,null,null,0],
970969
[53.015,null,0,null],
970+
[53.015,null,null,0],
971971
[53.017,0,null,null],
972972
[53.288,null,38,null],
973973
[53.327,22,null,null],
974974
[53.43,null,null,23],
975975
[53.562,61,null,null],
976976
[53.688,null,null,136],
977977
[53.694,null,44,null],
978-
[53.768,null,0,null],
979978
[53.768,138,null,null],
979+
[53.768,null,0,null],
980980
[53.77,null,null,0],
981981
[54.02,0,null,null],
982982
[54.094,null,28,null],
@@ -987,8 +987,8 @@ <h1>TestPlot</h1>
987987
[54.522,0,null,null],
988988
[54.692,null,null,20],
989989
[54.701,null,145,null],
990-
[54.773,null,null,0],
991990
[54.773,null,0,null],
991+
[54.773,null,null,0],
992992
[54.822,19,null,null],
993993
[55.025,0,null,null],
994994
[55.078,null,92,null],
@@ -1059,8 +1059,8 @@ <h1>TestPlot</h1>
10591059
[60.58,null,null,106],
10601060
[60.715,null,48,null],
10611061
[60.789,40,null,null],
1062-
[60.803,null,null,0],
10631062
[60.803,0,null,null],
1063+
[60.803,null,null,0],
10641064
[60.804,null,0,null],
10651065
[61.161,21,null,null],
10661066
[61.249,null,null,76],
@@ -1086,8 +1086,8 @@ <h1>TestPlot</h1>
10861086
[62.815,null,0,null],
10871087
[62.816,null,null,43],
10881088
[62.946,40,null,null],
1089-
[63.065,null,null,0],
10901089
[63.065,0,null,null],
1090+
[63.065,null,null,0],
10911091
[63.251,null,36,null],
10921092
[63.357,51,null,null],
10931093
[63.469,null,null,17],
@@ -1140,14 +1140,14 @@ <h1>TestPlot</h1>
11401140
[67.456,null,34,null],
11411141
[67.501,31,null,null],
11421142
[67.528,null,null,23],
1143+
[67.587,0,null,null],
11431144
[67.587,null,0,null],
11441145
[67.587,null,null,0],
1145-
[67.587,0,null,null],
11461146
[67.917,23,null,null],
11471147
[67.938,null,109,null],
11481148
[67.95,null,null,40],
1149-
[68.09,null,null,0],
11501149
[68.09,null,0,null],
1150+
[68.09,null,null,0],
11511151
[68.11,121,null,null],
11521152
[68.341,0,null,null],
11531153
[68.357,null,292,null],
@@ -1164,8 +1164,8 @@ <h1>TestPlot</h1>
11641164
[69.371,null,26,null],
11651165
[69.423,null,null,35],
11661166
[69.527,37,null,null],
1167-
[69.597,null,0,null],
11681167
[69.597,0,null,null],
1168+
[69.597,null,0,null],
11691169
[69.767,null,null,115],
11701170
[69.849,null,null,0],
11711171
[70.05,24,null,null],
@@ -1191,8 +1191,8 @@ <h1>TestPlot</h1>
11911191
[71.697,null,null,16],
11921192
[71.832,null,78,null],
11931193
[71.847,26,null,null],
1194-
[71.858,null,0,null],
11951194
[71.858,0,null,null],
1195+
[71.858,null,0,null],
11961196
[72.102,null,null,60],
11971197
[72.11,null,null,0],
11981198
[72.162,63,null,null],
@@ -1203,8 +1203,8 @@ <h1>TestPlot</h1>
12031203
[72.725,33,null,null],
12041204
[72.815,null,null,40],
12051205
[72.858,null,47,null],
1206-
[72.863,null,null,0],
12071206
[72.863,0,null,null],
1207+
[72.863,null,null,0],
12081208
[72.864,null,0,null],
12091209
[73.138,null,null,19],
12101210
[73.182,27,null,null],
@@ -1239,20 +1239,20 @@ <h1>TestPlot</h1>
12391239
[75.753,38,null,null],
12401240
[75.797,null,null,44],
12411241
[75.801,null,16,null],
1242-
[75.878,null,null,0],
12431242
[75.878,0,null,null],
1243+
[75.878,null,null,0],
12441244
[76.066,null,29,null],
12451245
[76.131,null,0,null],
12461246
[76.157,null,null,19],
12471247
[76.336,19,null,null],
1248-
[76.381,null,null,0],
12491248
[76.381,0,null,null],
1249+
[76.381,null,null,0],
12501250
[76.421,null,17,null],
12511251
[76.656,null,33,null],
12521252
[76.859,null,null,27],
12531253
[76.88,24,null,null],
1254-
[76.883,null,0,null],
12551254
[76.883,0,null,null],
1255+
[76.883,null,0,null],
12561256
[76.883,null,null,0],
12571257
[77.144,null,19,null],
12581258
[77.251,null,null,33],
@@ -1299,8 +1299,8 @@ <h1>TestPlot</h1>
12991299
[80.755,63,null,null],
13001300
[80.824,null,19,null],
13011301
[80.857,null,null,41],
1302-
[80.903,null,0,null],
13031302
[80.903,0,null,null],
1303+
[80.903,null,0,null],
13041304
[81.111,null,null,134],
13051305
[81.155,null,null,0],
13061306
[81.274,null,17,null],
@@ -1314,8 +1314,8 @@ <h1>TestPlot</h1>
13141314
[81.908,0,null,null],
13151315
[82.026,null,14,null],
13161316
[82.129,null,null,21],
1317-
[82.16,null,null,0],
13181317
[82.16,null,0,null],
1318+
[82.16,null,null,0],
13191319
[82.254,26,null,null],
13201320
[82.423,null,null,35],
13211321
[82.447,null,10,null],
@@ -1362,8 +1362,8 @@ <h1>TestPlot</h1>
13621362
[85.929,null,null,0],
13631363
[85.964,43,null,null],
13641364
[86.012,null,194,null],
1365-
[86.18,null,null,20],
13661365
[86.18,0,null,null],
1366+
[86.18,null,null,20],
13671367
[86.181,null,0,null],
13681368
[86.431,null,null,0],
13691369
[86.506,null,21,null],
@@ -1479,14 +1479,14 @@ <h1>TestPlot</h1>
14791479
[95.757,14,null,null],
14801480
[95.777,null,93,null],
14811481
[95.828,null,null,50],
1482-
[95.978,null,null,0],
14831482
[95.978,null,0,null],
1483+
[95.978,null,null,0],
14841484
[96.085,52,null,null],
14851485
[96.23,0,null,null],
14861486
[96.381,null,null,96],
14871487
[96.41,null,8,null],
1488-
[96.481,null,null,0],
14891488
[96.481,null,0,null],
1489+
[96.481,null,null,0],
14901490
[96.603,19,null,null],
14911491
[96.732,0,null,null],
14921492
[96.738,null,24,null],
@@ -1497,8 +1497,8 @@ <h1>TestPlot</h1>
14971497
[97.235,null,null,0],
14981498
[97.245,35,null,null],
14991499
[97.408,null,68,null],
1500-
[97.486,null,0,null],
15011500
[97.486,0,null,null],
1501+
[97.486,null,0,null],
15021502
[97.525,null,null,61],
15031503
[97.74,null,null,0],
15041504
[97.849,null,25,null],
@@ -1527,8 +1527,8 @@ <h1>TestPlot</h1>
15271527
[99.747,0,null,null],
15281528
[99.815,null,null,71],
15291529
[99.954,null,47,null],
1530-
[99.999,null,0,null],
15311530
[99.999,0,null,null],
1531+
[99.999,null,0,null],
15321532
[99.999,null,null,0] ];
15331533

15341534

0 commit comments

Comments
 (0)