fftest

package
v1.7.1 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2021 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package fftest provides helpers for parser testing.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Compare

func Compare(want, have *Vars) error

Compare one set of vars with another and return an error on any difference.

func TempFile

func TempFile(t *testing.T, content string) (filename string, cleanup func())

TempFile uses ioutil.TempFile to create a temporary file with the given content. Use the cleanup func to remove the file.

Types

type StringSlice

type StringSlice []string

StringSlice is a flag.Value that collects each Set string into a slice, allowing for repeated flags.

func (*StringSlice) Set

func (ss *StringSlice) Set(s string) error

Set implements flag.Value and appends the string to the slice.

func (*StringSlice) String

func (ss *StringSlice) String() string

String implements flag.Value and returns the list of strings, or "..." if no strings have been added.

type Vars

type Vars struct {
	S string
	I int
	F float64
	B bool
	D time.Duration
	X StringSlice

	// ParseError should be assigned as the result of Parse in tests.
	ParseError error

	// If a test case expects an input to generate a parse error,
	// it can specify that error here. The Compare helper will
	// look for it using xerrors.Is.
	WantParseErrorIs error

	// If a test case expects an input to generate a parse error,
	// it can specify part of that error string here. The Compare
	// helper will look for it using strings.Contains.
	WantParseErrorString string
}

Vars are a common set of variables used for testing.

func Pair

func Pair() (*flag.FlagSet, *Vars)

Pair returns a predefined flag set, and a predefined set of variables that have been registered into it. Tests can call parse on the flag set with a variety of flags, config files, and env vars, and check the resulting effect on the vars.

Jump to

Keyboard shortcuts

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