testing

package
v3.40.2 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2022 License: Apache-2.0 Imports: 14 Imported by: 3

Documentation

Index

Constants

This section is empty.

Variables

View Source
var YarnInstallMutex sync.Mutex

Functions

func WriteYarnRCForTest

func WriteYarnRCForTest(root string) error

WriteYarnRCForTest writes a .yarnrc file which sets global configuration for every yarn inovcation. We use this to work around some test issues we see in Travis.

Types

type Environment

type Environment struct {
	*testing.T

	// RootPath is a new temp directory where the environment starts.
	RootPath string
	// Current working directory.
	CWD string
	// Backend to use for commands
	Backend string
	// Environment variables to add to the environment for commands (`key=value`).
	Env []string
	// Passphrase for config secrets, if any
	Passphrase string
	// Set to true to turn off setting PULUMI_CONFIG_PASSPHRASE.
	NoPassphrase bool

	// Content to pass on stdin, if any
	Stdin io.Reader
}

Environment is an extension of the testing.T type that provides support for a test environment on the local disk. The Environment has a root directory (e.g. a newly created temp folder) and a current working directory (to virtually change directories).

func NewEnvironment

func NewEnvironment(t *testing.T) *Environment

NewEnvironment returns a new Environment object, located in a temp directory.

func NewGoEnvironment

func NewGoEnvironment(t *testing.T) *Environment

NewGoEnvironment returns a new Environment object, located in a GOPATH temp directory.

func (*Environment) DeleteEnvironment

func (e *Environment) DeleteEnvironment()

DeleteEnvironment deletes the environment's RootPath, and everything underneath it.

func (*Environment) DeleteEnvironmentFallible added in v3.12.0

func (e *Environment) DeleteEnvironmentFallible() error

DeleteEnvironment deletes the environment's RootPath, and everything underneath it. It tolerates failing to delete the environment.

func (*Environment) DeleteIfNotFailed

func (e *Environment) DeleteIfNotFailed()

DeleteIfNotFailed deletes the environment's RootPath if the test hasn't failed. Otherwise keeps the files around for aiding debugging.

func (*Environment) GetCommandResults

func (e *Environment) GetCommandResults(command string, args ...string) (string, string, error)

GetCommandResults runs the given command and args in the Environments CWD, returning STDOUT, STDERR, and the result of os/exec.Command{}.Run.

func (*Environment) ImportDirectory

func (e *Environment) ImportDirectory(path string)

ImportDirectory copies a folder into the test environment.

func (*Environment) LocalURL

func (e *Environment) LocalURL() string

LocalURL returns a URL that uses the "fire and forget", storing its data inside the test folder (so multiple tests) may reuse stack names.

func (*Environment) PathExists

func (e *Environment) PathExists(p string) bool

PathExists returns whether or not a file or directory exists relative to Environment's working directory.

func (*Environment) RunCommand

func (e *Environment) RunCommand(cmd string, args ...string) (string, string)

RunCommand runs the command expecting a zero exit code, returning stdout and stderr.

func (*Environment) RunCommandExpectError

func (e *Environment) RunCommandExpectError(cmd string, args ...string) (string, string)

RunCommandExpectError runs the command expecting a non-zero exit code, returning stdout and stderr.

func (*Environment) SetBackend

func (e *Environment) SetBackend(backend string)

SetBackend sets the backend to use for commands in this environment.

func (*Environment) SetEnvVars

func (e *Environment) SetEnvVars(env ...string)

SetEnvVars appends to the list of environment variables. According to https://pkg.go.dev/os/exec#Cmd.Env:

If Env contains duplicate environment keys, only the last
value in the slice for each duplicate key is used.

So later values take precedence.

func (*Environment) WriteTestFile

func (e *Environment) WriteTestFile(filename string, contents string)

WriteTestFile writes a new test file relative to the Environment's CWD with the given contents. Aborts the underlying test on any errors.

Jump to

Keyboard shortcuts

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