harness

package
v0.1.6 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrRepoRootNotFound = errors.New("repository root not found")
)

Functions

func AssertErrorEnvelope

func AssertErrorEnvelope(t testing.TB, result Result, exitCode int, stderrSubstring string)

AssertErrorEnvelope checks failure envelope (exit code, empty stdout, stderr substring).

func AssertExitCode

func AssertExitCode(t testing.TB, result Result, want int)

AssertExitCode checks process exit code with captured output context.

func AssertQuietFailure

func AssertQuietFailure(t testing.TB, result Result, exitCode int, stderrSubstring string)

AssertQuietFailure checks quiet-mode failure envelope.

func AssertQuietSuccess

func AssertQuietSuccess(t testing.TB, result Result)

AssertQuietSuccess checks quiet-mode success envelope.

func AssertStderrContains

func AssertStderrContains(t testing.TB, result Result, needle string)

AssertStderrContains checks stderr substring.

func AssertStderrEmpty

func AssertStderrEmpty(t testing.TB, result Result)

AssertStderrEmpty checks that stderr is empty.

func AssertStdoutContains

func AssertStdoutContains(t testing.TB, result Result, needle string)

AssertStdoutContains checks stdout substring.

func AssertStdoutEmpty

func AssertStdoutEmpty(t testing.TB, result Result)

AssertStdoutEmpty checks that stdout is empty.

func AssertTableHasColumns

func AssertTableHasColumns(t testing.TB, result Result, expectedColumns ...string)

AssertTableHasColumns checks that the first non-empty line contains required table columns.

func DecodeJSONStdout

func DecodeJSONStdout(t testing.TB, result Result, out interface{})

DecodeJSONStdout decodes stdout payload and verifies no trailing data.

func UniqueProfile

func UniqueProfile(t testing.TB) string

UniqueProfile returns a profile name isolated for one logical test flow.

Types

type Request

type Request struct {
	Args      []string
	Stdin     string
	Env       map[string]string
	Timeout   time.Duration
	ConfigDir string
	Profile   string
}

Request configures one CLI subprocess run.

type Result

type Result struct {
	Command  []string
	ExitCode int
	Stdout   string
	Stderr   string
	Duration time.Duration
}

Result contains command execution results.

type Runner

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

Runner executes the compiled CLI binary.

func New

func New(t testing.TB) *Runner

New creates a binary runner and builds the CLI once per test process.

func (*Runner) Run

func (r *Runner) Run(t testing.TB, req Request) Result

Run executes the CLI command as subprocess and captures exit/stdout/stderr.

Jump to

Keyboard shortcuts

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