42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
"""Command-line entry-point into resmoke."""
|
|
|
|
from datetime import datetime
|
|
import time
|
|
import os
|
|
import psutil
|
|
from mongo_tooling_metrics.client import get_mongo_metrics_client
|
|
from mongo_tooling_metrics.errors import ExternalHostException
|
|
from mongo_tooling_metrics.lib.top_level_metrics import ResmokeToolingMetrics
|
|
from buildscripts.resmokelib import parser
|
|
|
|
|
|
def main(argv):
|
|
"""
|
|
Execute Main function for resmoke.
|
|
|
|
:param argv: sys.argv
|
|
:return: None
|
|
"""
|
|
__start_time = time.time()
|
|
os.environ['RESMOKE_PARENT_PROCESS'] = str(os.getpid())
|
|
os.environ['RESMOKE_PARENT_CTIME'] = str(psutil.Process().create_time())
|
|
subcommand = parser.parse_command_line(
|
|
argv[1:], start_time=__start_time,
|
|
usage="Resmoke is MongoDB's correctness testing orchestrator.\n"
|
|
"For more information, see the help message for each subcommand.\n"
|
|
"For example: resmoke.py run -h\n"
|
|
"Note: bisect and setup-multiversion subcommands have been moved to db-contrib-tool (https://github.com/10gen/db-contrib-tool#readme).\n"
|
|
)
|
|
try:
|
|
metrics_client = get_mongo_metrics_client()
|
|
metrics_client.register_metrics(ResmokeToolingMetrics,
|
|
utc_starttime=datetime.utcfromtimestamp(__start_time))
|
|
except ExternalHostException as _:
|
|
pass
|
|
except Exception as _: # pylint: disable=broad-except
|
|
print(
|
|
"This MongoDB Virtual Workstation could not connect to the internal cluster\nThis is a non-issue, but if this message persists feel free to reach out in #server-dev-platform"
|
|
)
|
|
|
|
subcommand.execute()
|