github.com/mvdan/u-root-coreutils@v0.0.0-20230122170626-c2eef2898555/tools/vpdbootmanager/get_test.go (about)

     1  // Copyright 2017-2021 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 main
     6  
     7  import (
     8  	"bytes"
     9  	"testing"
    10  
    11  	"github.com/mvdan/u-root-coreutils/pkg/vpd"
    12  )
    13  
    14  var getter *Getter
    15  
    16  func TestNewgetter(t *testing.T) {
    17  	if g := NewGetter(); g == nil {
    18  		t.Fatalf(`NewGetter() = %v, want not nil`, g)
    19  	} else if g.R == nil || g.Out == nil {
    20  		t.Errorf(`g.R, g.Out = %v, %v, want not nil, not nil`, g.R, g.Out)
    21  	}
    22  }
    23  
    24  // testGetOne is failing
    25  func testGetOne(t *testing.T) {
    26  	var buf bytes.Buffer
    27  	getter := NewGetter()
    28  	getter.Out = &buf
    29  	getter.R = vpd.NewReader()
    30  	getter.R.VpdDir = "./tests"
    31  	if err := getter.Print("firmware_version"); err != nil {
    32  		t.Error(err)
    33  	}
    34  	if buf.String() != "firmware_version(RO) => 1.2.3\n\nfirmware_version(RW) => 3.2.1\n\n" {
    35  		t.Error("buffer contents is not correct")
    36  	}
    37  }
    38  
    39  // testGetAll is failing
    40  func testGetAll(t *testing.T) {
    41  	var buf bytes.Buffer
    42  	getter := NewGetter()
    43  	getter.Out = &buf
    44  	getter.R = vpd.NewReader()
    45  	getter.R.VpdDir = "./tests"
    46  	if err := getter.Print(""); err != nil {
    47  		t.Error(err)
    48  	}
    49  	out := buf.String()
    50  	if out != "firmware_version(RO) => 1.2.3\n\nsomething(RO) => else\n\nfirmware_version(RW) => 3.2.1\n\n" {
    51  		t.Error("buffer contents is not correct")
    52  	}
    53  }