summaryrefslogtreecommitdiff
path: root/buildscripts/resmoke.py
diff options
context:
space:
mode:
authorIan Boros <ian.boros@10gen.com>2017-09-29 17:39:33 -0400
committerIan Boros <ian.boros@10gen.com>2017-10-06 13:13:31 -0400
commit65d4cdd857305929e7341bf30c2fb72dc2641130 (patch)
tree8b9ffdc50b7480275a7ff8f3298543a37c29f048 /buildscripts/resmoke.py
parentdc09f8a83b9f13429b5938e975a9cc03b021583c (diff)
downloadmongo-65d4cdd857305929e7341bf30c2fb72dc2641130.tar.gz
SERVER-29607 resmoke prints available suites when an invalid one is specified
Diffstat (limited to 'buildscripts/resmoke.py')
-rwxr-xr-xbuildscripts/resmoke.py15
1 files changed, 11 insertions, 4 deletions
diff --git a/buildscripts/resmoke.py b/buildscripts/resmoke.py
index ef4152baed9..6e361a1ce7b 100755
--- a/buildscripts/resmoke.py
+++ b/buildscripts/resmoke.py
@@ -115,6 +115,11 @@ def find_suites_by_test(suites):
return memberships
+def _list_suites_and_exit(logger, exit_code=0):
+ suite_names = resmokelib.parser.get_named_suites()
+ logger.info("Suites available to execute:\n%s", "\n".join(suite_names))
+ sys.exit(exit_code)
+
def main():
start_time = time.time()
@@ -130,16 +135,18 @@ def main():
resmoke_logger = exec_logger.new_resmoke_logger()
if values.list_suites:
- suite_names = resmokelib.parser.get_named_suites()
- resmoke_logger.info("Suites available to execute:\n%s", "\n".join(suite_names))
- sys.exit(0)
+ _list_suites_and_exit(resmoke_logger)
# Log the command line arguments specified to resmoke.py to make it easier to re-run the
# resmoke.py invocation used by an Evergreen task.
resmoke_logger.info("resmoke.py invocation: %s", " ".join(sys.argv))
interrupted = False
- suites = resmokelib.parser.get_suites(values, args)
+ try:
+ suites = resmokelib.parser.get_suites(values, args)
+ except resmokelib.errors.SuiteNotFound as err:
+ resmoke_logger.error("Failed to parse YAML suite definition: %s", str(err))
+ _list_suites_and_exit(resmoke_logger, exit_code=1)
# Register a signal handler or Windows event object so we can write the report file if the task
# times out.