drivers/wifi: Remove unnecessary data structure copy
[coreboot2.git] / util / hda-decoder / decoder / lib_test.go
blob4893fd34b8bce0de6c49f22280d34b7cef59ed5e
1 // SPDX-License-Identifier: GPL-2.0-only
2 package decoder
4 import (
5 "reflect"
6 "testing"
9 type portIsConnectedTest struct {
10 arg1 uint32
11 expected bool
14 var portIsConnectedTests = []portIsConnectedTest{
15 portIsConnectedTest{0x20000000, true},
16 portIsConnectedTest{0xC0000000, true},
17 portIsConnectedTest{0x40000000, false},
20 func TestPortIsConnected(t *testing.T) {
21 for _, test := range portIsConnectedTests {
22 output := PortIsConnected(test.arg1)
23 if output != test.expected {
24 t.Errorf("Expected %v, received %v", test.expected, output)
29 type decodeTest struct {
30 arg1 uint32
31 expected Fields[uint32]
34 var decodeTests = []decodeTest{
35 decodeTest{0xe23d1a0e, Fields[uint32]{0x3, 0x22, 0x3, 0xd, 0x1, 0xa, 0x0, 0xe}},
36 decodeTest{0x66a8a2e4, Fields[uint32]{0x1, 0x26, 0xa, 0x8, 0xa, 0x2, 0xe, 0x4}},
37 decodeTest{0x2e00a164, Fields[uint32]{0x0, 0x2e, 0x0, 0x0, 0xa, 0x1, 0x6, 0x4}},
38 decodeTest{0x3b83dfe9, Fields[uint32]{0x0, 0x3b, 0x8, 0x3, 0xd, 0xf, 0xe, 0x9}},
39 decodeTest{0x51708701, Fields[uint32]{0x1, 0x11, 0x7, 0x0, 0x8, 0x7, 0x0, 0x1}},
42 func TestDecode(t *testing.T) {
43 for _, test := range decodeTests {
44 output := Decode(test.arg1)
45 if !reflect.DeepEqual(output, test.expected) {
46 t.Errorf("Expected %v, received %v", test.expected, output)
51 type toHumanReadableTest struct {
52 arg1 uint32
53 expected Fields[string]
56 var toHumanReadableTests = []toHumanReadableTest{
57 toHumanReadableTest{0xe23d1a0e, Fields[string]{
58 "AZALIA_JACK_AND_INTEGRATED",
59 "AZALIA_SEPARATE_CHASSIS | AZALIA_FRONT",
60 "AZALIA_CD",
61 "0xd",
62 "AZALIA_BLACK",
63 "AZALIA_JACK_PRESENCE_DETECT | 0xa",
64 "0",
65 "14",
66 }},
68 toHumanReadableTest{0x57708701, Fields[string]{
69 "AZALIA_NC",
70 "AZALIA_RISER",
71 "AZALIA_MODEM_HANDSET_SIDE",
72 "AZALIA_TYPE_UNKNOWN",
73 "AZALIA_PURPLE",
74 "AZALIA_NO_JACK_PRESENCE_DETECT | 0x6",
75 "0",
76 "1",
77 }},
79 toHumanReadableTest{0x2e00a164, Fields[string]{
80 "AZALIA_JACK",
81 "AZALIA_SEPARATE_CHASSIS | 0xe",
82 "AZALIA_LINE_OUT",
83 "AZALIA_TYPE_UNKNOWN",
84 "0xa",
85 "AZALIA_NO_JACK_PRESENCE_DETECT",
86 "6",
87 "4",
88 }},
90 toHumanReadableTest{0x80949653, Fields[string]{
91 "AZALIA_INTEGRATED",
92 "AZALIA_EXTERNAL_PRIMARY_CHASSIS",
93 "AZALIA_AUX",
94 "AZALIA_RCA",
95 "AZALIA_PINK",
96 "AZALIA_JACK_PRESENCE_DETECT | 0x6",
97 "5",
98 "3",
99 }},
102 func TestToHumanReadable(t *testing.T) {
103 for _, test := range toHumanReadableTests {
104 output := ToHumanReadable(Decode(test.arg1))
105 if output != test.expected {
106 t.Errorf("Expected %v, received %v", test.expected, output)
111 type configToVerbsTest struct {
112 arg1 uint32
113 arg2 uint32
114 arg3 uint32
115 expected [4]uint32
118 var configToVerbsTests = []configToVerbsTest{
119 configToVerbsTest{
120 0, 0x19, 0x1cc3efde,
121 [4]uint32{0x01971cde, 0x01971def, 0x01971ec3, 0x01971f1c},
123 configToVerbsTest{
124 9, 0x4e, 0x913ddc4c,
125 [4]uint32{0x94e71c4c, 0x94e71ddc, 0x94e71e3d, 0x94e71f91},
127 configToVerbsTest{
128 12, 0xf4, 0x4193db3a,
129 [4]uint32{0xcf471c3a, 0xcf471ddb, 0xcf471e93, 0xcf471f41},
131 configToVerbsTest{
132 7, 0xb7, 0x0c39e09a,
133 [4]uint32{0x7b771c9a, 0x7b771de0, 0x7b771e39, 0x7b771f0c},
135 configToVerbsTest{
136 3, 0x5a, 0x24c04c66,
137 [4]uint32{0x35a71c66, 0x35a71d4c, 0x35a71ec0, 0x35a71f24},
141 func TestConfigToVerbs(t *testing.T) {
142 for _, test := range configToVerbsTests {
143 output := ConfigToVerbs(test.arg1, test.arg2, test.arg3)
144 if output != test.expected {
145 t.Errorf("Expected %#08x, received %#08x", test.expected, output)