@@ -93,8 +93,8 @@ def _test():
9393]
9494
9595import __future__
96- import contextlib
9796import difflib
97+ import importlib .resources
9898import inspect
9999import linecache
100100import os
@@ -103,9 +103,8 @@ def _test():
103103import sys
104104import traceback
105105import unittest
106- import importlib .resources
107- from io import StringIO
108106from collections import namedtuple
107+ from io import StringIO
109108import _colorize # Used in doctests
110109from _colorize import ANSIColors , can_colorize
111110
@@ -238,17 +237,20 @@ def _normalize_module(module, depth=2):
238237 raise TypeError ("Expected a module, string, or None" )
239238
240239def _load_testfile (filename , package , module_relative , encoding ):
240+ text = None
241241 if module_relative :
242- package = _normalize_module (package , 3 )
243- with contextlib .suppress (Exception ):
244- text = importlib .resources .read_text (package , filename ,
245- encoding = encoding )
246- return text , filename
242+ package = _normalize_module (package , depth = 3 )
243+ try :
244+ file = importlib .resources .files (package ) / filename
245+ text = file .read_text (encoding = encoding )
246+ except AttributeError :
247+ filename = _module_relative_path (package , filename )
247248
248- filename = _module_relative_path (package , filename )
249+ if text is None :
250+ with open (filename , encoding = encoding ) as f :
251+ text = f .read ()
249252
250- with open (filename , encoding = encoding ) as f :
251- return f .read (), filename
253+ return text , filename
252254
253255def _indent (s , indent = 4 ):
254256 """
0 commit comments