OS Manuals

/usr/bin/ginkgo

A Modern Testing Framework for Go

From ginkgo 2.34.0-r0 (enterprise-packages), captured 2026-11-08 by running ginkgo --usage (exit 1). permalink

ginkgo run failed
  flag provided but not defined: -usage

ginkgo run <FLAGS> <PACKAGES> -- <PASS-THROUGHS>
------------------------------------------------
Run the tests in the passed in <PACKAGES> (or the package in the current
directory if left blank)

Any arguments after -- will be passed to the test.

Learn more at: http://onsi.github.io/ginkgo/#running-specs

Running Multiple Test Suites
  -r
    If set, ginkgo finds and runs test suites under the current directory
    recursively.
  --skip-package [comma-separated list of packages]
    A comma-separated list of package names to be skipped.  If any part of the
    package's path matches, that package is ignored.
  --compilers [int] (default: 0 (will autodetect))
    When running multiple packages, the number of concurrent compilations to
    perform.
  --keep-going
    If set, failures from earlier test suites do not prevent later test suites
    from running.

Controlling Test Order
  --seed [int] (default: randomly generated by Ginkgo)
    The seed used to randomize the spec suite.
  --randomize-all
    If set, ginkgo will randomize all specs together.  By default, ginkgo only
    randomizes the top level Describe, Context and When containers.
  --randomize-suites
    If set, ginkgo will randomize the order in which test suites run.

Controlling Test Parallelism
  --procs [int] (default: 1 (run in series))
    The number of parallel test nodes to run.
  --nodes [int] (default: 1 (run in series))
    --nodes is an alias for --procs
  -p
    If set, ginkgo will run in parallel with an auto-detected number of nodes.

Filtering Tests
  --label-filter [expression]
    If set, ginkgo will only run specs with labels that match the label-filter.
    The passed-in expression can include boolean operations (!, &&, ||, ','),
    groupings via '()', and regular expressions '/regexp/'.  e.g. '(cat || dog)
    && !fruit'
  --sem-ver-filter [version]
    If set, ginkgo will only run specs with semantic version constraints that
    are satisfied by the provided version. e.g. '2.1.0'
  --focus [string]
    If set, ginkgo will only run specs that match this regular expression. Can
    be specified multiple times, values are ORed.
  --skip [string]
    If set, ginkgo will only run specs that do not match this regular
    expression. Can be specified multiple times, values are ORed.
  --focus-file [file (regexp) | file:line | file:lineA-lineB | file:line,line,line]
    If set, ginkgo will only run specs in matching files. Can be specified
    multiple times, values are ORed.
  --skip-file [file (regexp) | file:line | file:lineA-lineB | file:line,line,line]
    If set, ginkgo will skip specs in matching files. Can be specified multiple
    times, values are ORed.

Failure Handling
  --fail-on-pending
    If set, ginkgo will mark the test suite as failed if any specs are pending.
  --fail-fast
    If set, ginkgo will stop running a test suite after a failure occurs.
  --flake-attempts [int] (default: 0 - failed tests are not retried)
    Make up to this many attempts to run each spec. If any of the attempts
    succeed, the suite will not be failed.
  --fail-on-empty
    If set, ginkgo will mark the test suite as failed if no specs are run.
  --sleep-on-failure [duration] (default: 0 - disabled)
    If set, ginkgo will pause for this duration after a spec fails - before its
    teardown (AfterEach/JustAfterEach/DeferCleanup) runs - so you can inspect
    the live system. Press ^C to end the pause early and proceed to cleanup.
    Serial only: cannot be combined with -p/--procs.
  --require-suite
    If set, Ginkgo fails if there are ginkgo tests in a directory but no
    invocation of RunSpecs.

Controlling Output Formatting
  --no-color
    If set, suppress color output in default reporter.  You can also set the
    environment variable GINKGO_NO_COLOR=TRUE
  -v
    If set, emits more output including GinkgoWriter contents.
  --vv
    If set, emits with maximal verbosity - includes skipped and pending tests.
  --succinct
    If set, default reporter prints out a very succinct report
  --trace
    If set, default reporter prints out the full stack trace when a failure
    occurs
  --show-node-events
    If set, default reporter prints node > Enter and < Exit events when specs
    fail
  --github-output
    If set, default reporter prints easier to manage output in Github Actions.
  --silence-skips
    If set, default reporter will not print out skipped tests.
  --force-newlines
    If set, default reporter will ensure a newline appears after each test.
  --fd
    If set, emits RSpec-style 'format documentation' output instead of Ginkgo's
    default output.  --fd is exclusive: it overrides -p/-procs and
    -randomize-all, forcing specs to run serially in declaration order, since
    fd's hierarchical output can't be rendered sensibly when specs are
    parallelized or randomized.
  --json-report [filename.json]
    If set, Ginkgo will generate a JSON-formatted test report at the specified
    location.
  --gojson-report [filename.json]
    If set, Ginkgo will generate a Go JSON-formatted test report at the
    specified location.
  --junit-report [filename.xml]
    If set, Ginkgo will generate a conformant junit test report in the specified
    file.
  --teamcity-report [filename]
    If set, Ginkgo will generate a Teamcity-formatted test report at the
    specified location.
  --output-dir [directory]
    A location to place all generated profiles and reports.
  --keep-separate-reports
    If set, Ginkgo does not merge per-suite reports (e.g. -json-report) into one
    monolithic report for the entire testrun.  The reports will remain in their
    respective package directories or in -output-dir if set.

Code and Coverage Analysis
When generating a cover files, please pass a filename not a path.  To specify a
different directory use --output-dir.
  --keep-separate-coverprofiles
    If set, Ginkgo does not merge coverprofiles into one monolithic
    coverprofile.  The coverprofiles will remain in their respective package
    directories or in -output-dir if set.
  --race
    enable data race detection. Supported on linux/amd64, linux/ppc64le,
    linux/arm64, linux/s390x, freebsd/amd64, netbsd/amd64, darwin/amd64,
    darwin/arm64, and windows/amd64.
  --vet [list]
    Configure the invocation of "go vet" during "go test" to use the
    comma-separated list of vet checks.  If list is empty (by explicitly passing
    --vet=""), "go test" runs "go vet" with a curated list of checks believed to
    be always worth addressing.  If list is "off", "go test" does not run "go
    vet" at all.  Available checks can be found by running 'go doc cmd/vet'
  --cover
    Enable coverage analysis.	Note that because coverage works by annotating the
    source code before compilation, compilation and test failures with coverage
    enabled may report line numbers that don't correspond to the original
    sources.
  --covermode [set,count,atomic]
    Set the mode for coverage analysis for the package[s] being tested. 'set':
    does this statement run? 'count': how many times does this statement run?
    'atomic': like count, but correct in multithreaded tests and more expensive
    (must use atomic with -race). Sets -cover
  --coverpkg [pattern1,pattern2,pattern3]
    Apply coverage analysis in each test to packages matching the patterns. 	The
    default is for each test to analyze only the package being tested. See 'go
    help packages' for a description of package patterns. Sets -cover.
  --coverprofile [file]
    Write a coverage profile to the file after all tests have passed. Sets
    -cover.  Must be passed a filename, not a path.  Use output-dir to control
    the location of the output.

Performance Analysis
When generating profile files, please pass filenames not a path.  Ginkgo will
generate a profile file with the given name in the package's directory.  To
specify a different directory use --output-dir.
  --blockprofile [file]
    Write a goroutine blocking profile to the specified file when all tests are
    complete. Preserves test binary.
  --blockprofilerate [rate]
    Control the detail provided in goroutine blocking profiles by calling
    runtime.SetBlockProfileRate with rate. See 'go doc
    runtime.SetBlockProfileRate'. The profiler aims to sample, on average, one
    blocking event every n nanoseconds the program spends blocked. By default,
    if -test.blockprofile is set without this flag, all blocking events are
    recorded, equivalent to -test.blockprofilerate=1.
  --cpuprofile [file]
    Write a CPU profile to the specified file before exiting. Preserves test
    binary.
  --memprofile [file]
    Write an allocation profile to the file after all tests have passed.
    Preserves test binary.
  --memprofilerate [rate]
    Enable more precise (and expensive) memory allocation profiles by setting
    runtime.MemProfileRate. See 'go doc runtime.MemProfileRate'. To profile all
    memory allocations, use -test.memprofilerate=1.
  --mutexprofile [file]
    Write a mutex contention profile to the specified file when all tests are
    complete. Preserves test binary.
  --mutexprofilefraction [n]
    if >= 0, calls runtime.SetMutexProfileFraction()	Sample 1 in n stack traces
    of goroutines holding a contended mutex.
  --execution-trace [file]
    Write an execution trace to the specified file before exiting.

Debugging Tests
In addition to these flags, Ginkgo supports a few debugging environment
variables.  To change the parallel server protocol set GINKGO_PARALLEL_PROTOCOL
to HTTP.  To avoid pruning callstacks set GINKGO_PRUNE_STACK to FALSE.
  --dry-run
    If set, ginkgo will walk the test hierarchy without actually running
    anything.  Best paired with -v.
  --poll-progress-after [duration] (default: 0)
    Emit node progress reports periodically if node hasn't completed after this
    duration.
  --poll-progress-interval [duration] (default: 10s)
    The rate at which to emit node progress reports after poll-progress-after
    has elapsed.
  --source-root [string]
    The location to look for source code when generating progress reports.  You
    can pass multiple --source-root flags.
  --timeout [duration] (default: 1h)
    Test suite fails if it does not complete within the specified timeout.
  --grace-period [duration] (default: 30s)
    When interrupted, Ginkgo will wait for GracePeriod for the current running
    node to exit before moving on to the next one.
  --output-interceptor-mode [dup, swap, or none]
    If set, ginkgo will use the specified output interception strategy when
    running in parallel.  Defaults to dup on unix and swap on windows.
  --until-it-fails
    If set, ginkgo will keep rerunning test suites until a failure occurs.
  --repeat [n] (default: 0 - i.e. no repetition, run only once)
    The number of times to re-run a test-suite.  Useful for debugging flaky
    tests.  If set to N the suite will be run N+1 times and will be required to
    pass each time.

Miscellaneous
  --after-run-hook [string]
    Command to run when a test suite completes.

Go Build Flags
These flags are inherited from go build.  Run ginkgo help build for more
detailed flag documentation.
  --a, --asmflags, --buildmode, --buildvcs, --compiler, --gccgoflags, --gcflags,
  --installsuffix, --ldflags, --linkshared, --mod, --modcacherw, --modfile,
  --asan, --msan, --n, --pkgdir, --tags, --trimpath, --toolexec, --work, --x
Options (52)
OptionDescriptionSource
-rIf set, ginkgo finds and runs test suites under the current directory recursively.help
--keep-goingIf set, failures from earlier test suites do not prevent later test suites from running.help
--randomize-allIf set, ginkgo will randomize all specs together.help
--randomize-suitesIf set, ginkgo will randomize the order in which test suites run.help
-pIf set, ginkgo will run in parallel with an auto-detected number of nodes.help
--label-filter expressionIf set, ginkgo will only run specs with labels that match the label-filter.help
--sem-ver-filter versionIf set, ginkgo will only run specs with semantic version constraints that are satisfied by the provided version.help
--focus stringIf set, ginkgo will only run specs that match this regular expression.help
--skip stringIf set, ginkgo will only run specs that do not match this regular expression.help
--fail-on-pendingIf set, ginkgo will mark the test suite as failed if any specs are pending.help
--fail-fastIf set, ginkgo will stop running a test suite after a failure occurs.help
--fail-on-emptyIf set, ginkgo will mark the test suite as failed if no specs are run.help
--require-suiteIf set, Ginkgo fails if there are ginkgo tests in a directory but no invocation of RunSpecs.help
--no-colorIf set, suppress color output in default reporter.help
-vIf set, emits more output including GinkgoWriter contents.help
--vvIf set, emits with maximal verbosity - includes skipped and pending tests.help
--succinctIf set, default reporter prints out a very succinct reporthelp
--traceIf set, default reporter prints out the full stack trace when a failure occurshelp
--show-node-eventsIf set, default reporter prints node > Enter and < Exit events when specs failhelp
--github-outputIf set, default reporter prints easier to manage output in Github Actions.help
--silence-skipsIf set, default reporter will not print out skipped tests.help
--force-newlinesIf set, default reporter will ensure a newline appears after each test.help
--fdIf set, emits RSpec-style 'format documentation' output instead of Ginkgo's default output.help
--json-report filename.jsonIf set, Ginkgo will generate a JSON-formatted test report at the specified location.help
--gojson-report filename.jsonIf set, Ginkgo will generate a Go JSON-formatted test report at the specified location.help
--junit-report filename.xmlIf set, Ginkgo will generate a conformant junit test report in the specified file.help
--teamcity-report filenameIf set, Ginkgo will generate a Teamcity-formatted test report at the specified location.help
--output-dir directoryA location to place all generated profiles and reports.help
--keep-separate-reportsIf set, Ginkgo does not merge per-suite reports (e.g. -json-report) into one monolithic report for the entire testrun.help
--keep-separate-coverprofilesIf set, Ginkgo does not merge coverprofiles into one monolithic coverprofile.help
--raceenable data race detection.help
--vet listConfigure the invocation of "go vet" during "go test" to use the comma-separated list of vet checks.help
--coverEnable coverage analysis.help
--covermode setSet the mode for coverage analysis for the package[s] being tested.help
--coverpkg pattern1Apply coverage analysis in each test to packages matching the patterns.help
--coverprofile fileWrite a coverage profile to the file after all tests have passed.help
-coverMust be passed a filename, not a path.help
--blockprofile fileWrite a goroutine blocking profile to the specified file when all tests are complete.help
--blockprofilerate rateControl the detail provided in goroutine blocking profiles by calling runtime.SetBlockProfileRate with rate.help
--cpuprofile fileWrite a CPU profile to the specified file before exiting.help
--memprofile fileWrite an allocation profile to the file after all tests have passed.help
--memprofilerate rateEnable more precise (and expensive) memory allocation profiles by setting runtime.MemProfileRate.help
--mutexprofile fileWrite a mutex contention profile to the specified file when all tests are complete.help
--mutexprofilefraction nif >= 0, calls runtime.SetMutexProfileFraction() Sample 1 in n stack traces of goroutines holding a contended mutex.help
--execution-trace fileWrite an execution trace to the specified file before exiting.help
--dry-runIf set, ginkgo will walk the test hierarchy without actually running anything.help
--source-root stringThe location to look for source code when generating progress reports.help
--until-it-failsIf set, ginkgo will keep rerunning test suites until a failure occurs.help
--after-run-hook stringCommand to run when a test suite completes.help
--a, --asmflags, --buildmode, --buildvcs, --compiler, --gccgoflags, --gcflagshelp
--installsuffix, --ldflags, --linkshared, --mod, --modcacherw, --modfilehelp
--asan, --msan, --n, --pkgdir, --tags, --trimpath, --toolexec, --work, --xhelp

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.