github.com/u-root/u-root@v7.0.1-0.20200915234505-ad7babab0a8e+incompatible/pkg/acpi/tables_linux_test.go (about) 1 // Copyright 2019 the u-root Authors. All rights reserved 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package acpi 6 7 import ( 8 "reflect" 9 "testing" 10 11 "github.com/u-root/u-root/pkg/testutil" 12 ) 13 14 // TestTable tests whether any method for getting a table works. 15 // If it succeeds, it is called again with the method it returns 16 // to verify at least that much is the same. 17 func TestTable(t *testing.T) { 18 testutil.SkipIfNotRoot(t) 19 20 m, tg, err := GetTable() 21 if err != nil { 22 t.Skip("no table to get") 23 } 24 25 f, ok := Methods[m] 26 if !ok { 27 t.Fatalf("method type returned from GetTable: got not found in Methods, expect to find it") 28 } 29 tt, err := f() 30 if err != nil { 31 t.Fatalf("Getting table via %q: got %v, want nil", m, err) 32 } 33 if !reflect.DeepEqual(tg, tt) { 34 t.Fatalf("Getting table via GetTable and %q: got different(%s, %s), want same", m, tg, tt) 35 } 36 37 }