chromium/base/test/test_switches.cc

// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#include "base/test/test_switches.h"

#include "build/build_config.h"

// Flag to show the help message.
const char switches::kHelpFlag[] =;

const char switches::kIsolatedScriptTestLauncherRetryLimit[] =;

// Makes pixel tests overwrite their reference if the output and reference
// don't match.
const char switches::kRebaselinePixelTests[] =;

// Flag to run all tests and the launcher in a single process. Useful for
// debugging a specific test in a debugger.
const char switches::kSingleProcessTests[] =;

// Maximum number of tests to run in a single batch.
const char switches::kTestLauncherBatchLimit[] =;

// Sets defaults desirable for the continuous integration bots, e.g. parallel
// test execution and test retries.
const char switches::kTestLauncherBotMode[] =;

// Makes it possible to debug the launcher itself. By default the launcher
// automatically switches to single process mode when it detects presence
// of debugger.
const char switches::kTestLauncherDebugLauncher[] =;

// List of paths to files (separated by ';') containing test filters (one
// pattern per line).
const char switches::kTestLauncherFilterFile[] =;

// Force running the test cases listed in the positive filter file with full
// name (not wildcard). If set, only exact positive filter from the filter
// file is allowed. Passing --gtest_filter, positive wildcard filters, or
// negative filters will fail the test launcher.
// If any test case is disabled or deleted in source files, the test suite
// fails.
const char switches::kEnforceExactPositiveFilter[] =;

// Force running all requested tests and retries even if too many test errors
// occur.
const char switches::kTestLauncherForceRunBrokenTests[] =;

// Whether the test launcher should launch in "interactive mode", which disables
// timeouts (and may have other effects for specific test types).
const char switches::kTestLauncherInteractive[] =;

// Number of parallel test launcher jobs.
const char switches::kTestLauncherJobs[] =;

// Path to list of compiled in tests.
const char switches::kTestLauncherListTests[] =;

// Path to test results file in our custom test launcher format.
const char switches::kTestLauncherOutput[] =;

// Maximum output bytes allowed from a single test. Exceeding this limit
// results in truncating the output and failing the test.
const char switches::kTestLauncherOutputBytesLimit[] =;

// Causes the test launcher to print information about leaked files and/or
// directories in child process's temporary directories.
const char switches::kTestLauncherPrintTempLeaks[] =;

// Flag controlling when test stdio is displayed as part of the launcher's
// standard output.
const char switches::kTestLauncherPrintTestStdio[] =;

// Print timestamps in test launcher. This is helpful for debugging test
// slowness. Currently it prints out the following log:
//   * The time at the end of each test.
//   * The time while waiting for a test to run.
// Using this flag helps you answer questions like "how long did it take
// to run the first 10000 tests".
// Please only keep this flag on builders temporarily because those logs
// are a bit spammy.
const char switches::kTestLauncherPrintTimestamps[] =;

// Print a writable path and exit (for internal use).
const char switches::kTestLauncherPrintWritablePath[] =;

// Indicate how many retries are left. Tests in general should not pass in this
// flag. This flag is used for launcher to pass retries-left information
// to the runner process.
const char switches::kTestLauncherRetriesLeft[] =;

// These two flags has the same effect, but don't use them at the same time.
// And isolated-script-test-launcher-retry-limit is preferred in the future.
// Maximum number of times to retry a test after failure.
const char switches::kTestLauncherRetryLimit[] =;

// Index of the test shard to run, starting from 0 (first shard) to total shards
// minus one (last shard).
const char switches::kTestLauncherShardIndex[] =;

// Path to test results file with all the info from the test launcher.
const char switches::kTestLauncherSummaryOutput[] =;

// Limit of test part results in the output. Default limit is 10.
// Negative value will completely disable limit.
const char switches::kTestLauncherTestPartResultsLimit[] =;

// Total number of shards. Must be the same for all shards.
const char switches::kTestLauncherTotalShards[] =;

// Time (in milliseconds) that the tests should wait before timing out.
const char switches::kTestLauncherTimeout[] =;

// Path where to save a trace of test launcher's execution.
const char switches::kTestLauncherTrace[] =;

// TODO(phajdan.jr): Clean up the switch names.
const char switches::kTestTinyTimeout[] =;
const char switches::kUiTestActionMaxTimeout[] =;
const char switches::kUiTestActionTimeout[] =;

// Do not suppress stack traces in death tests.
const char switches::kWithDeathTestStackTraces[] =;

// The following three switches match those in fuzztest and are defined
// the same way. We know about them in this test suite so that we can
// act differently if we're in fuzzing mode.
// These appear to be very stable fuzztest flags and it's unlikely that
// we'd ever need to detect others in a similar way, but if this proves
// to be unstable then we could add an upstream fuzztest API such as
// fuzztest::AreWeFuzzing, and use that instead of detecting any flags.
const char switches::kFuzz[] =;
const char switches::kFuzzFor[] =;
const char switches::kListFuzzTests[] =;

#if BUILDFLAG(IS_IOS)
// If enabled, runs unittests using the XCTest test runner.
const char switches::kEnableRunIOSUnittestsWithXCTest[] =
    "enable-run-ios-unittests-with-xctest";
// Write a compiled test json file to a location where writable.
const char switches::kWriteCompiledTestsJsonToWritablePath[] =
    "write-compiled-tests-json-to-writable-path";
#endif