testutil

package
v0.0.0-...-5465a7a Latest Latest
Warning

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

Go to latest
Published: Aug 15, 2019 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package testutil provides test helpers for the golang-samples repo.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Retry

func Retry(t *testing.T, maxAttempts int, sleep time.Duration, f func(r *R)) bool

Retry runs function f for up to maxAttempts times until f returns successfully, and reports whether f was run successfully. It will sleep for the given period between invocations of f. Use the provided *testutil.R instead of a *testing.T from the function.

Types

type Context

type Context struct {
	ProjectID string
	Dir       string
}

func ContextMain

func ContextMain(m *testing.M) (tc Context, ok bool)

ContextMain gets a test context from a TestMain function. Useful for initializing global variables before running parallel system tests. ok is false if the project is not set up properly for system tests.

func EndToEndTest

func EndToEndTest(t *testing.T) Context

EndToEndTest gets the test context, and sets the test as Parallel. The test is skipped if the GOLANG_SAMPLES_E2E_TEST environment variable is not set.

func SystemTest

func SystemTest(t *testing.T) Context

SystemTest gets the test context. The test is skipped if the GOLANG_SAMPLES_PROJECT_ID environment variable is not set.

func (Context) Path

func (tc Context) Path(p ...string) string

type R

type R struct {
	// The number of current attempt.
	Attempt int
	// contains filtered or unexported fields
}

R is passed to each run of a flaky test run, manages state and accumulates log statements.

func (*R) Errorf

func (r *R) Errorf(s string, v ...interface{})

Errorf is equivalent to Logf followed by Fail.

func (*R) Fail

func (r *R) Fail()

Fail marks the run as failed, and will retry once the function returns.

func (*R) Logf

func (r *R) Logf(s string, v ...interface{})

Logf formats its arguments and records it in the error log. The text is only printed for the final unsuccessful run or the first successful run.

type Runner

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

Runner holds the result of `go build`

func BuildMain

func BuildMain(t *testing.T) *Runner

BuildMain builds the main package in the current working directory. If it doesn't build, t.Fatal is called. Test methods calling BuildMain should run Runner.Cleanup.

func (*Runner) Built

func (r *Runner) Built() bool

Built reports whether the build was successful.

func (*Runner) Cleanup

func (r *Runner) Cleanup()

Cleanup removes the built binary.

func (*Runner) Run

func (r *Runner) Run(env map[string]string, timeout time.Duration, args ...string) (stdout, stderr []byte, err error)

Run executes runs the built binary until terminated or timeout has been reached, and indicates successful execution on return. You can supply extra arguments for the binary via args.

Jump to

Keyboard shortcuts

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