summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--buildscripts/resmokelib/__init__.py20
-rw-r--r--buildscripts/resmokelib/cli.py1
-rw-r--r--buildscripts/resmokelib/configure_resmoke.py12
-rw-r--r--buildscripts/resmokelib/core/__init__.py5
-rw-r--r--buildscripts/resmokelib/core/jasper_process.py6
-rw-r--r--buildscripts/resmokelib/core/network.py4
-rw-r--r--buildscripts/resmokelib/core/process.py10
-rw-r--r--buildscripts/resmokelib/core/programs.py9
-rw-r--r--buildscripts/resmokelib/hang_analyzer/__init__.py10
-rw-r--r--buildscripts/resmokelib/hang_analyzer/dumper.py6
-rw-r--r--buildscripts/resmokelib/hang_analyzer/extractor.py2
-rwxr-xr-xbuildscripts/resmokelib/hang_analyzer/hang_analyzer.py13
-rw-r--r--buildscripts/resmokelib/hang_analyzer/process.py6
-rw-r--r--buildscripts/resmokelib/hang_analyzer/process_list.py5
-rw-r--r--buildscripts/resmokelib/logging/__init__.py6
-rw-r--r--buildscripts/resmokelib/logging/buildlogger.py4
-rw-r--r--buildscripts/resmokelib/logging/flush.py2
-rw-r--r--buildscripts/resmokelib/logging/handlers.py5
-rw-r--r--buildscripts/resmokelib/logging/loggers.py8
-rw-r--r--buildscripts/resmokelib/parser.py12
-rw-r--r--buildscripts/resmokelib/reportfile.py4
-rw-r--r--buildscripts/resmokelib/run/__init__.py3
-rw-r--r--buildscripts/resmokelib/selector.py11
-rw-r--r--buildscripts/resmokelib/sighandler.py6
-rw-r--r--buildscripts/resmokelib/suitesconfig.py8
-rw-r--r--buildscripts/resmokelib/testing/__init__.py4
-rw-r--r--buildscripts/resmokelib/testing/executor.py26
-rw-r--r--buildscripts/resmokelib/testing/fixtures/__init__.py8
-rw-r--r--buildscripts/resmokelib/testing/fixtures/external.py2
-rw-r--r--buildscripts/resmokelib/testing/fixtures/interface.py12
-rw-r--r--buildscripts/resmokelib/testing/fixtures/replicaset.py17
-rw-r--r--buildscripts/resmokelib/testing/fixtures/shardedcluster.py20
-rw-r--r--buildscripts/resmokelib/testing/fixtures/standalone.py10
-rw-r--r--buildscripts/resmokelib/testing/fixtures/yesfixture.py6
-rw-r--r--buildscripts/resmokelib/testing/hook_test_archival.py8
-rw-r--r--buildscripts/resmokelib/testing/hooks/__init__.py4
-rw-r--r--buildscripts/resmokelib/testing/hooks/cleanup.py2
-rw-r--r--buildscripts/resmokelib/testing/hooks/cleanup_concurrency_workloads.py2
-rw-r--r--buildscripts/resmokelib/testing/hooks/dbhash.py2
-rw-r--r--buildscripts/resmokelib/testing/hooks/dbhash_background.py1
-rw-r--r--buildscripts/resmokelib/testing/hooks/drop_sharded_collections.py2
-rw-r--r--buildscripts/resmokelib/testing/hooks/fuzzer_restore_cluster_settings.py2
-rw-r--r--buildscripts/resmokelib/testing/hooks/initialsync.py12
-rw-r--r--buildscripts/resmokelib/testing/hooks/interface.py8
-rw-r--r--buildscripts/resmokelib/testing/hooks/jsfile.py8
-rw-r--r--buildscripts/resmokelib/testing/hooks/oplog.py2
-rw-r--r--buildscripts/resmokelib/testing/hooks/orphans.py4
-rw-r--r--buildscripts/resmokelib/testing/hooks/periodic_kill_secondaries.py14
-rw-r--r--buildscripts/resmokelib/testing/hooks/reconfig_background.py1
-rw-r--r--buildscripts/resmokelib/testing/hooks/stepdown.py4
-rw-r--r--buildscripts/resmokelib/testing/hooks/validate.py2
-rw-r--r--buildscripts/resmokelib/testing/hooks/validate_background.py1
-rw-r--r--buildscripts/resmokelib/testing/job.py13
-rw-r--r--buildscripts/resmokelib/testing/report.py4
-rw-r--r--buildscripts/resmokelib/testing/suite.py8
-rw-r--r--buildscripts/resmokelib/testing/testcases/__init__.py4
-rw-r--r--buildscripts/resmokelib/testing/testcases/cpp_integration_test.py6
-rw-r--r--buildscripts/resmokelib/testing/testcases/cpp_libfuzzer_test.py12
-rw-r--r--buildscripts/resmokelib/testing/testcases/cpp_unittest.py6
-rw-r--r--buildscripts/resmokelib/testing/testcases/dbtest.py8
-rw-r--r--buildscripts/resmokelib/testing/testcases/fixture.py4
-rw-r--r--buildscripts/resmokelib/testing/testcases/gennylib_test.py6
-rw-r--r--buildscripts/resmokelib/testing/testcases/gennytest.py8
-rw-r--r--buildscripts/resmokelib/testing/testcases/interface.py4
-rw-r--r--buildscripts/resmokelib/testing/testcases/json_schema_test.py3
-rw-r--r--buildscripts/resmokelib/testing/testcases/jstest.py12
-rw-r--r--buildscripts/resmokelib/testing/testcases/mongos_test.py8
-rw-r--r--buildscripts/resmokelib/testing/testcases/mql_model_haskell_test.py10
-rw-r--r--buildscripts/resmokelib/testing/testcases/mql_model_mongod_test.py3
-rw-r--r--buildscripts/resmokelib/testing/testcases/multi_stmt_txn_test.py3
-rw-r--r--buildscripts/resmokelib/testing/testcases/sdam_json_test.py13
-rw-r--r--buildscripts/resmokelib/testing/testcases/server_selection_json_test.py13
-rw-r--r--buildscripts/resmokelib/testing/testcases/sleeptest.py2
-rw-r--r--buildscripts/resmokelib/testing/testcases/tla_plus_test.py4
-rw-r--r--buildscripts/resmokelib/undodb/__init__.py1
-rw-r--r--buildscripts/resmokelib/utils/__init__.py2
-rw-r--r--buildscripts/resmokelib/utils/archival.py7
-rw-r--r--buildscripts/tests/resmokelib/end2end/test_resmoke.py5
-rw-r--r--buildscripts/tests/resmokelib/hang_analyzer/test_process_list.py1
-rw-r--r--buildscripts/tests/resmokelib/test_parser.py2
-rw-r--r--buildscripts/tests/resmokelib/test_selector.py4
-rw-r--r--buildscripts/tests/resmokelib/test_suitesconfig.py3
-rw-r--r--buildscripts/tests/resmokelib/testing/testcases/test_pytest.py2
83 files changed, 257 insertions, 286 deletions
diff --git a/buildscripts/resmokelib/__init__.py b/buildscripts/resmokelib/__init__.py
index 36ee11a85da..d96348ee2e8 100644
--- a/buildscripts/resmokelib/__init__.py
+++ b/buildscripts/resmokelib/__init__.py
@@ -1,12 +1,12 @@
"""Empty."""
-from . import config
-from . import errors
-from . import logging
-from . import parser
-from . import reportfile
-from . import sighandler
-from . import suitesconfig
-from . import testing
-from . import utils
-from . import multiversionconstants
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import logging
+from buildscripts.resmokelib import multiversionconstants
+from buildscripts.resmokelib import parser
+from buildscripts.resmokelib import reportfile
+from buildscripts.resmokelib import sighandler
+from buildscripts.resmokelib import suitesconfig
+from buildscripts.resmokelib import testing
+from buildscripts.resmokelib import utils
diff --git a/buildscripts/resmokelib/cli.py b/buildscripts/resmokelib/cli.py
index dbb3a46c0fc..72bb1a09843 100644
--- a/buildscripts/resmokelib/cli.py
+++ b/buildscripts/resmokelib/cli.py
@@ -1,6 +1,7 @@
"""Command-line entry-point into resmoke."""
import time
+
from buildscripts.resmokelib import parser
diff --git a/buildscripts/resmokelib/configure_resmoke.py b/buildscripts/resmokelib/configure_resmoke.py
index cd10ea2339f..36abd492f7a 100644
--- a/buildscripts/resmokelib/configure_resmoke.py
+++ b/buildscripts/resmokelib/configure_resmoke.py
@@ -1,18 +1,14 @@
"""Configure the command line input for the resmoke 'run' subcommand."""
+import configparser
+import datetime
import os
import os.path
-import sys
-import shlex
-import configparser
-from typing import NamedTuple
-
-import datetime
import pymongo.uri_parser
-from . import config as _config
-from . import utils
+from buildscripts.resmokelib import config as _config
+from buildscripts.resmokelib import utils
def validate_and_update_config(parser, args):
diff --git a/buildscripts/resmokelib/core/__init__.py b/buildscripts/resmokelib/core/__init__.py
index 5f780a34e06..c2dff881a8f 100644
--- a/buildscripts/resmokelib/core/__init__.py
+++ b/buildscripts/resmokelib/core/__init__.py
@@ -1,5 +1,4 @@
"""Resmokelib core module."""
-from . import process
-from . import programs
-from . import network
+from buildscripts.resmokelib.core import network
+from buildscripts.resmokelib.core import programs
diff --git a/buildscripts/resmokelib/core/jasper_process.py b/buildscripts/resmokelib/core/jasper_process.py
index 714924a5ac4..79409f4b983 100644
--- a/buildscripts/resmokelib/core/jasper_process.py
+++ b/buildscripts/resmokelib/core/jasper_process.py
@@ -3,16 +3,14 @@
Serves as an alternative to process.py.
"""
-import sys
-
try:
import grpc
except ImportError:
pass
-from buildscripts.resmokelib.testing.fixtures import interface as fixture_interface
from buildscripts.resmokelib import errors
-from . import process as _process
+from buildscripts.resmokelib.core import process as _process
+from buildscripts.resmokelib.testing.fixtures import interface as fixture_interface
class Process(_process.Process):
diff --git a/buildscripts/resmokelib/core/network.py b/buildscripts/resmokelib/core/network.py
index e76e73bbb08..34c54f70ab9 100644
--- a/buildscripts/resmokelib/core/network.py
+++ b/buildscripts/resmokelib/core/network.py
@@ -4,8 +4,8 @@ import collections
import functools
import threading
-from .. import config
-from .. import errors
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import errors
def _check_port(func):
diff --git a/buildscripts/resmokelib/core/process.py b/buildscripts/resmokelib/core/process.py
index acbfc083743..9493ef8d1d4 100644
--- a/buildscripts/resmokelib/core/process.py
+++ b/buildscripts/resmokelib/core/process.py
@@ -8,15 +8,15 @@ import atexit
import logging
import os
import os.path
+import subprocess
import sys
import threading
-import subprocess
-from buildscripts.resmokelib.testing.fixtures import interface as fixture_interface
+from buildscripts.resmokelib import config as _config
from buildscripts.resmokelib import errors
-import buildscripts.resmokelib.config as _config
-from . import pipe # pylint: disable=wrong-import-position
-from .. import utils # pylint: disable=wrong-import-position
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.core import pipe
+from buildscripts.resmokelib.testing.fixtures import interface as fixture_interface
# Attempt to avoid race conditions (e.g. hangs caused by a file descriptor being left open) when
# starting subprocesses concurrently from multiple threads by guarding calls to subprocess.Popen()
diff --git a/buildscripts/resmokelib/core/programs.py b/buildscripts/resmokelib/core/programs.py
index fcf683da6fe..a9931c2e5ad 100644
--- a/buildscripts/resmokelib/core/programs.py
+++ b/buildscripts/resmokelib/core/programs.py
@@ -7,14 +7,13 @@ import json
import os
import os.path
import stat
-import sys
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.core import jasper_process
+from buildscripts.resmokelib.core import process
from buildscripts.resmokelib.multiversionconstants import LAST_STABLE_MONGOD_BINARY
from buildscripts.resmokelib.multiversionconstants import LAST_STABLE_MONGOS_BINARY
-from . import jasper_process
-from . import process
-from .. import config
-from .. import utils
# The below parameters define the default 'logComponentVerbosity' object passed to mongod processes
# started either directly via resmoke or those that will get started by the mongo shell. We allow
diff --git a/buildscripts/resmokelib/hang_analyzer/__init__.py b/buildscripts/resmokelib/hang_analyzer/__init__.py
index 16148192b40..abbd468fa07 100644
--- a/buildscripts/resmokelib/hang_analyzer/__init__.py
+++ b/buildscripts/resmokelib/hang_analyzer/__init__.py
@@ -1,7 +1,7 @@
"""Utilities for the hang analyzer subcommand."""
-from . import process_list
-from . import dumper
-from . import process
-from . import extractor
-from .hang_analyzer import HangAnalyzerPlugin
+from buildscripts.resmokelib.hang_analyzer import dumper
+from buildscripts.resmokelib.hang_analyzer import extractor
+from buildscripts.resmokelib.hang_analyzer import process
+from buildscripts.resmokelib.hang_analyzer import process_list
+from buildscripts.resmokelib.hang_analyzer.hang_analyzer import HangAnalyzerPlugin
diff --git a/buildscripts/resmokelib/hang_analyzer/dumper.py b/buildscripts/resmokelib/hang_analyzer/dumper.py
index 72fec7a7f43..59908fa0b2e 100644
--- a/buildscripts/resmokelib/hang_analyzer/dumper.py
+++ b/buildscripts/resmokelib/hang_analyzer/dumper.py
@@ -1,13 +1,13 @@
"""Tools to dump debug info for each OS."""
-from abc import ABCMeta, abstractmethod
+import itertools
import logging
import os
import sys
import tempfile
-import itertools
-from distutils import spawn # pylint: disable=no-name-in-module
+from abc import ABCMeta, abstractmethod
from collections import namedtuple
+from distutils import spawn # pylint: disable=no-name-in-module
from buildscripts.resmokelib.hang_analyzer.process import call, callo, find_program
from buildscripts.resmokelib.hang_analyzer.process_list import Pinfo
diff --git a/buildscripts/resmokelib/hang_analyzer/extractor.py b/buildscripts/resmokelib/hang_analyzer/extractor.py
index 7ea38d5ad3a..e30cfdcefb7 100644
--- a/buildscripts/resmokelib/hang_analyzer/extractor.py
+++ b/buildscripts/resmokelib/hang_analyzer/extractor.py
@@ -1,8 +1,8 @@
"""Extracts `mongo-debugsymbols.tgz`."""
+import glob
import os
import sys
-import glob
def extract_debug_symbols(root_logger):
diff --git a/buildscripts/resmokelib/hang_analyzer/hang_analyzer.py b/buildscripts/resmokelib/hang_analyzer/hang_analyzer.py
index ebc5848a478..f662a12a679 100755
--- a/buildscripts/resmokelib/hang_analyzer/hang_analyzer.py
+++ b/buildscripts/resmokelib/hang_analyzer/hang_analyzer.py
@@ -9,21 +9,20 @@ A prototype hang analyzer for Evergreen integration to help investigate test tim
Supports Linux, MacOS X, and Windows.
"""
-import re
-import os
-import sys
import glob
-import signal
import logging
+import os
import platform
+import re
+import signal
+import sys
import traceback
-from buildscripts.resmokelib.plugin import PluginInterface, Subcommand
-
-from buildscripts.resmokelib.hang_analyzer import extractor
from buildscripts.resmokelib.hang_analyzer import dumper
+from buildscripts.resmokelib.hang_analyzer import extractor
from buildscripts.resmokelib.hang_analyzer import process_list
from buildscripts.resmokelib.hang_analyzer.process import signal_process, signal_python
+from buildscripts.resmokelib.plugin import PluginInterface, Subcommand
class HangAnalyzer(Subcommand):
diff --git a/buildscripts/resmokelib/hang_analyzer/process.py b/buildscripts/resmokelib/hang_analyzer/process.py
index bc5ccb3d55f..8ddd2da523c 100644
--- a/buildscripts/resmokelib/hang_analyzer/process.py
+++ b/buildscripts/resmokelib/hang_analyzer/process.py
@@ -1,11 +1,11 @@
"""Miscellaneous utility functions used by the hang analyzer."""
+import logging
import os
-import sys
-import time
import signal
-import logging
import subprocess
+import sys
+import time
from distutils import spawn # pylint: disable=no-name-in-module
from buildscripts.resmokelib import core
diff --git a/buildscripts/resmokelib/hang_analyzer/process_list.py b/buildscripts/resmokelib/hang_analyzer/process_list.py
index 2fe14f84d68..40d20e17bf9 100644
--- a/buildscripts/resmokelib/hang_analyzer/process_list.py
+++ b/buildscripts/resmokelib/hang_analyzer/process_list.py
@@ -1,9 +1,10 @@
"""Functions to list processes in each OS and search for interesting processes."""
-import os
+import csv
import io
+import os
import sys
-import csv
+
from typing import List, NamedTuple, Union
from buildscripts.resmokelib.hang_analyzer.process import call, callo, find_program
diff --git a/buildscripts/resmokelib/logging/__init__.py b/buildscripts/resmokelib/logging/__init__.py
index 2d527b91434..b0da109e502 100644
--- a/buildscripts/resmokelib/logging/__init__.py
+++ b/buildscripts/resmokelib/logging/__init__.py
@@ -4,6 +4,6 @@
# constructing a new Logger instance should use the loggers.new_logger() function instead.
from logging import Logger
-from . import buildlogger
-from . import flush
-from . import loggers
+from buildscripts.resmokelib.logging import buildlogger
+from buildscripts.resmokelib.logging import flush
+from buildscripts.resmokelib.logging import loggers
diff --git a/buildscripts/resmokelib/logging/buildlogger.py b/buildscripts/resmokelib/logging/buildlogger.py
index d55cbf4e249..81141f3fbe6 100644
--- a/buildscripts/resmokelib/logging/buildlogger.py
+++ b/buildscripts/resmokelib/logging/buildlogger.py
@@ -7,8 +7,8 @@ import threading
import requests
-from . import handlers
-from .. import config as _config
+from buildscripts.resmokelib import config as _config
+from buildscripts.resmokelib.logging import handlers
CREATE_BUILD_ENDPOINT = "/build"
APPEND_GLOBAL_LOGS_ENDPOINT = "/build/%(build_id)s"
diff --git a/buildscripts/resmokelib/logging/flush.py b/buildscripts/resmokelib/logging/flush.py
index 4d6caa9c2e4..0b68f07e7d8 100644
--- a/buildscripts/resmokelib/logging/flush.py
+++ b/buildscripts/resmokelib/logging/flush.py
@@ -7,7 +7,7 @@ import logging
import threading
import time
-from ..utils import scheduler
+from buildscripts.resmokelib.utils import scheduler
_FLUSH_THREAD_LOCK = threading.Lock()
_FLUSH_THREAD = None
diff --git a/buildscripts/resmokelib/logging/handlers.py b/buildscripts/resmokelib/logging/handlers.py
index cd8e79437ab..457cda49ede 100644
--- a/buildscripts/resmokelib/logging/handlers.py
+++ b/buildscripts/resmokelib/logging/handlers.py
@@ -2,7 +2,6 @@
import json
import logging
-import sys
import threading
import warnings
@@ -18,8 +17,8 @@ except ImportError:
import urllib3.util.retry as urllib3_retry
-from . import flush
-from .. import utils
+from buildscripts.resmokelib.logging import flush
+from buildscripts.resmokelib import utils
_TIMEOUT_SECS = 65
diff --git a/buildscripts/resmokelib/logging/loggers.py b/buildscripts/resmokelib/logging/loggers.py
index f410fcd6495..ebddbc114d2 100644
--- a/buildscripts/resmokelib/logging/loggers.py
+++ b/buildscripts/resmokelib/logging/loggers.py
@@ -3,10 +3,10 @@
import logging
import sys
-from . import buildlogger
-from . import formatters
-from .. import errors
-from .. import config
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib.logging import buildlogger
+from buildscripts.resmokelib.logging import formatters
_DEFAULT_FORMAT = "[%(name)s] %(message)s"
diff --git a/buildscripts/resmokelib/parser.py b/buildscripts/resmokelib/parser.py
index 4b6392fc241..62b06f3497d 100644
--- a/buildscripts/resmokelib/parser.py
+++ b/buildscripts/resmokelib/parser.py
@@ -1,14 +1,12 @@
"""Parser for command line arguments."""
-import shlex
-
import argparse
+import shlex
-from . import configure_resmoke
-
-from .run import RunPlugin
-from .hang_analyzer import HangAnalyzerPlugin
-from .undodb import UndoDbPlugin
+from buildscripts.resmokelib import configure_resmoke
+from buildscripts.resmokelib.hang_analyzer import HangAnalyzerPlugin
+from buildscripts.resmokelib.run import RunPlugin
+from buildscripts.resmokelib.undodb import UndoDbPlugin
_PLUGINS = [
RunPlugin(),
diff --git a/buildscripts/resmokelib/reportfile.py b/buildscripts/resmokelib/reportfile.py
index d4346b349f1..eaa6bedc229 100644
--- a/buildscripts/resmokelib/reportfile.py
+++ b/buildscripts/resmokelib/reportfile.py
@@ -2,8 +2,8 @@
import json
-from . import config
-from .testing import report as _report
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib.testing import report as _report
def write(suites):
diff --git a/buildscripts/resmokelib/run/__init__.py b/buildscripts/resmokelib/run/__init__.py
index e26e15efc5f..62405acb14b 100644
--- a/buildscripts/resmokelib/run/__init__.py
+++ b/buildscripts/resmokelib/run/__init__.py
@@ -21,8 +21,7 @@ try:
except ImportError:
pass
-# pylint: disable=wrong-import-position
-import buildscripts.resmokelib.parser as main_parser
+from buildscripts.resmokelib import parser as main_parser
from buildscripts.resmokelib import config
from buildscripts.resmokelib import configure_resmoke
from buildscripts.resmokelib import errors
diff --git a/buildscripts/resmokelib/selector.py b/buildscripts/resmokelib/selector.py
index 98f9b0f1474..5908e310688 100644
--- a/buildscripts/resmokelib/selector.py
+++ b/buildscripts/resmokelib/selector.py
@@ -7,18 +7,17 @@ on whether they apply to C++ unit tests, dbtests, or JS tests.
import collections
import errno
import fnmatch
-import math
import os.path
import random
import subprocess
import sys
import buildscripts.ciconfig.tags as _tags
-from . import config
-from . import errors
-from . import utils
-from .utils import globstar
-from .utils import jscomment
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.utils import globstar
+from buildscripts.resmokelib.utils import jscomment
########################
# Test file explorer #
diff --git a/buildscripts/resmokelib/sighandler.py b/buildscripts/resmokelib/sighandler.py
index 5591e325a11..875b9f4c625 100644
--- a/buildscripts/resmokelib/sighandler.py
+++ b/buildscripts/resmokelib/sighandler.py
@@ -8,14 +8,14 @@ import threading
import time
import traceback
+from buildscripts.resmokelib import reportfile
+from buildscripts.resmokelib import testing
+
_IS_WINDOWS = (sys.platform == "win32")
if _IS_WINDOWS:
import win32api
import win32event
-from . import reportfile # pylint: disable=wrong-import-position
-from . import testing # pylint: disable=wrong-import-position
-
def register(logger, suites, start_time):
"""Register an event object to wait for signal, or a signal handler for SIGUSR1."""
diff --git a/buildscripts/resmokelib/suitesconfig.py b/buildscripts/resmokelib/suitesconfig.py
index ecfef265917..1e5c5e52adf 100644
--- a/buildscripts/resmokelib/suitesconfig.py
+++ b/buildscripts/resmokelib/suitesconfig.py
@@ -4,10 +4,10 @@ import collections
import optparse
import os
-from . import config as _config
-from . import errors
-from . import utils
-from .testing import suite as _suite
+from buildscripts.resmokelib import config as _config
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing import suite as _suite
def get_named_suites():
diff --git a/buildscripts/resmokelib/testing/__init__.py b/buildscripts/resmokelib/testing/__init__.py
index 2a276f6bf85..7cae4bc0a51 100644
--- a/buildscripts/resmokelib/testing/__init__.py
+++ b/buildscripts/resmokelib/testing/__init__.py
@@ -1,4 +1,4 @@
"""Extension to the unittest package to support buildlogger and parallel test execution."""
-from . import executor
-from . import suite
+from buildscripts.resmokelib.testing import executor
+from buildscripts.resmokelib.testing import suite
diff --git a/buildscripts/resmokelib/testing/executor.py b/buildscripts/resmokelib/testing/executor.py
index 37de3464703..4fd76ea7093 100644
--- a/buildscripts/resmokelib/testing/executor.py
+++ b/buildscripts/resmokelib/testing/executor.py
@@ -3,19 +3,19 @@
import threading
import time
-from . import fixtures
-from . import hook_test_archival as archival
-from . import hooks as _hooks
-from . import job as _job
-from .queue_element import queue_elem_factory
-from . import report as _report
-from . import testcases
-from .. import config as _config
-from .. import errors
-from .. import utils
-from .. import logging
-from ..core import network
-from ..utils.queue import Queue
+from buildscripts.resmokelib import config as _config
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import logging
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.core import network
+from buildscripts.resmokelib.testing import fixtures
+from buildscripts.resmokelib.testing import hook_test_archival as archival
+from buildscripts.resmokelib.testing import hooks as _hooks
+from buildscripts.resmokelib.testing import job as _job
+from buildscripts.resmokelib.testing import report as _report
+from buildscripts.resmokelib.testing import testcases
+from buildscripts.resmokelib.testing.queue_element import queue_elem_factory
+from buildscripts.resmokelib.utils.queue import Queue
class TestSuiteExecutor(object): # pylint: disable=too-many-instance-attributes
diff --git a/buildscripts/resmokelib/testing/fixtures/__init__.py b/buildscripts/resmokelib/testing/fixtures/__init__.py
index e70ad8259ee..ea85dadbc7c 100644
--- a/buildscripts/resmokelib/testing/fixtures/__init__.py
+++ b/buildscripts/resmokelib/testing/fixtures/__init__.py
@@ -1,9 +1,9 @@
"""Fixture for executing JSTests against."""
-from .external import ExternalFixture as _ExternalFixture
-from .interface import NoOpFixture as _NoOpFixture
-from .interface import make_fixture
-from ...utils import autoloader as _autoloader
+from buildscripts.resmokelib.testing.fixtures.external import ExternalFixture as _ExternalFixture
+from buildscripts.resmokelib.testing.fixtures.interface import NoOpFixture as _NoOpFixture
+from buildscripts.resmokelib.testing.fixtures.interface import make_fixture
+from buildscripts.resmokelib.utils import autoloader as _autoloader
EXTERNAL_FIXTURE_CLASS = _ExternalFixture.REGISTERED_NAME
NOOP_FIXTURE_CLASS = _NoOpFixture.REGISTERED_NAME
diff --git a/buildscripts/resmokelib/testing/fixtures/external.py b/buildscripts/resmokelib/testing/fixtures/external.py
index f5c1a59ca30..e32414124d4 100644
--- a/buildscripts/resmokelib/testing/fixtures/external.py
+++ b/buildscripts/resmokelib/testing/fixtures/external.py
@@ -1,6 +1,6 @@
"""External fixture for executing JSTests against."""
-from . import interface
+from buildscripts.resmokelib.testing.fixtures import interface
class ExternalFixture(interface.Fixture):
diff --git a/buildscripts/resmokelib/testing/fixtures/interface.py b/buildscripts/resmokelib/testing/fixtures/interface.py
index fd98171a0de..3bff66d76c3 100644
--- a/buildscripts/resmokelib/testing/fixtures/interface.py
+++ b/buildscripts/resmokelib/testing/fixtures/interface.py
@@ -7,12 +7,12 @@ from enum import Enum
import pymongo
import pymongo.errors
-from ... import config
-from ... import errors
-from ... import logging
-from ... import multiversionconstants as multiversion
-from ... import utils
-from ...utils import registry
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import logging
+from buildscripts.resmokelib import multiversionconstants as multiversion
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.utils import registry
_FIXTURES = {} # type: ignore
diff --git a/buildscripts/resmokelib/testing/fixtures/replicaset.py b/buildscripts/resmokelib/testing/fixtures/replicaset.py
index 98fa1f7f599..0c599800c2d 100644
--- a/buildscripts/resmokelib/testing/fixtures/replicaset.py
+++ b/buildscripts/resmokelib/testing/fixtures/replicaset.py
@@ -3,19 +3,18 @@
import os.path
import time
-import bson.errors
import pymongo
import pymongo.errors
import pymongo.write_concern
-from . import interface
-from . import replicaset_utils
-from . import standalone
-from ... import config
-from ... import logging
-from ... import errors
-from ... import utils
-from ...multiversionconstants import LAST_STABLE_MONGOD_BINARY
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import logging
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.multiversionconstants import LAST_STABLE_MONGOD_BINARY
+from buildscripts.resmokelib.testing.fixtures import interface
+from buildscripts.resmokelib.testing.fixtures import replicaset_utils
+from buildscripts.resmokelib.testing.fixtures import standalone
class ReplicaSetFixture(interface.ReplFixture): # pylint: disable=too-many-instance-attributes
diff --git a/buildscripts/resmokelib/testing/fixtures/shardedcluster.py b/buildscripts/resmokelib/testing/fixtures/shardedcluster.py
index e40a14103a9..36e5a6f2b39 100644
--- a/buildscripts/resmokelib/testing/fixtures/shardedcluster.py
+++ b/buildscripts/resmokelib/testing/fixtures/shardedcluster.py
@@ -6,16 +6,16 @@ import time
import pymongo
import pymongo.errors
-from . import interface
-from . import standalone
-from . import replicaset
-from ... import config
-from ... import core
-from ... import logging
-from ... import errors
-from ... import utils
-from ...utils import registry
-from ...multiversionconstants import LAST_STABLE_MONGOS_BINARY
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import logging
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.multiversionconstants import LAST_STABLE_MONGOS_BINARY
+from buildscripts.resmokelib.testing.fixtures import interface
+from buildscripts.resmokelib.testing.fixtures import replicaset
+from buildscripts.resmokelib.testing.fixtures import standalone
+from buildscripts.resmokelib.utils import registry
class ShardedClusterFixture(interface.Fixture): # pylint: disable=too-many-instance-attributes
diff --git a/buildscripts/resmokelib/testing/fixtures/standalone.py b/buildscripts/resmokelib/testing/fixtures/standalone.py
index a647a33e39a..b820a60241d 100644
--- a/buildscripts/resmokelib/testing/fixtures/standalone.py
+++ b/buildscripts/resmokelib/testing/fixtures/standalone.py
@@ -7,11 +7,11 @@ import time
import pymongo
import pymongo.errors
-from . import interface
-from ... import config
-from ... import core
-from ... import errors
-from ... import utils
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.fixtures import interface
class MongoDFixture(interface.Fixture):
diff --git a/buildscripts/resmokelib/testing/fixtures/yesfixture.py b/buildscripts/resmokelib/testing/fixtures/yesfixture.py
index ff1d776a22b..860e054a6c2 100644
--- a/buildscripts/resmokelib/testing/fixtures/yesfixture.py
+++ b/buildscripts/resmokelib/testing/fixtures/yesfixture.py
@@ -2,9 +2,9 @@
import signal
-from . import interface
-from ...core import programs
-from ... import logging
+from buildscripts.resmokelib import logging
+from buildscripts.resmokelib.core import programs
+from buildscripts.resmokelib.testing.fixtures import interface
class YesFixture(interface.Fixture): # pylint: disable=abstract-method
diff --git a/buildscripts/resmokelib/testing/hook_test_archival.py b/buildscripts/resmokelib/testing/hook_test_archival.py
index 4a643f541b3..58237e916b3 100644
--- a/buildscripts/resmokelib/testing/hook_test_archival.py
+++ b/buildscripts/resmokelib/testing/hook_test_archival.py
@@ -3,10 +3,10 @@
import os
import threading
-from .. import config
-from .. import utils
-from .. import errors
-from ..utils import globstar
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.utils import globstar
class HookTestArchival(object):
diff --git a/buildscripts/resmokelib/testing/hooks/__init__.py b/buildscripts/resmokelib/testing/hooks/__init__.py
index e24cf9eae77..7f2b29855f6 100644
--- a/buildscripts/resmokelib/testing/hooks/__init__.py
+++ b/buildscripts/resmokelib/testing/hooks/__init__.py
@@ -5,8 +5,8 @@ by allowing special code to be executed before or after each test, and
before or after each suite.
"""
-from .interface import make_hook
-from ...utils import autoloader as _autoloader
+from buildscripts.resmokelib.testing.hooks.interface import make_hook
+from buildscripts.resmokelib.utils import autoloader as _autoloader
# We dynamically load all modules in the hooks/ package so that any Hook classes declared
# within them are automatically registered.
diff --git a/buildscripts/resmokelib/testing/hooks/cleanup.py b/buildscripts/resmokelib/testing/hooks/cleanup.py
index 1402ba4de39..88dc01203b5 100644
--- a/buildscripts/resmokelib/testing/hooks/cleanup.py
+++ b/buildscripts/resmokelib/testing/hooks/cleanup.py
@@ -2,7 +2,7 @@
import os
-from . import interface
+from buildscripts.resmokelib.testing.hooks import interface
class CleanEveryN(interface.Hook):
diff --git a/buildscripts/resmokelib/testing/hooks/cleanup_concurrency_workloads.py b/buildscripts/resmokelib/testing/hooks/cleanup_concurrency_workloads.py
index ef5dc4ff5fb..0d7ddb6a2b6 100644
--- a/buildscripts/resmokelib/testing/hooks/cleanup_concurrency_workloads.py
+++ b/buildscripts/resmokelib/testing/hooks/cleanup_concurrency_workloads.py
@@ -3,8 +3,8 @@
import copy
from buildscripts.resmokelib import utils
-from buildscripts.resmokelib.testing.hooks import interface
from buildscripts.resmokelib.testing.fixtures import shardedcluster
+from buildscripts.resmokelib.testing.hooks import interface
class CleanupConcurrencyWorkloads(interface.Hook):
diff --git a/buildscripts/resmokelib/testing/hooks/dbhash.py b/buildscripts/resmokelib/testing/hooks/dbhash.py
index 557c32bb29d..84e2de2c8f9 100644
--- a/buildscripts/resmokelib/testing/hooks/dbhash.py
+++ b/buildscripts/resmokelib/testing/hooks/dbhash.py
@@ -2,7 +2,7 @@
import os.path
-from . import jsfile
+from buildscripts.resmokelib.testing.hooks import jsfile
class CheckReplDBHash(jsfile.DataConsistencyHook):
diff --git a/buildscripts/resmokelib/testing/hooks/dbhash_background.py b/buildscripts/resmokelib/testing/hooks/dbhash_background.py
index c9534a87bed..91de9a5d25c 100644
--- a/buildscripts/resmokelib/testing/hooks/dbhash_background.py
+++ b/buildscripts/resmokelib/testing/hooks/dbhash_background.py
@@ -8,7 +8,6 @@ import os.path
from buildscripts.resmokelib import errors
from buildscripts.resmokelib.testing.hooks import jsfile
-from buildscripts.resmokelib.testing.testcases import interface as testcase
from buildscripts.resmokelib.testing.hooks.background_job import _BackgroundJob, _ContinuousDynamicJSTestCase
diff --git a/buildscripts/resmokelib/testing/hooks/drop_sharded_collections.py b/buildscripts/resmokelib/testing/hooks/drop_sharded_collections.py
index 9a5f15715b1..73dbe869f5e 100644
--- a/buildscripts/resmokelib/testing/hooks/drop_sharded_collections.py
+++ b/buildscripts/resmokelib/testing/hooks/drop_sharded_collections.py
@@ -2,7 +2,7 @@
import os.path
-from . import jsfile
+from buildscripts.resmokelib.testing.hooks import jsfile
class DropShardedCollections(jsfile.JSHook):
diff --git a/buildscripts/resmokelib/testing/hooks/fuzzer_restore_cluster_settings.py b/buildscripts/resmokelib/testing/hooks/fuzzer_restore_cluster_settings.py
index 4325f22e3fa..f1432a437df 100644
--- a/buildscripts/resmokelib/testing/hooks/fuzzer_restore_cluster_settings.py
+++ b/buildscripts/resmokelib/testing/hooks/fuzzer_restore_cluster_settings.py
@@ -6,7 +6,7 @@ encounter unexpected failures.
import os.path
-from . import jsfile
+from buildscripts.resmokelib.testing.hooks import jsfile
class FuzzerRestoreClusterSettings(jsfile.JSHook):
diff --git a/buildscripts/resmokelib/testing/hooks/initialsync.py b/buildscripts/resmokelib/testing/hooks/initialsync.py
index 126b39a3ada..003d988bb84 100644
--- a/buildscripts/resmokelib/testing/hooks/initialsync.py
+++ b/buildscripts/resmokelib/testing/hooks/initialsync.py
@@ -7,12 +7,12 @@ import bson
import bson.errors
import pymongo.errors
-from . import cleanup
-from . import interface
-from . import jsfile
-from ..fixtures import interface as fixture_interface
-from ..fixtures import replicaset
-from ... import errors
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib.testing.fixtures import interface as fixture_interface
+from buildscripts.resmokelib.testing.fixtures import replicaset
+from buildscripts.resmokelib.testing.hooks import cleanup
+from buildscripts.resmokelib.testing.hooks import interface
+from buildscripts.resmokelib.testing.hooks import jsfile
class BackgroundInitialSync(interface.Hook):
diff --git a/buildscripts/resmokelib/testing/hooks/interface.py b/buildscripts/resmokelib/testing/hooks/interface.py
index 88e4f03ce63..a635f44f707 100644
--- a/buildscripts/resmokelib/testing/hooks/interface.py
+++ b/buildscripts/resmokelib/testing/hooks/interface.py
@@ -2,10 +2,10 @@
import sys
-from ..testcases import interface as testcase
-from ... import errors
-from ...logging import loggers
-from ...utils import registry
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib.logging import loggers
+from buildscripts.resmokelib.testing.testcases import interface as testcase
+from buildscripts.resmokelib.utils import registry
_HOOKS = {} # type: ignore
diff --git a/buildscripts/resmokelib/testing/hooks/jsfile.py b/buildscripts/resmokelib/testing/hooks/jsfile.py
index 4bdda9e5fa8..411fff157b5 100644
--- a/buildscripts/resmokelib/testing/hooks/jsfile.py
+++ b/buildscripts/resmokelib/testing/hooks/jsfile.py
@@ -1,9 +1,9 @@
"""Interface for customizing the behavior of a test fixture by executing a JavaScript file."""
-from . import interface
-from ..testcases import jstest
-from ... import errors
-from ...utils import registry
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib.testing.hooks import interface
+from buildscripts.resmokelib.testing.testcases import jstest
+from buildscripts.resmokelib.utils import registry
class JSHook(interface.Hook):
diff --git a/buildscripts/resmokelib/testing/hooks/oplog.py b/buildscripts/resmokelib/testing/hooks/oplog.py
index 6822eecabf0..525c36d97f6 100644
--- a/buildscripts/resmokelib/testing/hooks/oplog.py
+++ b/buildscripts/resmokelib/testing/hooks/oplog.py
@@ -2,7 +2,7 @@
import os.path
-from . import jsfile
+from buildscripts.resmokelib.testing.hooks import jsfile
class CheckReplOplogs(jsfile.DataConsistencyHook): # pylint: disable=non-parent-init-called,super-init-not-called
diff --git a/buildscripts/resmokelib/testing/hooks/orphans.py b/buildscripts/resmokelib/testing/hooks/orphans.py
index 873c1e59239..770faf0eb5f 100644
--- a/buildscripts/resmokelib/testing/hooks/orphans.py
+++ b/buildscripts/resmokelib/testing/hooks/orphans.py
@@ -2,8 +2,8 @@
import os.path
-from . import jsfile
-from ..fixtures import shardedcluster
+from buildscripts.resmokelib.testing.fixtures import shardedcluster
+from buildscripts.resmokelib.testing.hooks import jsfile
class CheckOrphansDeleted(jsfile.DataConsistencyHook):
diff --git a/buildscripts/resmokelib/testing/hooks/periodic_kill_secondaries.py b/buildscripts/resmokelib/testing/hooks/periodic_kill_secondaries.py
index 9cd227eb524..5e516156e44 100644
--- a/buildscripts/resmokelib/testing/hooks/periodic_kill_secondaries.py
+++ b/buildscripts/resmokelib/testing/hooks/periodic_kill_secondaries.py
@@ -6,13 +6,13 @@ import bson
import pymongo
import pymongo.errors
-from . import dbhash
-from . import interface
-from . import oplog
-from . import validate
-from ..fixtures import interface as fixture
-from ..fixtures import replicaset
-from ... import errors
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib.testing.fixtures import interface as fixture
+from buildscripts.resmokelib.testing.fixtures import replicaset
+from buildscripts.resmokelib.testing.hooks import dbhash
+from buildscripts.resmokelib.testing.hooks import interface
+from buildscripts.resmokelib.testing.hooks import oplog
+from buildscripts.resmokelib.testing.hooks import validate
class PeriodicKillSecondaries(interface.Hook):
diff --git a/buildscripts/resmokelib/testing/hooks/reconfig_background.py b/buildscripts/resmokelib/testing/hooks/reconfig_background.py
index 7e14d0d346e..80d560b9c7b 100644
--- a/buildscripts/resmokelib/testing/hooks/reconfig_background.py
+++ b/buildscripts/resmokelib/testing/hooks/reconfig_background.py
@@ -7,7 +7,6 @@ import os.path
from buildscripts.resmokelib import errors
from buildscripts.resmokelib.testing.hooks import jsfile
-from buildscripts.resmokelib.testing.testcases import interface as testcase
from buildscripts.resmokelib.testing.hooks.background_job import _BackgroundJob, _ContinuousDynamicJSTestCase
diff --git a/buildscripts/resmokelib/testing/hooks/stepdown.py b/buildscripts/resmokelib/testing/hooks/stepdown.py
index 5758bfb3ed6..d8f9b3cc692 100644
--- a/buildscripts/resmokelib/testing/hooks/stepdown.py
+++ b/buildscripts/resmokelib/testing/hooks/stepdown.py
@@ -11,10 +11,10 @@ import pymongo.errors
from buildscripts.resmokelib import errors
from buildscripts.resmokelib import utils
-from buildscripts.resmokelib.testing.hooks import interface
+from buildscripts.resmokelib.testing.fixtures import interface as fixture_interface
from buildscripts.resmokelib.testing.fixtures import replicaset
from buildscripts.resmokelib.testing.fixtures import shardedcluster
-from buildscripts.resmokelib.testing.fixtures import interface as fixture_interface
+from buildscripts.resmokelib.testing.hooks import interface
class ContinuousStepdown(interface.Hook): # pylint: disable=too-many-instance-attributes
diff --git a/buildscripts/resmokelib/testing/hooks/validate.py b/buildscripts/resmokelib/testing/hooks/validate.py
index 81bd42ba6d9..40b9970cc1d 100644
--- a/buildscripts/resmokelib/testing/hooks/validate.py
+++ b/buildscripts/resmokelib/testing/hooks/validate.py
@@ -2,7 +2,7 @@
import os.path
-from . import jsfile
+from buildscripts.resmokelib.testing.hooks import jsfile
class ValidateCollections(jsfile.DataConsistencyHook):
diff --git a/buildscripts/resmokelib/testing/hooks/validate_background.py b/buildscripts/resmokelib/testing/hooks/validate_background.py
index a91b4b2adf0..cdb2fa8e103 100644
--- a/buildscripts/resmokelib/testing/hooks/validate_background.py
+++ b/buildscripts/resmokelib/testing/hooks/validate_background.py
@@ -9,7 +9,6 @@ import os.path
from buildscripts.resmokelib import errors
from buildscripts.resmokelib.testing.hooks import jsfile
-from buildscripts.resmokelib.testing.testcases import interface as testcase
from buildscripts.resmokelib.testing.hooks.background_job import _BackgroundJob, _ContinuousDynamicJSTestCase
diff --git a/buildscripts/resmokelib/testing/job.py b/buildscripts/resmokelib/testing/job.py
index 8ed225e84c5..0ff2fef7184 100644
--- a/buildscripts/resmokelib/testing/job.py
+++ b/buildscripts/resmokelib/testing/job.py
@@ -4,13 +4,12 @@ import sys
import time
from collections import namedtuple
-from . import queue_element
-from . import testcases
-from .. import config
-from .. import errors
-from ..testing.hooks import stepdown
-from ..testing.testcases import fixture as _fixture
-from ..utils import queue as _queue
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib.testing import testcases
+from buildscripts.resmokelib.testing.hooks import stepdown
+from buildscripts.resmokelib.testing.testcases import fixture as _fixture
+from buildscripts.resmokelib.utils import queue as _queue
class Job(object): # pylint: disable=too-many-instance-attributes
diff --git a/buildscripts/resmokelib/testing/report.py b/buildscripts/resmokelib/testing/report.py
index db32d0f9fe9..a8d51473938 100644
--- a/buildscripts/resmokelib/testing/report.py
+++ b/buildscripts/resmokelib/testing/report.py
@@ -8,8 +8,8 @@ import threading
import time
import unittest
-from .. import config as _config
-from .. import logging
+from buildscripts.resmokelib import config as _config
+from buildscripts.resmokelib import logging
# pylint: disable=attribute-defined-outside-init
diff --git a/buildscripts/resmokelib/testing/suite.py b/buildscripts/resmokelib/testing/suite.py
index 8d75c62579a..e02dcde1ae3 100644
--- a/buildscripts/resmokelib/testing/suite.py
+++ b/buildscripts/resmokelib/testing/suite.py
@@ -4,10 +4,10 @@ import itertools
import threading
import time
-from . import report as _report
-from . import summary as _summary
-from .. import config as _config
-from .. import selector as _selector
+from buildscripts.resmokelib import config as _config
+from buildscripts.resmokelib import selector as _selector
+from buildscripts.resmokelib.testing import report as _report
+from buildscripts.resmokelib.testing import summary as _summary
# Map of error codes that could be seen. This is collected from:
# * dbshell.cpp
diff --git a/buildscripts/resmokelib/testing/testcases/__init__.py b/buildscripts/resmokelib/testing/testcases/__init__.py
index d828d97a0b3..917ffca4348 100644
--- a/buildscripts/resmokelib/testing/testcases/__init__.py
+++ b/buildscripts/resmokelib/testing/testcases/__init__.py
@@ -1,7 +1,7 @@
"""Package containing subclasses of unittest.TestCase."""
-from .interface import make_test_case
-from ...utils import autoloader as _autoloader
+from buildscripts.resmokelib.testing.testcases.interface import make_test_case
+from buildscripts.resmokelib.utils import autoloader as _autoloader
# We dynamically load all modules in the testcases/ package so that any TestCase classes declared
# within them are automatically registered.
diff --git a/buildscripts/resmokelib/testing/testcases/cpp_integration_test.py b/buildscripts/resmokelib/testing/testcases/cpp_integration_test.py
index c0313046a20..0b6573bb889 100644
--- a/buildscripts/resmokelib/testing/testcases/cpp_integration_test.py
+++ b/buildscripts/resmokelib/testing/testcases/cpp_integration_test.py
@@ -1,8 +1,8 @@
"""The unittest.TestCase for C++ integration tests."""
-from . import interface
-from ... import core
-from ... import utils
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.testcases import interface
class CPPIntegrationTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/cpp_libfuzzer_test.py b/buildscripts/resmokelib/testing/testcases/cpp_libfuzzer_test.py
index 02fd9ea1ff5..112273062f8 100644
--- a/buildscripts/resmokelib/testing/testcases/cpp_libfuzzer_test.py
+++ b/buildscripts/resmokelib/testing/testcases/cpp_libfuzzer_test.py
@@ -1,13 +1,13 @@
"""The libfuzzertest.TestCase for C++ libfuzzer tests."""
-import subprocess
-import os
import datetime
+import os
+import subprocess
-import buildscripts.resmokelib.testing.fixtures.interface as fixture_interface
-from . import interface
-from ... import core
-from ... import utils
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.fixtures import interface as fixture_interface
+from buildscripts.resmokelib.testing.testcases import interface
class CPPLibfuzzerTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/cpp_unittest.py b/buildscripts/resmokelib/testing/testcases/cpp_unittest.py
index c54b45a7792..dea8ee0ad0e 100644
--- a/buildscripts/resmokelib/testing/testcases/cpp_unittest.py
+++ b/buildscripts/resmokelib/testing/testcases/cpp_unittest.py
@@ -1,8 +1,8 @@
"""The unittest.TestCase for C++ unit tests."""
-from . import interface
-from ... import core
-from ... import utils
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.testcases import interface
class CPPUnitTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/dbtest.py b/buildscripts/resmokelib/testing/testcases/dbtest.py
index 44ea8410c58..1bb29adb3f7 100644
--- a/buildscripts/resmokelib/testing/testcases/dbtest.py
+++ b/buildscripts/resmokelib/testing/testcases/dbtest.py
@@ -3,10 +3,10 @@
import os
import os.path
-from . import interface
-from ... import config
-from ... import core
-from ... import utils
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.testcases import interface
class DBTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/fixture.py b/buildscripts/resmokelib/testing/testcases/fixture.py
index 7f9a54815f7..99a39d25748 100644
--- a/buildscripts/resmokelib/testing/testcases/fixture.py
+++ b/buildscripts/resmokelib/testing/testcases/fixture.py
@@ -1,10 +1,10 @@
"""The unittest.TestCase instances for setting up and tearing down fixtures."""
from buildscripts.resmokelib import errors
-from buildscripts.resmokelib.testing.testcases import interface
-from buildscripts.resmokelib.utils import registry
from buildscripts.resmokelib.testing.fixtures import interface as fixture_interface
from buildscripts.resmokelib.testing.fixtures.external import ExternalFixture
+from buildscripts.resmokelib.testing.testcases import interface
+from buildscripts.resmokelib.utils import registry
class FixtureTestCase(interface.TestCase): # pylint: disable=abstract-method
diff --git a/buildscripts/resmokelib/testing/testcases/gennylib_test.py b/buildscripts/resmokelib/testing/testcases/gennylib_test.py
index 96eb08c6cb5..de40a2a52f2 100644
--- a/buildscripts/resmokelib/testing/testcases/gennylib_test.py
+++ b/buildscripts/resmokelib/testing/testcases/gennylib_test.py
@@ -1,8 +1,8 @@
"""The unittest.TestCase for gennylib integration tests."""
-from . import interface
-from ... import core
-from ... import utils
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.testcases import interface
class GennyLibTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/gennytest.py b/buildscripts/resmokelib/testing/testcases/gennytest.py
index 11e51014803..add7c5fc2c5 100644
--- a/buildscripts/resmokelib/testing/testcases/gennytest.py
+++ b/buildscripts/resmokelib/testing/testcases/gennytest.py
@@ -3,10 +3,10 @@
import os
import os.path
-from . import interface
-from ... import config
-from ... import core
-from ... import utils
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.testcases import interface
class GennyTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/interface.py b/buildscripts/resmokelib/testing/testcases/interface.py
index e1c1e2faa0c..a91889e6ccc 100644
--- a/buildscripts/resmokelib/testing/testcases/interface.py
+++ b/buildscripts/resmokelib/testing/testcases/interface.py
@@ -8,8 +8,8 @@ import os.path
import unittest
import uuid
-from ... import logging
-from ...utils import registry
+from buildscripts.resmokelib import logging
+from buildscripts.resmokelib.utils import registry
_TEST_CASES = {} # type: ignore
diff --git a/buildscripts/resmokelib/testing/testcases/json_schema_test.py b/buildscripts/resmokelib/testing/testcases/json_schema_test.py
index 67000fed576..426250e339f 100644
--- a/buildscripts/resmokelib/testing/testcases/json_schema_test.py
+++ b/buildscripts/resmokelib/testing/testcases/json_schema_test.py
@@ -1,8 +1,5 @@
"""The unittest.TestCase for JSON Schema tests."""
-from buildscripts.resmokelib import config
-from buildscripts.resmokelib import core
-from buildscripts.resmokelib import utils
from buildscripts.resmokelib.testing.testcases import jsrunnerfile
diff --git a/buildscripts/resmokelib/testing/testcases/jstest.py b/buildscripts/resmokelib/testing/testcases/jstest.py
index e1b9d1d21cb..78b15bedb66 100644
--- a/buildscripts/resmokelib/testing/testcases/jstest.py
+++ b/buildscripts/resmokelib/testing/testcases/jstest.py
@@ -6,12 +6,12 @@ import os.path
import sys
import threading
-from . import interface
-from ... import config
-from ... import core
-from ... import logging
-from ... import utils
-from ...utils import registry
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import logging
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.testcases import interface
+from buildscripts.resmokelib.utils import registry
class _SingleJSTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/mongos_test.py b/buildscripts/resmokelib/testing/testcases/mongos_test.py
index f00a93a9bdb..cfe6da23445 100644
--- a/buildscripts/resmokelib/testing/testcases/mongos_test.py
+++ b/buildscripts/resmokelib/testing/testcases/mongos_test.py
@@ -1,9 +1,9 @@
"""The unittest.TestCase for mongos --test."""
-from . import interface
-from ... import config
-from ... import core
-from ... import utils
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.testcases import interface
class MongosTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/mql_model_haskell_test.py b/buildscripts/resmokelib/testing/testcases/mql_model_haskell_test.py
index fff521ddae5..3993e5ca9e5 100644
--- a/buildscripts/resmokelib/testing/testcases/mql_model_haskell_test.py
+++ b/buildscripts/resmokelib/testing/testcases/mql_model_haskell_test.py
@@ -3,11 +3,11 @@
import os
import os.path
-from . import interface
-from ... import core
-from ... import errors
-from ... import utils
-from ...utils import globstar
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.testcases import interface
+from buildscripts.resmokelib.utils import globstar
class MqlModelHaskellTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/mql_model_mongod_test.py b/buildscripts/resmokelib/testing/testcases/mql_model_mongod_test.py
index da976e781d9..2c6332dd344 100644
--- a/buildscripts/resmokelib/testing/testcases/mql_model_mongod_test.py
+++ b/buildscripts/resmokelib/testing/testcases/mql_model_mongod_test.py
@@ -3,9 +3,6 @@
import os
import os.path
-from buildscripts.resmokelib import config
-from buildscripts.resmokelib import core
-from buildscripts.resmokelib import utils
from buildscripts.resmokelib.testing.testcases import jsrunnerfile
diff --git a/buildscripts/resmokelib/testing/testcases/multi_stmt_txn_test.py b/buildscripts/resmokelib/testing/testcases/multi_stmt_txn_test.py
index d496e27c889..9850438eb0a 100644
--- a/buildscripts/resmokelib/testing/testcases/multi_stmt_txn_test.py
+++ b/buildscripts/resmokelib/testing/testcases/multi_stmt_txn_test.py
@@ -1,8 +1,5 @@
"""unittest.TestCase for multi-statement transaction passthrough tests."""
-from buildscripts.resmokelib import config
-from buildscripts.resmokelib import core
-from buildscripts.resmokelib import utils
from buildscripts.resmokelib.testing.testcases import jsrunnerfile
diff --git a/buildscripts/resmokelib/testing/testcases/sdam_json_test.py b/buildscripts/resmokelib/testing/testcases/sdam_json_test.py
index d998423803f..b11bf068433 100644
--- a/buildscripts/resmokelib/testing/testcases/sdam_json_test.py
+++ b/buildscripts/resmokelib/testing/testcases/sdam_json_test.py
@@ -1,12 +1,13 @@
"""The unittest.TestCase for Server Discovery and Monitoring JSON tests."""
import os
import os.path
-from . import interface
-from ... import core
-from ... import config
-from ... import utils
-from ...utils import globstar
-from ... import errors
+
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.testcases import interface
+from buildscripts.resmokelib.utils import globstar
class SDAMJsonTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/server_selection_json_test.py b/buildscripts/resmokelib/testing/testcases/server_selection_json_test.py
index 9a739ae5740..8e0bbb30aab 100644
--- a/buildscripts/resmokelib/testing/testcases/server_selection_json_test.py
+++ b/buildscripts/resmokelib/testing/testcases/server_selection_json_test.py
@@ -1,12 +1,13 @@
"""The unittest.TestCase for Server Selection JSON tests."""
import os
import os.path
-from . import interface
-from ... import core
-from ... import config
-from ... import utils
-from ...utils import globstar
-from ... import errors
+
+from buildscripts.resmokelib import config
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib import errors
+from buildscripts.resmokelib import utils
+from buildscripts.resmokelib.testing.testcases import interface
+from buildscripts.resmokelib.utils import globstar
class ServerSelectionJsonTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/sleeptest.py b/buildscripts/resmokelib/testing/testcases/sleeptest.py
index 4f073ee6f25..e62fa9698ed 100644
--- a/buildscripts/resmokelib/testing/testcases/sleeptest.py
+++ b/buildscripts/resmokelib/testing/testcases/sleeptest.py
@@ -2,7 +2,7 @@
import time
-from . import interface
+from buildscripts.resmokelib.testing.testcases import interface
class SleepTestCase(interface.TestCase):
diff --git a/buildscripts/resmokelib/testing/testcases/tla_plus_test.py b/buildscripts/resmokelib/testing/testcases/tla_plus_test.py
index 504d428fbf2..1d3fd4b6c84 100644
--- a/buildscripts/resmokelib/testing/testcases/tla_plus_test.py
+++ b/buildscripts/resmokelib/testing/testcases/tla_plus_test.py
@@ -2,8 +2,8 @@
import os
-from . import interface
-from ... import core
+from buildscripts.resmokelib import core
+from buildscripts.resmokelib.testing.testcases import interface
class TLAPlusTestCase(interface.ProcessTestCase):
diff --git a/buildscripts/resmokelib/undodb/__init__.py b/buildscripts/resmokelib/undodb/__init__.py
index 10949b65efa..8ab078779ea 100644
--- a/buildscripts/resmokelib/undodb/__init__.py
+++ b/buildscripts/resmokelib/undodb/__init__.py
@@ -1,5 +1,4 @@
"""Interactions with the undodb tool-suite."""
-from typing import Optional
from buildscripts.resmokelib.plugin import PluginInterface, Subcommand
diff --git a/buildscripts/resmokelib/utils/__init__.py b/buildscripts/resmokelib/utils/__init__.py
index 04099310bec..33fc07b3ec9 100644
--- a/buildscripts/resmokelib/utils/__init__.py
+++ b/buildscripts/resmokelib/utils/__init__.py
@@ -7,7 +7,7 @@ import sys
import yaml
-from . import archival
+from buildscripts.resmokelib.utils import archival
@contextlib.contextmanager
diff --git a/buildscripts/resmokelib/utils/archival.py b/buildscripts/resmokelib/utils/archival.py
index 56f46739a28..5a3eb286651 100644
--- a/buildscripts/resmokelib/utils/archival.py
+++ b/buildscripts/resmokelib/utils/archival.py
@@ -2,16 +2,17 @@
import collections
import json
-import math
import os
+import queue
import sys
import tarfile
import tempfile
import threading
import time
-import queue
-from .. import config
+import math
+
+from buildscripts.resmokelib import config
_IS_WINDOWS = sys.platform == "win32" or sys.platform == "cygwin"
diff --git a/buildscripts/tests/resmokelib/end2end/test_resmoke.py b/buildscripts/tests/resmokelib/end2end/test_resmoke.py
index 60701b7eb8b..a47529e914d 100644
--- a/buildscripts/tests/resmokelib/end2end/test_resmoke.py
+++ b/buildscripts/tests/resmokelib/end2end/test_resmoke.py
@@ -3,15 +3,12 @@
import logging
import os
import os.path
-import subprocess
import sys
import time
import unittest
-import psutil
-
-from buildscripts.resmokelib.utils import rmtree
from buildscripts.resmokelib import core
+from buildscripts.resmokelib.utils import rmtree
# pylint: disable=missing-docstring,protected-access
diff --git a/buildscripts/tests/resmokelib/hang_analyzer/test_process_list.py b/buildscripts/tests/resmokelib/hang_analyzer/test_process_list.py
index 28c65e7cb5a..d38dd51e026 100644
--- a/buildscripts/tests/resmokelib/hang_analyzer/test_process_list.py
+++ b/buildscripts/tests/resmokelib/hang_analyzer/test_process_list.py
@@ -1,6 +1,5 @@
"""Unit tests for the buildscripts.resmokelib.hang_analyzer.process_list module."""
-import logging
import unittest
from mock import Mock, patch
diff --git a/buildscripts/tests/resmokelib/test_parser.py b/buildscripts/tests/resmokelib/test_parser.py
index ca0850e606b..b9fc74f088b 100644
--- a/buildscripts/tests/resmokelib/test_parser.py
+++ b/buildscripts/tests/resmokelib/test_parser.py
@@ -2,8 +2,8 @@
import unittest
-from buildscripts.resmokelib.run import to_local_args
from buildscripts.resmokelib.parser import parse, parse_command_line
+from buildscripts.resmokelib.run import to_local_args
# pylint: disable=missing-docstring
diff --git a/buildscripts/tests/resmokelib/test_selector.py b/buildscripts/tests/resmokelib/test_selector.py
index cf1a42b973f..05d0df2146d 100644
--- a/buildscripts/tests/resmokelib/test_selector.py
+++ b/buildscripts/tests/resmokelib/test_selector.py
@@ -1,14 +1,14 @@
"""Unit tests for the buildscripts.resmokelib.selector module."""
-import sys
import fnmatch
import os.path
+import sys
import unittest
+import buildscripts.resmokelib.config
import buildscripts.resmokelib.parser as parser
import buildscripts.resmokelib.selector as selector
import buildscripts.resmokelib.utils.globstar as globstar
-import buildscripts.resmokelib.config
# pylint: disable=missing-docstring,protected-access
diff --git a/buildscripts/tests/resmokelib/test_suitesconfig.py b/buildscripts/tests/resmokelib/test_suitesconfig.py
index e7ce3f2d776..31f65e40612 100644
--- a/buildscripts/tests/resmokelib/test_suitesconfig.py
+++ b/buildscripts/tests/resmokelib/test_suitesconfig.py
@@ -4,8 +4,9 @@ import unittest
import mock
-from buildscripts.resmokelib import suitesconfig
from buildscripts.resmokelib import parser
+from buildscripts.resmokelib import suitesconfig
+
parser.set_run_options()
# pylint: disable=missing-docstring
diff --git a/buildscripts/tests/resmokelib/testing/testcases/test_pytest.py b/buildscripts/tests/resmokelib/testing/testcases/test_pytest.py
index 9b5d00b18cc..6d349564abb 100644
--- a/buildscripts/tests/resmokelib/testing/testcases/test_pytest.py
+++ b/buildscripts/tests/resmokelib/testing/testcases/test_pytest.py
@@ -3,8 +3,6 @@ import logging
import sys
import unittest
-from mock import MagicMock, patch
-
from buildscripts.resmokelib.testing.testcases import pytest
_IS_WINDOWS = sys.platform == "win32"