0
0
mirror of https://github.com/mongodb/mongo.git synced 2024-12-01 09:32:32 +01:00
mongodb/buildscripts/resmokelib/config.py

196 lines
6.5 KiB
Python

"""
Configuration options for resmoke.py.
"""
from __future__ import absolute_import
import os
import os.path
import time
##
# Default values.
##
# Default path for where to look for executables.
DEFAULT_DBTEST_EXECUTABLE = os.path.join(os.curdir, "dbtest")
DEFAULT_MONGO_EXECUTABLE = os.path.join(os.curdir, "mongo")
DEFAULT_MONGOD_EXECUTABLE = os.path.join(os.curdir, "mongod")
DEFAULT_MONGOS_EXECUTABLE = os.path.join(os.curdir, "mongos")
# Default root directory for where resmoke.py puts directories containing data files of mongod's it
# starts, as well as those started by individual tests.
DEFAULT_DBPATH_PREFIX = os.path.normpath("/data/db")
# Subdirectory under the dbpath prefix that contains directories with data files of mongod's started
# by resmoke.py.
FIXTURE_SUBDIR = "resmoke"
# Subdirectory under the dbpath prefix that contains directories with data files of mongod's started
# by individual tests.
MONGO_RUNNER_SUBDIR = "mongorunner"
# Names below correspond to how they are specified via the command line or in the options YAML file.
DEFAULTS = {
"basePort": 20000,
"buildloggerUrl": "https://logkeeper.mongodb.org",
"continueOnFailure": False,
"dbpathPrefix": None,
"dbtest": None,
"dryRun": None,
"excludeWithAllTags": None,
"excludeWithAnyTags": None,
"includeWithAllTags": None,
"includeWithAnyTags": None,
"jobs": 1,
"mongo": None,
"mongod": None,
"mongodSetParameters": None,
"mongos": None,
"mongosSetParameters": None,
"nojournal": False,
"numClientsPerFixture": 1,
"repeat": 1,
"reportFile": None,
"seed": long(time.time() * 256), # Taken from random.py code in Python 2.7.
"shellReadMode": None,
"shellWriteMode": None,
"shuffle": False,
"storageEngine": None,
"storageEngineCacheSizeGB": None,
"wiredTigerCollectionConfigString": None,
"wiredTigerEngineConfigString": None,
"wiredTigerIndexConfigString": None
}
##
# Variables that are set by the user at the command line or with --options.
##
# The starting port number to use for mongod and mongos processes spawned by resmoke.py and the
# mongo shell.
BASE_PORT = None
# The root url of the buildlogger server.
BUILDLOGGER_URL = None
# Root directory for where resmoke.py puts directories containing data files of mongod's it starts,
# as well as those started by individual tests.
DBPATH_PREFIX = None
# The path to the dbtest executable used by resmoke.py.
DBTEST_EXECUTABLE = None
# If set to "tests", then resmoke.py will output the tests that would be run by each suite (without
# actually running them).
DRY_RUN = None
# If set, then any jstests that have all of the specified tags will be excluded from the suite(s).
EXCLUDE_WITH_ALL_TAGS = None
# If set, then any jstests that have any of the specified tags will be excluded from the suite(s).
EXCLUDE_WITH_ANY_TAGS = None
# If true, then a test failure or error will cause resmoke.py to exit and not run any more tests.
FAIL_FAST = None
# If set, then only jstests that have all of the specified tags will be run during the jstest
# portion of the suite(s).
INCLUDE_WITH_ALL_TAGS = None
# If set, then only jstests that have at least one of the specified tags will be run during the
# jstest portion of the suite(s).
INCLUDE_WITH_ANY_TAGS = None
# If set, then resmoke.py starts the specified number of Job instances to run tests.
JOBS = None
# The path to the mongo executable used by resmoke.py.
MONGO_EXECUTABLE = None
# The path to the mongod executable used by resmoke.py.
MONGOD_EXECUTABLE = None
# The --setParameter options passed to mongod.
MONGOD_SET_PARAMETERS = None
# The path to the mongos executable used by resmoke.py.
MONGOS_EXECUTABLE = None
# The --setParameter options passed to mongos.
MONGOS_SET_PARAMETERS = None
# If true, then all mongod's started by resmoke.py and by the mongo shell will not have journaling
# enabled.
NO_JOURNAL = None
# If true, then all mongod's started by resmoke.py and by the mongo shell will not preallocate
# journal files.
NO_PREALLOC_JOURNAL = None
# If set, then each fixture runs tests with the specified number of clients.
NUM_CLIENTS_PER_FIXTURE = None
# If set, then the RNG is seeded with the specified value. Otherwise uses a seed based on the time
# this module was loaded.
RANDOM_SEED = None
# If set, then each suite is repeated the specified number of times.
REPEAT = None
# If set, then resmoke.py will write out a report file with the status of each test that ran.
REPORT_FILE = None
# If set, then mongo shells started by resmoke.py will use the specified read mode.
SHELL_READ_MODE = None
# If set, then mongo shells started by resmoke.py will use the specified write mode.
SHELL_WRITE_MODE = None
# If true, then the order the tests run in is randomized. Otherwise the tests will run in
# alphabetical (case-insensitive) order.
SHUFFLE = None
# If set, then all mongod's started by resmoke.py and by the mongo shell will use the specified
# storage engine.
STORAGE_ENGINE = None
# If set, then all mongod's started by resmoke.py and by the mongo shell will use the specified
# storage engine cache size.
STORAGE_ENGINE_CACHE_SIZE = None
# If set, then all mongod's started by resmoke.py and by the mongo shell will use the specified
# WiredTiger collection configuration settings.
WT_COLL_CONFIG = None
# If set, then all mongod's started by resmoke.py and by the mongo shell will use the specified
# WiredTiger storage engine configuration settings.
WT_ENGINE_CONFIG = None
# If set, then all mongod's started by resmoke.py and by the mongo shell will use the specified
# WiredTiger index configuration settings.
WT_INDEX_CONFIG = None
##
# Internally used configuration options that aren't exposed to the user
##
# Default sort order for test execution. Will only be changed if --suites wasn't specified.
ORDER_TESTS_BY_NAME = True
# Default file names for externally generated lists of tests created during the build.
DEFAULT_UNIT_TEST_LIST = "build/unittests.txt"
DEFAULT_INTEGRATION_TEST_LIST = "build/integration_tests.txt"
# External files or executables, used as suite selectors, that are created during the build and
# therefore might not be available when creating a test membership map.
EXTERNAL_SUITE_SELECTORS = [DEFAULT_UNIT_TEST_LIST,
DEFAULT_INTEGRATION_TEST_LIST,
DEFAULT_DBTEST_EXECUTABLE]
# This is used internally to store the executor name that is passed on the command line.
# Specifically it's used to record in the logs which executor a test is being run under.
INTERNAL_EXECUTOR_NAME = None