Documentation ¶
Overview ¶
Package testutil provides test helpers for the golang-samples repo.
Index ¶
- func CreateTestBucket(ctx context.Context, t *testing.T, client *storage.Client, ...) string
- func DeleteBucketIfExists(ctx context.Context, client *storage.Client, bucket string) error
- func DeleteExpiredBuckets(client *storage.Client, projectID, prefix string, expireAge time.Duration) error
- func Retry(t *testing.T, maxAttempts int, sleep time.Duration, f func(r *R)) bool
- func RetryWithoutTest(maxAttempts int, sleep time.Duration, f func(r *R)) bool
- func TestBucket(ctx context.Context, t *testing.T, projectID, prefix string) string
- func UniqueBucketName(prefix string) string
- type Context
- type R
- type Runner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateTestBucket ¶
func CreateTestBucket(ctx context.Context, t *testing.T, client *storage.Client, projectID, prefix string) string
CreateTestBucket creates a new bucket with the given prefix and registers a cleanup function to delete the bucket and any objects it contains. It is equivalent to TestBucket but allows Storage Client re-use.
func DeleteBucketIfExists ¶
DeleteBucketIfExists deletes a bucket and all its objects.
func DeleteExpiredBuckets ¶
func DeleteExpiredBuckets(client *storage.Client, projectID, prefix string, expireAge time.Duration) error
DeleteExpiredBuckets deletes old testing buckets that weren't cleaned previously.
func Retry ¶
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.
func RetryWithoutTest ¶
RetryWithoutTest is a variant of Retry that does not use a testing parameter. It is meant for testing utilities that do not pass around the testing context, such as cloudrunci.
func TestBucket ¶
TestBucket creates a new bucket with the given prefix and registers a cleanup function to delete the bucket and any objects it contains when the test finishes. TestBucket returns the bucket name. It fails the test if bucket creation fails.
func UniqueBucketName ¶
UniqueBucketName returns a unique name with the test prefix.
Types ¶
type Context ¶
Context holds information useful for tests.
func ContextMain ¶
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 ¶
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 ¶
SystemTest gets the test context. The test is skipped if the GOLANG_SAMPLES_PROJECT_ID environment variable is not set.
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.
type Runner ¶
type Runner struct {
// contains filtered or unexported fields
}
Runner holds the result of `go build`
func BuildMain ¶
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) 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.