clitest

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package clitest provides parallel-safe in-process command execution helpers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Execution

type Execution struct {
	Result cli.Result
	Stdout string
	Stderr string
}

Execution captures one isolated in-process command result.

func Run

func Run(
	testingContext testing.TB,
	application *cli.Application,
	argv []string,
	options ...Option,
) Execution

Run executes with context.Background and invocation-local streams.

func RunContext

func RunContext(
	testingContext testing.TB,
	ctx context.Context,
	application *cli.Application,
	argv []string,
	options ...Option,
) Execution

RunContext executes with an explicit caller-owned context.

func (Execution) AssertCommand

func (execution Execution) AssertCommand(testingContext testing.TB, want string)

AssertCommand requires the selected command's stable name.

func (Execution) AssertErrorIs

func (execution Execution) AssertErrorIs(testingContext testing.TB, target error)

AssertErrorIs requires errors.Is compatibility with target.

func (Execution) AssertExitCode

func (execution Execution) AssertExitCode(testingContext testing.TB, want int)

AssertExitCode requires an exact portable exit status.

func (Execution) AssertStderr

func (execution Execution) AssertStderr(testingContext testing.TB, want string)

AssertStderr requires exact standard error.

func (Execution) AssertStdout

func (execution Execution) AssertStdout(testingContext testing.TB, want string)

AssertStdout requires exact standard output.

func (Execution) AssertSuccess

func (execution Execution) AssertSuccess(testingContext testing.TB)

AssertSuccess requires a nil terminal error and zero exit status.

type Option

type Option func(*cli.Request)

Option configures an isolated harness request.

func WithNonInteractive

func WithNonInteractive(nonInteractive bool) Option

WithNonInteractive controls the explicit no-interaction policy.

func WithOutput

func WithOutput(policy cli.OutputPolicy) Option

WithOutput selects an invocation-local output policy.

func WithStdin

func WithStdin(value string) Option

WithStdin supplies invocation-local standard input.

Jump to

Keyboard shortcuts

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