Skip to content

Commit d844cd9

Browse files
committed
pkg/uefi/meregion: add simple test to parse a valid FPT
Signed-off-by: Daniel Maslowski <[email protected]>
1 parent cf677b4 commit d844cd9

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

pkg/uefi/meregion_test.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package uefi
66

77
import (
8+
"os"
89
"reflect"
910
"testing"
1011
)
@@ -91,3 +92,26 @@ func TestFindFPTSignature(t *testing.T) {
9192
})
9293
}
9394
}
95+
96+
func TestParseFPT(t *testing.T) {
97+
t.Run("parse ME FPT", func(t *testing.T) {
98+
fixtureFile := "../../data/PurleySiliconBinPkg/MeFirmware/IgnitionFirmware/MeRegion.bin"
99+
meRegion, err := os.ReadFile(fixtureFile)
100+
if err != nil {
101+
t.Fatalf("could not read test fixture %q", fixtureFile)
102+
}
103+
expectedEntries := 10
104+
105+
fpt, err := NewMEFPT(meRegion)
106+
if err != nil {
107+
t.Fatalf("reading ME FPT: got %v, want nil", err)
108+
}
109+
entries := len(fpt.Entries)
110+
if entries != expectedEntries {
111+
t.Errorf("len(fpt.Entries): got %d, want %d", entries, expectedEntries)
112+
}
113+
if entries != int(fpt.PartitionCount) {
114+
t.Errorf("fpt.PartitionCount: got %d, want %d (matching number of entries)", fpt.PartitionCount, entries)
115+
}
116+
})
117+
}

0 commit comments

Comments
 (0)