import collections.abc
import contextlib
import errno
-import faulthandler
import fnmatch
import functools
-import gc
import glob
import importlib
import importlib.util
import os
import platform
import re
-import shutil
import stat
import struct
import subprocess
import sys
import sysconfig
-import tempfile
import _thread
import threading
import time
_rmdir = os.rmdir
def _rmtree(path):
+ import shutil
try:
shutil.rmtree(path)
return
created, only a warning is issued.
"""
+ import tempfile
dir_created = False
if path is None:
path = tempfile.mkdtemp()
longer than expected. This function tries its best to force all garbage
objects to disappear.
"""
+ import gc
gc.collect()
if is_jython:
time.sleep(0.1)
@contextlib.contextmanager
def disable_gc():
+ import gc
have_gc = gc.isenabled()
gc.disable()
try:
@contextlib.contextmanager
def start_threads(threads, unlock=None):
+ import faulthandler
threads = list(threads)
started = []
try:
_can_xattr = None
def can_xattr():
+ import tempfile
global _can_xattr
if _can_xattr is not None:
return _can_xattr
def fs_is_case_insensitive(directory):
"""Detects if the file system for the specified directory is case-insensitive."""
+ import tempfile
with tempfile.NamedTemporaryFile(dir=directory) as base:
base_path = base.name
case_path = base_path.upper()
@contextlib.contextmanager
def disable_faulthandler():
+ import faulthandler
+
# use sys.__stderr__ instead of sys.stderr, since regrtest replaces
# sys.stderr with a StringIO which has no file descriptor when a test
# is run with -W/--verbose3.