1
0
mirror of https://github.com/taigrr/gopher-os synced 2025-01-18 04:43:13 -08:00
gopher-os/src/gopheros/device/driver_test.go
2017-07-18 08:23:43 +01:00

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])
}
}
}