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