@@ -17,13 +17,14 @@ package compile_test
17
17
18
18
import (
19
19
"bytes"
20
+ "cmp"
20
21
"encoding/json"
21
22
"os/exec"
23
+ "slices"
22
24
"strings"
23
25
"testing"
24
26
"text/template"
25
27
"time"
26
- "slices"
27
28
28
29
"github.com/arduino/arduino-cli/arduino/builder/cpp"
29
30
"github.com/arduino/arduino-cli/internal/integrationtest"
@@ -176,7 +177,7 @@ func testBuilderSketchWithSubfolders(t *testing.T, env *integrationtest.Environm
176
177
// Build
177
178
out , err := tryBuild (t , env , cli , "arduino:avr:leonardo" )
178
179
importedLibraries := out .BuilderResult .UsedLibraries
179
- slices .SortFunc (importedLibraries , func (x , y * builderLibrary ) bool { return x .Name < y .Name })
180
+ slices .SortFunc (importedLibraries , func (x , y * builderLibrary ) int { return cmp . Compare ( x .Name , y .Name ) })
180
181
require .NoError (t , err )
181
182
require .Equal (t , 3 , len (importedLibraries ))
182
183
require .Equal (t , "testlib1" , importedLibraries [0 ].Name )
@@ -570,7 +571,11 @@ func testBuilderSketchWithConflictingLibraries(t *testing.T, env *integrationtes
570
571
out , err := tryBuild (t , env , cli , "arduino:avr:leonardo" )
571
572
require .NoError (t , err )
572
573
libs := out .BuilderResult .UsedLibraries
573
- slices .SortFunc (libs , func (x , y * builderLibrary ) bool { return x .Name < y .Name })
574
+
575
+ // SortFunc sorts the slice x in ascending order as determined by the cmp function.
576
+ // This sort is not guaranteed to be stable. cmp(a, b) should return a negative number when a \< b,
577
+ // a positive number when a > b and zero when a == b.
578
+ slices .SortFunc (libs , func (x , y * builderLibrary ) int { return cmp .Compare (x .Name , y .Name ) })
574
579
require .Len (t , libs , 2 )
575
580
require .Equal (t , "Bridge" , libs [0 ].Name )
576
581
require .Equal (t , "IRremote" , libs [1 ].Name )
@@ -583,7 +588,7 @@ func testBuilderSketchLibraryProvidesAllIncludes(t *testing.T, env *integrationt
583
588
out , err := tryBuild (t , env , cli , "arduino:avr:leonardo" )
584
589
require .NoError (t , err )
585
590
libs := out .BuilderResult .UsedLibraries
586
- slices .SortFunc (libs , func (x , y * builderLibrary ) bool { return x .Name < y .Name })
591
+ slices .SortFunc (libs , func (x , y * builderLibrary ) int { return cmp . Compare ( x .Name , y .Name ) })
587
592
require .Len (t , libs , 2 )
588
593
require .Equal (t , "ANewLibrary-master" , libs [0 ].Name )
589
594
require .Equal (t , "IRremote" , libs [1 ].Name )
0 commit comments