testutil

package
v3.0.0-...-66753ca Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 20, 2023 License: BSD-3-Clause Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CheckError

func CheckError(err error, errStr string) error

CheckError is a helper function for tests It is common to check if an err is expected in the form of errStr, then there should be an actual error reported. This is an if and only if condition that needs to be verified.

func Command

func Command(t testing.TB, args ...string) *exec.Cmd

Command returns an exec.Cmd appropriate for testing the u-root command.

Command decides which executable to call based on environment variables: - EXECPATH="executable args" overrides any other test subject. - UROOT_TEST_BUILD=1 will force compiling the u-root command in question.

func IsExitCode

func IsExitCode(err error, exitCode int) error

IsExitCode takes err and checks whether it represents the given process exit code.

IsExitCode assumes that `err` is the return value of a successful call to exec.Cmd.Run/Output/CombinedOutput and hence an *exec.ExitError.

func NowLog

func NowLog() string

NowLog returns the current time formatted like the standard log package's timestamp.

func Run

func Run(m *testing.M, mainFn func())

Run sets up necessary commands to be compiled, if necessary, and calls m.Run.

func SkipIfInVMTest

func SkipIfInVMTest(t *testing.T)

SkipIfInVMTest skips a test if it's being executed in a u-root test VM.

See pkg/vmtest/integration.go which starts the VM with the uroot.vmtest in the kernel cmdline.

func SkipIfNotRoot

func SkipIfNotRoot(t *testing.T)

SkipIfNotRoot skips the calling test if uid != 0.

Types

type FakeStdin

type FakeStdin struct {
	// contains filtered or unexported fields
}

FakeStdin implements io.Reader and returns predefined list of answers, suitable for mocking standard input.

func NewFakeStdin

func NewFakeStdin(answers ...string) *FakeStdin

NewFakeStdin creates new FakeStdin value with given answers.

func (*FakeStdin) Count

func (fs *FakeStdin) Count() int

Count returns how many answers have been read.

This counter overflows and never returns value bigger than the count of given answers.

func (*FakeStdin) Overflowed

func (fs *FakeStdin) Overflowed() bool

Overflowed reports whether more reads happened than expected.

func (*FakeStdin) Read

func (fs *FakeStdin) Read(p []byte) (int, error)

Read answers one by one and keep record whether the stdin has overflowed.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL