Skip to content

Commit

Permalink
internal: vdso: refactor test to be table driven
Browse files Browse the repository at this point in the history
  • Loading branch information
lmb committed Feb 7, 2022
1 parent 8ccc6cc commit 7816b93
Showing 1 changed file with 27 additions and 28 deletions.
55 changes: 27 additions & 28 deletions internal/vdso_test.go
Expand Up @@ -39,37 +39,36 @@ func TestAuxvNoVDSO(t *testing.T) {
}

func TestLinuxVersionCodeEmbedded(t *testing.T) {
vdso, err := os.Open("../testdata/vdso.bin")
if err != nil {
t.Fatal(err)
}
t.Cleanup(func() { vdso.Close() })

vc, err := vdsoLinuxVersionCode(vdso)
if err != nil {
t.Fatal(err)
tests := []struct {
file string
version uint32
}{
{
"../testdata/vdso.bin",
uint32(328828), // 5.4.124
},
{
"../testdata/vdso_multiple_notes.bin",
uint32(328875), // Container Optimized OS v85 with a 5.4.x kernel
},
}

expected := uint32(328828) // 5.4.124
if vc != expected {
t.Errorf("Expected version code %d, got %d", expected, vc)
}
}
for _, test := range tests {
t.Run(test.file, func(t *testing.T) {
vdso, err := os.Open(test.file)
if err != nil {
t.Fatal(err)
}
defer vdso.Close()

func TestLinuxVersionCodeEmbeddedMultipleNotes(t *testing.T) {
vdso, err := os.Open("../testdata/vdso_multiple_notes.bin")
if err != nil {
t.Fatal(err)
}
t.Cleanup(func() { vdso.Close() })

vc, err := vdsoLinuxVersionCode(vdso)
if err != nil {
t.Fatal(err)
}
vc, err := vdsoLinuxVersionCode(vdso)
if err != nil {
t.Fatal(err)
}

expected := uint32(328875) // 5.4.171
if vc != expected {
t.Errorf("Expected version code %d, got %d", expected, vc)
if vc != test.version {
t.Errorf("Expected version code %d, got %d", test.version, vc)
}
})
}
}

0 comments on commit 7816b93

Please sign in to comment.