Help us shape the future of Go! Take the 2026 Go Developer Survey

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