github.com/u-root/u-root@v7.0.1-0.20200915234505-ad7babab0a8e+incompatible/pkg/boot/grub/entry_test.go (about) 1 // Copyright 2020 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 grub 6 7 import ( 8 "bytes" 9 "testing" 10 11 "github.com/google/go-cmp/cmp" 12 ) 13 14 func TestWriteTo(t *testing.T) { 15 env := &EnvFile{map[string]string{ 16 "kernel": "bzImage", 17 "initrd": "initramfs.cpio", 18 }} 19 buf := &bytes.Buffer{} 20 _, err := env.WriteTo(buf) 21 if err != nil { 22 t.Errorf("env.WriteTo(%v) error %v", env, err) 23 } 24 gotFile := buf.String() 25 wantFile := `# GRUB Environment Block 26 initrd=initramfs.cpio 27 kernel=bzImage 28 ##################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################` 29 if diff := cmp.Diff(wantFile, gotFile); diff != "" { 30 t.Errorf("env.WriteTo(%v) diff(-want, +got) = \n%s", env, diff) 31 } 32 } 33 34 func TestParseEnvFile(t *testing.T) { 35 file := `kernel=bzImage 36 initrd=initramfs.cpio 37 ` 38 gotEnv, err := ParseEnvFile(bytes.NewBufferString(file)) 39 if err != nil { 40 t.Errorf("ParseEnvFile(%q) error %v", file, err) 41 } 42 wantEnv := &EnvFile{map[string]string{ 43 "kernel": "bzImage", 44 "initrd": "initramfs.cpio", 45 }} 46 if diff := cmp.Diff(wantEnv, gotEnv); diff != "" { 47 t.Errorf("ParseEnvFile(%q) diff(-want, +got) = \n%s", file, diff) 48 } 49 }