From bdfe9b633a171522bc6cdb7c8aa1215cbd119b59 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 11 Jun 2020 17:30:57 +0200 Subject: bpo-40275: test.supports imports lazily fnmatch, glob, struct (GH-20810) --- Lib/test/support/__init__.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Lib/test/support/__init__.py b/Lib/test/support/__init__.py index 3778eed..1ac6553 100644 --- a/Lib/test/support/__init__.py +++ b/Lib/test/support/__init__.py @@ -5,13 +5,10 @@ if __name__ != 'test.support': import contextlib import errno -import fnmatch import functools -import glob import os import re import stat -import struct import sys import sysconfig import time @@ -846,9 +843,11 @@ if hasattr(sys, "getobjects"): _vheader = _header + 'n' def calcobjsize(fmt): + import struct return struct.calcsize(_header + fmt + _align) def calcvobjsize(fmt): + import struct return struct.calcsize(_vheader + fmt + _align) @@ -1255,6 +1254,7 @@ def _compile_match_function(patterns): # The test.bisect_cmd utility only uses such full test identifiers. func = set(patterns).__contains__ else: + import fnmatch regex = '|'.join(map(fnmatch.translate, patterns)) # The search *is* case sensitive on purpose: # don't use flags=re.IGNORECASE @@ -1534,6 +1534,7 @@ class PythonSymlink: if sys.platform == "win32": def _platform_specific(self): + import glob import _winapi if os.path.lexists(self.real) and not os.path.exists(self.real): -- cgit v0.12