Files
mongo/buildscripts/resmokelib/cli.py
2023-01-12 01:17:03 +00:00

35 lines
1.3 KiB
Python

"""Command-line entry-point into resmoke."""
from datetime import datetime
import time
import os
import psutil
from buildscripts.metrics.metrics_datatypes import ResmokeToolingMetrics
from buildscripts.metrics.tooling_exit_hook import initialize_exit_hook
from buildscripts.metrics.tooling_metrics_utils import register_metrics_collection_atexit
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"
)
register_metrics_collection_atexit(ResmokeToolingMetrics.generate_metrics, {
"utc_starttime": datetime.utcfromtimestamp(__start_time),
"exit_hook": initialize_exit_hook()
})
subcommand.execute()