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  }