Skip to content

Commit 4ad1bbf

Browse files
committed
pkg/uefi/meregion: add TestFindFPTSignature test case
Signed-off-by: Daniel Maslowski <[email protected]>
1 parent dd2c9be commit 4ad1bbf

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

pkg/uefi/meregion_test.go

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,35 @@ func TestMEName_UnmarshalText(t *testing.T) {
5959
})
6060
}
6161
}
62+
63+
func TestFindFPTSignature(t *testing.T) {
64+
var empty16 = make([]byte, 16)
65+
var empty12 = make([]byte, 12)
66+
var empty = make([]byte, 128)
67+
68+
var firstRow = append(append(MEFPTSignature, empty12...), empty16...)
69+
var secondRow = append(empty16, firstRow...)
70+
var elsewhere = append(empty, firstRow...)
71+
72+
var tests = []struct {
73+
name string
74+
blob []byte
75+
res int
76+
}{
77+
{"beginning", firstRow, 4},
78+
{"2nd row", secondRow, 20},
79+
{"elsewhere", elsewhere, 132},
80+
{"nowhere", empty, -1},
81+
}
82+
for _, test := range tests {
83+
t.Run(test.name, func(t *testing.T) {
84+
r, e := FindMEDescriptor(test.blob)
85+
if r != test.res {
86+
t.Errorf("got position %d want %d (%q)", r, test.res, e)
87+
}
88+
if test.res == -1 && e == nil {
89+
t.Errorf("expected error")
90+
}
91+
})
92+
}
93+
}

0 commit comments

Comments
 (0)