File tree Expand file tree Collapse file tree 3 files changed +27
-1
lines changed
Expand file tree Collapse file tree 3 files changed +27
-1
lines changed Original file line number Diff line number Diff line change @@ -2558,6 +2558,25 @@ def test_basic_unused(self):
25582558
25592559 self .assertFalse ("test.test_import.data.lazy_imports.basic2" in sys .modules )
25602560
2561+ def test_basic_unused_dir (self ):
2562+ try :
2563+ import test .test_import .data .lazy_imports .basic_unused
2564+ except ImportError as e :
2565+ self .fail ('lazy import failed' )
2566+
2567+ x = dir (test .test_import .data .lazy_imports .basic_unused )
2568+ self .assertIn ("test" , x )
2569+ self .assertFalse ("test.test_import.data.lazy_imports.basic2" in sys .modules )
2570+
2571+ def test_basic_dir (self ):
2572+ try :
2573+ from test .test_import .data .lazy_imports import basic_dir
2574+ except ImportError as e :
2575+ self .fail ('lazy import failed' )
2576+
2577+ self .assertIn ("test" , basic_dir .x )
2578+ self .assertFalse ("test.test_import.data.lazy_imports.basic2" in sys .modules )
2579+
25612580 def test_basic_used (self ):
25622581 try :
25632582 import test .test_import .data .lazy_imports .basic_used
Original file line number Diff line number Diff line change 1+ lazy import test .test_import .data .lazy_imports .basic2
2+ x = dir ()
Original file line number Diff line number Diff line change @@ -1259,7 +1259,12 @@ static PyObject *
12591259module_dir (PyObject * self , PyObject * args )
12601260{
12611261 PyObject * result = NULL ;
1262- PyObject * dict = PyObject_GetAttr (self , & _Py_ID (__dict__ ));
1262+ PyObject * dict ;
1263+ if (PyModule_CheckExact (self )) {
1264+ dict = Py_NewRef (((PyModuleObject * )self )-> md_dict );
1265+ } else {
1266+ dict = PyObject_GetAttr (self , & _Py_ID (__dict__ ));
1267+ }
12631268
12641269 if (dict != NULL ) {
12651270 if (PyDict_Check (dict )) {
You can’t perform that action at this time.
0 commit comments