mirror of
https://github.com/taigrr/gopher-os
synced 2025-01-18 04:43:13 -08:00
37 lines
806 B
Go
37 lines
806 B
Go
package device
|
|
|
|
import (
|
|
"sort"
|
|
"testing"
|
|
)
|
|
|
|
func TestDriverInfoListSorting(t *testing.T) {
|
|
defer func() {
|
|
registeredDrivers = nil
|
|
}()
|
|
|
|
origlist := []*DriverInfo{
|
|
&DriverInfo{Order: DetectOrderACPI},
|
|
&DriverInfo{Order: DetectOrderLast},
|
|
&DriverInfo{Order: DetectOrderBeforeACPI},
|
|
&DriverInfo{Order: DetectOrderEarly},
|
|
}
|
|
|
|
for _, drv := range origlist {
|
|
RegisterDriver(drv)
|
|
}
|
|
|
|
registeredList := DriverList()
|
|
if exp, got := len(origlist), len(registeredList); got != exp {
|
|
t.Fatalf("expected DriverList() to return %d entries; got %d", exp, got)
|
|
}
|
|
|
|
sort.Sort(registeredList)
|
|
expOrder := []int{3, 2, 0, 1}
|
|
for i, exp := range expOrder {
|
|
if registeredList[i] != origlist[exp] {
|
|
t.Errorf("expected sorted entry %d to be %v; got %v", i, registeredList[exp], origlist[i])
|
|
}
|
|
}
|
|
}
|