tests: add getModuleDep testing
This commit is contained in:
51
main_test.go
51
main_test.go
@@ -4,6 +4,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -25,3 +26,53 @@ func TestStripExts(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func stringSlicesEqual(a []string, b []string) bool {
|
||||||
|
if len(a) != len(b) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
for i, v := range a {
|
||||||
|
if v != b[i] {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
var testModuleDep string = `
|
||||||
|
kernel/net/sched/act_ipt.ko.xz: kernel/net/netfilter/x_tables.ko.xz
|
||||||
|
kernel/drivers/watchdog/watchdog.ko.xz:
|
||||||
|
kernel/drivers/usb/serial/ir-usb.ko.xz: kernel/drivers/usb/serial/usbserial.ko.xz
|
||||||
|
kernel/drivers/gpu/drm/scheduler/gpu-sched.ko.xz:
|
||||||
|
kernel/drivers/hid/hid-alps.ko.xz:
|
||||||
|
kernel/net/netfilter/xt_u32.ko.xz: kernel/net/netfilter/x_tables.ko.xz
|
||||||
|
kernel/net/netfilter/xt_sctp.ko.xz: kernel/net/netfilter/x_tables.ko.xz
|
||||||
|
kernel/drivers/hwmon/gl518sm.ko.xz:
|
||||||
|
kernel/drivers/watchdog/dw_wdt.ko.xz: kernel/drivers/watchdog/watchdog.ko.xz
|
||||||
|
kernel/net/bluetooth/hidp/hidp.ko.xz: kernel/net/bluetooth/bluetooth.ko.xz kernel/net/rfkill/rfkill.ko.xz kernel/crypto/ecdh_generic.ko.xz kernel/crypto/ecc.ko.xz
|
||||||
|
kernel/fs/nls/nls_iso8859-1.ko.xz:
|
||||||
|
kernel/net/vmw_vsock/vmw_vsock_virtio_transport.ko.xz: kernel/net/vmw_vsock/vmw_vsock_virtio_transport_common.ko.xz kernel/drivers/virtio/virtio.ko.xz kernel/drivers/virtio/virtio_ring.ko.xz kernel/net/vmw_vsock/vsock.ko.xz
|
||||||
|
kernel/drivers/gpu/drm/panfrost/panfrost.ko.xz: kernel/drivers/gpu/drm/scheduler/gpu-sched.ko.xz
|
||||||
|
`
|
||||||
|
|
||||||
|
func TestGetModuleDeps(t *testing.T) {
|
||||||
|
tables := []struct {
|
||||||
|
in string
|
||||||
|
expected []string
|
||||||
|
}{
|
||||||
|
{"nls-iso8859-1", []string{"kernel/fs/nls/nls_iso8859-1.ko.xz"}},
|
||||||
|
{"gpu_sched", []string{"kernel/drivers/gpu/drm/scheduler/gpu-sched.ko.xz"}},
|
||||||
|
{"dw-wdt", []string{"kernel/drivers/watchdog/dw_wdt.ko.xz",
|
||||||
|
"kernel/drivers/watchdog/watchdog.ko.xz"}},
|
||||||
|
{"gl518sm", []string{"kernel/drivers/hwmon/gl518sm.ko.xz"}},
|
||||||
|
}
|
||||||
|
for _, table := range tables {
|
||||||
|
out, err := getModuleDeps(table.in, strings.NewReader(testModuleDep))
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("unexpected error with input: %q, error: %q", table.expected, err)
|
||||||
|
}
|
||||||
|
if !stringSlicesEqual(out, table.expected) {
|
||||||
|
t.Errorf("Expected: %q, got: %q", table.expected, out)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user