[Ѵ͊VSSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJ r SSK r S/SQS/S/S/r S/SQS/S/S /r S/S QS S//S /r S/S QS S//S/rS/SQ//S/rS/SQ//S/rSSS/S//S/rSSS///S/rSS///S/rS/SQS//S/rS/SQS//S/rSSS///S /rSSS///S!/rS"S"S///S#S$R1S%5-/rS&rS'r"S(S)\R85r\S*:Xa\R>"5 gg)+N)supporta.module)arsysbcz b.somethingza/__init__.py a/module.py from b import something from c import something b/__init__.py from sys import * )rrrr __future__aa/__init__.py a/module.py from b import something from c import something b/__init__.py from __future__ import absolute_import from sys import * )ra.bza.crmymodulerblahblahamymodule.py a/__init__.py import blahblah from a import b import c a/module.py import sys from a import b as x from a.c import sillyname a/b.py a/c.py from a.module import x import mymodule as sillyname from sys import version_info ) rrrzb.xzb.yzb.zr rgczajmymodule.py a/__init__.py a/module.py from __future__ import absolute_import import sys # sys import blahblah # fails import gc # gc import b.x # b.x from b import y # b.y from b.z import * # b.z.* a/gc.py a/sys.py import mymodule a/b/__init__.py a/b/x.py a/b/y.py a/b/z.py b/__init__.py import z b/unused.py b/x.py b/y.py b/z.py ) r rrr a.b.ya.b.za.b.c a.b.c.moduleCa.b.c.da.b.c.ea.b.xr amymodule.py a/__init__.py from .b import y, z # a.b.y, a.b.z a/module.py from __future__ import absolute_import # __future__ import gc # gc a/gc.py a/sys.py a/b/__init__.py from ..b import x # a.b.x #from a.b.c import moduleC from .c import moduleC # a.b.moduleC a/b/x.py a/b/y.py a/b/z.py a/b/g.py a/b/c/__init__.py from ..c import e # a.b.c.e a/b/c/moduleC.py from ..c import d # a.b.c.d a/b/c/d.py a/b/c/e.py a/b/c/x.py ) rrza.sysr rrrrrrza.b.c.frz a.anotheramymodule.py a/__init__.py from . import sys # a.sys a/another.py a/module.py from .b import y, z # a.b.y, a.b.z a/gc.py a/sys.py a/b/__init__.py from .c import moduleC # a.b.c.moduleC from .c import d # a.b.c.d a/b/x.py a/b/y.py a/b/z.py a/b/c/__init__.py from . import e # a.b.c.e a/b/c/moduleC.py # from . import f # a.b.c.f from .. import x # a.b.x from ... import another # a.another a/b/c/d.py a/b/c/e.py a/b/c/f.py rza.barza/__init__.py def foo(): pass a/module.py from . import foo from . import bar zza/__init__.py def foo(): pass a/module.py from . import * )rrrzb.moduleza/__init__.py a/module.py import b.module b/__init__.py b/module.py ? # SyntaxError: invalid syntax )rrrzb.cza/__init__.py a/module.py import c from b import c b/__init__.py b/c.py a_utf8b_utf8ua_utf8.py # use the default of utf8 print('Unicode test A code point 2090 ₐ that is not valid in cp1252') import b_utf8 b_utf8.py # use the default of utf8 print('Unicode test B code point 2090 ₐ that is not valid in cp1252') uza_utf8.py # coding=utf8 print('Unicode test A code point 2090 ₐ that is not valid in cp1252') import b_utf8 b_utf8.py # use the default of utf8 print('Unicode test B code point 2090 ₐ that is not valid in cp1252') a_cp1252sa_cp1252.py # coding=cp1252 # 0xe2 is not allowed in utf8 print('CP1252 test Pt') import b_utf8 ub_utf8.py # use the default of utf8 print('Unicode test A code point 2090 ₐ that is not valid in cp1252') utf-8c[RRU5n[R"U5 [US5$![a)nUR [ R :waeSnAN:SnAff=f)Nwb)ospathdirnamemakedirsOSErrorerrnoEEXISTopen)rres =/opt/alt/python313/lib64/python3.13/test/test_modulefinder.py open_filer'"s^ggood#G G d   77ell "  #sA A6 A11A6clSnUR5Hn[U5[:waURS5nUR S5(dUR S5(a$UR UR 5S-5 MwU(aUR5 [U5[:XaURS5n[[RRXR 555nM U(aUR5 gg!U(aUR5 ff=f)Nr   ) splitlinestypebytesencode startswithwritestripclosedecoder'rrjoin)test_dirsourceofilines r&create_packager:,s C%%'DDzU"{{7+t$$(>(> $**,./IIK:&;;w/D Xzz| DE(  IIK 3 IIK s Cc[R"5UlUR[RR [R 5/UlgN)tempfilemkdtempr6rrr__file__ test_pathselfs r&setUpModuleFinderTest.setUp?s5 ((* --9J9J)KLcD[R"UR5 gr>)shutilrmtreer6rCs r&tearDownModuleFinderTest.tearDownCs dmm$rGFrcUupgpn [URU 5 U"URUUS9n U RU5 U(aU R 5 [ [ U55n[ U R5n URX5 U R5upURX5 URX5 g)N)rdebug replace_paths) r:r6rB import_hookreportsortedsetmodules assertEqualany_missing_maybe)rDinforQrNrOmodulefinder_class import_thisrTmissing maybe_missingr7mffoundbadmaybes r&_do_testModuleFinderTest._do_testFs?C< gft}}f- T^^56CE {#  IIKW&rzz" ())+  & .rGc.UR[5 gr>)r` package_testrCs r& test_packageModuleFinderTest.test_packageas l#rGc.UR[5 gr>)r` maybe_testrCs r& test_maybeModuleFinderTest.test_maybeds j!rGc.UR[5 gr>)r`maybe_test_newrCs r&test_maybe_newModuleFinderTest.test_maybe_newgs n%rGc.UR[5 gr>)r`absolute_import_testrCs r&test_absolute_imports&ModuleFinderTest.test_absolute_importsj *+rGc.UR[5 gr>)r`relative_import_testrCs r&test_relative_imports&ModuleFinderTest.test_relative_importsmrrrGc.UR[5 gr>)r`relative_import_test_2rCs r&test_relative_imports_2(ModuleFinderTest.test_relative_imports_2p ,-rGc.UR[5 gr>)r`relative_import_test_3rCs r&test_relative_imports_3(ModuleFinderTest.test_relative_imports_3sr{rGc.UR[5 gr>)r`relative_import_test_4rCs r&test_relative_imports_4(ModuleFinderTest.test_relative_imports_4vr{rGc.UR[5 gr>)r`syntax_error_testrCs r&test_syntax_error"ModuleFinderTest.test_syntax_errorys '(rGc.UR[5 gr>)r`same_name_as_bad_testrCs r&test_same_name_as_bad&ModuleFinderTest.test_same_name_as_bad|s +,rGc[RRURS5nU[R R S-nU[R RS-n[U5nURSRS55 SSS5 [R"X#S9 [R"U5 UR[5 g!,(df  NN=f)Nrrztesting_modulefinder = True r)cfile)rrr5r6 importlib machinerySOURCE_SUFFIXESBYTECODE_SUFFIXESr'r1r/ py_compilecompileremover` bytecode_test)rD base_path source_path bytecode_pathfiles r& test_bytecodeModuleFinderTest.test_bytecodesGGLL4 )"5"5"E"Ea"HH !I$7$7$I$I!$LL { #t JJ6==gF G$;< + m$ $ #s 6!C C-c[RRURSS5n[RRURSS5n[R "5nUR [SX4/S9 SSS5 WR5nSU<SU<3nURXC5 g!,(df  N:=f)Nrz module.pyzspam.py)rNrOz co_filename z changed to ) rrr5r6rcaptured_stdoutr`rggetvalueassertIn)rDold_pathnew_pathoutputexpecteds r&test_replace_paths#ModuleFinderTest.test_replace_pathss77<< sK@77<< sI>  $ $ && MM*A*2)=(>  @'"5=xH h' ' &s ,B88 Cc bSSS///S[[S55-/nURU5 g)NrrzVa.py %r import b b.py i)listranger`)rDextended_opargs_tests r&test_extended_opargs%ModuleFinderTest.test_extended_opargss@  #J    5<    *+rGc.UR[5 gr>)r`coding_default_utf8_testrCs r&test_coding_default_utf8)ModuleFinderTest.test_coding_default_utf8s ./rGc.UR[5 gr>)r`coding_explicit_utf8_testrCs r&test_coding_explicit_utf8*ModuleFinderTest.test_coding_explicit_utf8s /0rGc.UR[5 gr>)r`coding_explicit_cp1252_testrCs r&test_coding_explicit_cp1252,ModuleFinderTest.test_coding_explicit_cp1252s 12rGc^"SS[R5nUR[US9 g)Nc4^\rSrSrU4SjrU4SjrSrU=r$)AModuleFinderTest.test_load_module_api..CheckLoadModuleApiic&>[TU]"U0UD6 gr>)super__init__)rDargskwds __class__s r&rJModuleFinderTest.test_load_module_api..CheckLoadModuleApi.__init__s $/$/rGc.>UupVn[TU]XX45$r>)r load_module) rDfqnamefppathname file_infosuffixmoder-rs r&rMModuleFinderTest.test_load_module_api..CheckLoadModuleApi.load_modules%."dw*6xKKrG)__name__ __module__ __qualname____firstlineno__rr__static_attributes__ __classcell__)rs@r&CheckLoadModuleApirs 0 L LrGr)rX) modulefinder ModuleFinderr`ro)rDrs r&test_load_module_api%ModuleFinderTest.test_load_module_apis* L!:!: L *?Q RrG)r6rBN)rrrrrErKrrr`rdrhrlrpruryr~rrrrrrrrrrrrrGr&r<r<>szM%%*"YeYrYr/6$"&,,...)-%( ,013 SrGr<__main__) rr"importlib.machineryrrrIunittestr?testrrrgrkrcrortrxr}rrrrrrr/rr'r:TestCaser<rmainrrGr&rs  $ EM?  EM?  6r  , r B "J%P* I * E  L" !E2   x   x   F7O   $uSx((uSn z MMOrG