Controlling Test Order --ginkgo.seed [int] (default: randomly generated by Ginkgo) The seed used to randomize the spec suite. --ginkgo.randomize-all If set, ginkgo will randomize all specs together. By default, ginkgo only randomizes the top level Describe, Context and When containers. Controlling Test Parallelism These are set by the Ginkgo CLI, do not set them manually via go test. Use ginkgo -p or ginkgo -procs=N instead. --ginkgo.parallel.process [int] (default: 1) This worker process's (one-indexed) process number. For running specs in parallel. --ginkgo.parallel.total [int] (default: 1) The total number of worker processes. For running specs in parallel. --ginkgo.parallel.host [string] (default: set by Ginkgo CLI) The address for the server that will synchronize the processes. Filtering Tests --ginkgo.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' --ginkgo.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' --ginkgo.focus [string] If set, ginkgo will only run specs that match this regular expression. Can be specified multiple times, values are ORed. --ginkgo.skip [string] If set, ginkgo will only run specs that do not match this regular expression. Can be specified multiple times, values are ORed. --ginkgo.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. --ginkgo.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 --ginkgo.fail-on-pending If set, ginkgo will mark the test suite as failed if any specs are pending. --ginkgo.fail-fast If set, ginkgo will stop running a test suite after a failure occurs. --ginkgo.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. --ginkgo.fail-on-empty If set, ginkgo will mark the test suite as failed if no specs are run. Controlling Output Formatting --ginkgo.no-color If set, suppress color output in default reporter. You can also set the environment variable GINKGO_NO_COLOR=TRUE --ginkgo.v If set, emits more output including GinkgoWriter contents. --ginkgo.vv If set, emits with maximal verbosity - includes skipped and pending tests. --ginkgo.succinct If set, default reporter prints out a very succinct report --ginkgo.trace If set, default reporter prints out the full stack trace when a failure occurs --ginkgo.show-node-events If set, default reporter prints node > Enter and < Exit events when specs fail --ginkgo.github-output If set, default reporter prints easier to manage output in Github Actions. --ginkgo.silence-skips If set, default reporter will not print out skipped tests. --ginkgo.force-newlines If set, default reporter will ensure a newline appears after each test. --ginkgo.json-report [filename.json] If set, Ginkgo will generate a JSON-formatted test report at the specified location. --ginkgo.gojson-report [filename.json] If set, Ginkgo will generate a Go JSON-formatted test report at the specified location. --ginkgo.junit-report [filename.xml] If set, Ginkgo will generate a conformant junit test report in the specified file. --ginkgo.teamcity-report [filename] If set, Ginkgo will generate a Teamcity-formatted test report at the specified location. 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. --ginkgo.dry-run If set, ginkgo will walk the test hierarchy without actually running anything. Best paired with -v. --ginkgo.poll-progress-after [duration] (default: 0) Emit node progress reports periodically if node hasn't completed after this duration. --ginkgo.poll-progress-interval [duration] (default: 10s) The rate at which to emit node progress reports after poll-progress-after has elapsed. --ginkgo.source-root [string] The location to look for source code when generating progress reports. You can pass multiple --source-root flags. --ginkgo.timeout [duration] (default: 1h) Test suite fails if it does not complete within the specified timeout. --ginkgo.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. --ginkgo.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. Go test flags -allow_dynamic_housekeeping Whether to allow the housekeeping interval to be dynamic -allowed-not-ready-nodes int If greater than zero, framework will allow for that many non-ready nodes when checking for all ready nodes. If -1, no waiting will be performed for ready nodes or daemonset pods. -application_metrics_count_limit int Max number of application metrics to store (per container) -boot_id_file string Comma-separated list of files to check for boot-id. Use the first one that exists. -cert-dir string Path to the directory containing the certs. Default is empty, which doesn't use certs. -clean-start If true, purge all namespaces except default and system before running tests. This serves to Cleanup test namespaces from failed/interrupted e2e runs in a long-lived cluster. -cloud-config-file string Cloud config file. Only required if provider is azure or vsphere. -cluster-ip-range string A CIDR notation IP range from which to assign IPs in the cluster. -cluster-tag string Tag used to identify resources. Only required if provider is aws. -container-runtime-endpoint string The container runtime endpoint of cluster VM instances. -container-runtime-pid-file string The pid file of the container runtime. -container-runtime-process-name string The name of the container runtime process. -container_hints string location of the container hints file -containerd string containerd endpoint -containerd-namespace string containerd namespace -containerd_env_metadata_whitelist env_metadata_whitelist DEPRECATED: this flag will be removed, please use env_metadata_whitelist. A comma-separated list of environment variable keys matched with specified prefix that needs to be collected for containerd containers -context string kubeconfig context to use/override. If unset, will use value from 'current-context' -crio_client_timeout duration CRI-O client timeout. Default is no timeout. -delete-namespace If true tests will delete namespace after completion. It is only designed to make debugging easier, DO NOT turn it off by default. -delete-namespace-on-failure If true, framework will delete test namespace on failure. Used only during test debugging. -disable-log-dump If set to true, logs from master and nodes won't be gathered after test run. -disable_root_cgroup_stats Disable collecting root Cgroup stats -dns-domain string The DNS Domain of the cluster. -docker-config-file string A docker credential file which contains authorization token that is used to perform image pull tests from an authenticated registry. For more details regarding the content of the file refer https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#log-in-to-docker-hub -docker_only Only report docker containers in addition to root stats -dump-logs-on-failure If set to true test will dump data about the namespace in which test was running. -dump-systemd-journal Whether to dump the full systemd journal. -e2e-docker-config-file string A docker credentials configuration file used which contains authorization token that can be used to pull images from certain private registries provided by the users. For more details refer https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#log-in-to-docker-hub -e2e-output-dir string Output directory for interesting/useful test data, like performance data, benchmarks, and other metrics. -e2e-verify-service-account If true tests will verify the service account before running. -enable_load_reader Whether to enable cpu load reader -enabled-volume-drivers value Comma-separated list of in-tree volume drivers to enable for testing. This is only needed for in-tree drivers disabled by default. An example is gcepd; see test/e2e/storage/in_tree_volumes.go for full details. -etcd-upgrade-storage string The storage version to upgrade to (either 'etcdv2' or 'etcdv3') if doing an etcd upgrade test. -etcd-upgrade-version string The etcd binary version to upgrade to (e.g., '3.0.14', '2.3.7') if doing an etcd upgrade test. -event_storage_age_limit string Max length of time for which to store events (per type). Value is a comma separated list of key values, where the keys are event types (e.g.: creation, oom) or "default" and the value is a duration. Default is applied to all non-specified event types -event_storage_event_limit string Max number of events to store (per type). Value is a comma separated list of key values, where the keys are event types (e.g.: creation, oom) or "default" and the value is an integer. Default is applied to all non-specified event types -gather-logs-sizes If set to true framework will be monitoring logs sizes on all machines running e2e tests. -gather-metrics-at-teardown string If set to 'true' framework will gather metrics from all components after each test. If set to 'master' only master component metrics would be gathered. -gather-resource-usage string If set to 'true' or 'all' framework will be monitoring resource usage of system all add-ons in (some) e2e tests, if set to 'master' framework will be monitoring master node only, if set to 'none' of 'false' monitoring will be turned off. -gather-suite-metrics-at-teardown If set to true framework will gather metrics from all components after the whole test suite completes. -gce-api-endpoint string The GCE APIEndpoint being used, if applicable -gce-multimaster If true, the underlying GCE/GKE cluster is assumed to be multi-master. -gce-multizone If true, start GCE cloud provider with multizone support. -gce-project string The GCE project being used, if applicable -gce-region string GCE region being used, if applicable -gce-upgrade-script string Script to use to upgrade a GCE cluster. -gce-zone string GCE zone being used, if applicable -gce-zones value The set of zones to use in a multi-zone test instead of querying the cloud provider. -gke-cluster string GKE name of cluster being used, if applicable -global_housekeeping_interval duration Interval between global housekeepings -gomega-max-length int Sets the maximum size for the gomega formatter (= gomega.MaxLength). Use 0 to disable truncation. -host string The host, or apiserver, to connect to. Will default to https://127.0.0.1:6443 if this argument and --kubeconfig are not set. -housekeeping_interval duration Interval between container housekeepings -image-service-endpoint string The image service endpoint of cluster VM instances. -include-cluster-autoscaler If set to true, framework will include Cluster Autoscaler when gathering metrics. -instrumentation.logging.soak.scale int number of waves of pods -instrumentation.logging.soak.timeBetweenWaves duration time to wait before dumping the next wave of pods -kube-api-content-type string ContentType used to communicate with apiserver -kube-master string Name of the kubernetes master. Only required if provider is gce or gke -kube-test-repo-list string A yaml file used for overriding registries for test images. Alternatively, the KUBE_TEST_REPO_LIST env variable can be set. -kubeconfig string Path to kubeconfig containing embedded authinfo. -kubectl-path string The kubectl binary to use. For development, you might use 'cluster/kubectl.sh' here. -kubelet-root-dir string The data directory of kubelet. Some tests (for example, CSI storage tests) deploy DaemonSets which need to know this value and cannot query it. Such tests only work in clusters where the data directory is the same on all nodes. -kubemark-external-kubeconfig string Path to kubeconfig containing embedded authinfo for external cluster. -list-conformance-tests If true, will show list of conformance tests. -list-images If true, will show list of images used for running tests. -list-labels If true, will show the list of labels that can be used to select tests via -ginkgo.label-filter. -list-tests If true, will show the full names of all tests (aka specs) that can be used to select test via -ginkgo.focus/skip. -log-flush-frequency duration Maximum number of seconds between log flushes -log_cadvisor_usage Whether to log the usage of the cAdvisor container -logcheck-data-races enables checking logs for DATA RACE warnings -logcheck-namespaces-regexp value all namespaces matching this regular expressions get checked -logcheck-nodes-regexp value all kubelets on nodes matching this regular expressions get checked -logexporter-gcs-path string Path to the GCS artifacts directory to dump logs from nodes. Logexporter gets enabled if this is non-empty. -machine_id_file string Comma-separated list of files to check for machine-id. Use the first one that exists. -master-os-distro string The OS distribution of cluster master (debian, ubuntu, gci, coreos, or custom). -master-tag string Network tags used on master instances. Valid only for gce, gke -max-nodes-to-gather-from int The maximum number of nodes to gather extended info from on test failure. -max_housekeeping_interval duration Largest interval to allow between container housekeepings -minStartupPods int The number of pods which we need to see in 'Running' state with a 'Ready' condition of true, before we try running tests. This is useful in any cluster which needs some base pod-based services running before it can be used. If set to -1, no pods are checked and tests run straight away. -network string The cloud provider network for this e2e cluster. -node-instance-group string Name of the managed instance group for nodes. Valid only for gce, gke or aws. If there is more than one group: comma separated list of groups. -node-os-arch string The OS architecture of cluster VM instances (amd64, arm64, or custom). -node-os-distro string The OS distribution of cluster VM instances (debian, ubuntu, gci, coreos, windows, or custom), which determines how specific tests are implemented. -node-schedulable-timeout duration Timeout for waiting for all nodes to be schedulable. -node-tag string Network tags used on node instances. Valid only for gce, gke -non-blocking-taints string Nodes with taints in this comma-delimited list will not block the test framework from starting tests. -num-nodes int Number of nodes in the cluster. If the default value of '-1' is used the number of schedulable nodes is auto-detected. -output-print-type string Format in which summaries should be printed: 'hr' for human readable, 'json' for JSON ones. -prefix string A prefix to be added to cloud resources created during testing. -prepull-images If true, prepull images so image pull failures do not cause test failures. -progress-report-url string The URL to POST progress updates to as the suite runs to assist in aiding integrations. If empty, no messages sent. -provider string The name of the Kubernetes provider (gce, gke, local, skeleton (the fallback if not set), etc.) -referenced_reset_interval uint Reset interval for referenced bytes (container_referenced_bytes metric), number of measurement cycles after which referenced bytes are cleared, if set to 0 referenced bytes are never cleared (default: 0) -repo-root string Root directory of kubernetes repository, for finding test files. -report-complete-ginkgo Enables writing a complete test report as Ginkgo JSON to /ginkgo/report.json. Ignored if --report-dir is not set. -report-complete-junit Enables writing a complete test report as JUnit XML to /ginkgo/report.json. Ignored if --report-dir is not set. -report-dir string Path to the directory where the simplified JUnit XML reports and other tests results should be saved. Default is empty, which doesn't generate these reports. If ginkgo's -junit-report parameter is used, that parameter instead of -report-dir determines the location of a single JUnit report. -report-prefix string Optional prefix for JUnit XML reports. Default is empty, which doesn't prepend anything to the default name. -snapshot-controller-http-port int The port to use for snapshot controller HTTP communication. -snapshot-controller-pod-name string The pod name to use for identifying the snapshot controller in the kube-system namespace. -spec-dump string The file to dump all ginkgo.SpecSummary to after tests run. If empty, no objects are saved/printed. -storage.migratedPlugins string comma separated list of in-tree plugin names of form 'kubernetes.io/{pluginName}' migrated to CSI -storage.testdriver value name of a .yaml or .json file that defines a driver for storage testing, can be used more than once -storage_driver_buffer_duration duration Writes in the storage driver will be buffered for this duration, and committed to the non memory backends as a single transaction -storage_driver_db string database name -storage_driver_host string database host:port -storage_driver_password string database password -storage_driver_secure use secure connection with database -storage_driver_table string table name -storage_driver_user string database username -system-daemonsets-startup-timeout duration Timeout for waiting for all system daemonsets to be ready. -system-pods-startup-timeout duration Timeout for waiting for all system pods to be running before starting tests. -systemd-services string The comma separated list of systemd services the framework will dump logs for. -test.artifacts store test artifacts in test.,outputdir -test.bench regexp run only benchmarks matching regexp -test.benchmem print memory allocations for benchmarks -test.benchtime d run each benchmark for duration d or N times if `d` is of the form Nx -test.blockprofile file write a goroutine blocking profile to file -test.blockprofilerate rate set blocking profile rate (see runtime.SetBlockProfileRate) -test.count n run tests and benchmarks n times -test.coverprofile file write a coverage profile to file -test.cpu list comma-separated list of cpu counts to run each test with -test.cpuprofile file write a cpu profile to file -test.failfast do not start new tests after the first test failure -test.fullpath show full file names in error messages -test.fuzz regexp run the fuzz test matching regexp -test.fuzzcachedir string directory where interesting fuzzing inputs are stored (for use only by cmd/go) -test.fuzzminimizetime value time to spend minimizing a value after finding a failing input -test.fuzztime value time to spend fuzzing; default is to run indefinitely -test.fuzzworker coordinate with the parent process to fuzz random values (for use only by cmd/go) -test.gocoverdir string write coverage intermediate files to this directory -test.list regexp list tests, examples, and benchmarks matching regexp then exit -test.memprofile file write an allocation profile to file -test.memprofilerate rate set memory allocation profiling rate (see runtime.MemProfileRate) -test.mutexprofile string write a mutex contention profile to the named file after execution -test.mutexprofilefraction int if >= 0, calls runtime.SetMutexProfileFraction() -test.outputdir dir write profiles to dir -test.paniconexit0 panic on call to os.Exit(0) -test.parallel n run at most n tests in parallel -test.run regexp run only tests and examples matching regexp -test.short run smaller test suite to save time -test.shuffle string randomize the execution order of tests and benchmarks -test.skip regexp do not list or run tests matching regexp -test.testlogfile file write test action log to file (for use only by cmd/go) -test.timeout d panic test binary after duration d (default 0, timeout disabled) -test.trace file write an execution trace to file -test.v verbose: print additional output -tooling string The tooling in use (kops, gke, etc.) -update_machine_info_interval duration Interval between machine info updates. -upgrade-image string Image to upgrade to (e.g. 'container_vm' or 'gci') if doing an upgrade test. -upgrade-target string Version to upgrade to (e.g. 'release/stable', 'release/latest', 'ci/latest', '0.19.1', '0.19.1-669-gabac8c8') if doing an upgrade test. -v value number for the log level verbosity -version Displays version information. -vmodule value comma-separated list of pattern=N settings for file-filtered logging (only works for the default text log format) -volume-dir string An alias for --kubelet-root-dir, kept for backwards compatibility.