@@ -21,12 +21,12 @@ def stub_module(name):
21
21
def extension_module (name ):
22
22
return name in submodules and name in function_stubs .__all__
23
23
24
- extension_module_names = {}
24
+ extension_module_names = []
25
25
for n in function_stubs .__all__ :
26
26
if extension_module (n ):
27
- extension_module_names .update ({ i : n for i in getattr (function_stubs , n ).__all__ } )
27
+ extension_module_names .extend ([ f' { n } . { i } ' for i in getattr (function_stubs , n ).__all__ ] )
28
28
29
- all_names = function_stubs .__all__ + list ( extension_module_names )
29
+ all_names = function_stubs .__all__ + extension_module_names
30
30
31
31
def array_method (name ):
32
32
return stub_module (name ) == 'array_object'
@@ -134,8 +134,8 @@ def example_argument(arg, func_name, dtype):
134
134
def test_has_names (name ):
135
135
if extension_module (name ):
136
136
assert hasattr (mod , name ), f'{ mod_name } is missing the { name } extension'
137
- elif name in extension_module_names :
138
- extension_mod = extension_module_names [ name ]
137
+ elif '.' in name :
138
+ extension_mod , name = name . split ( '.' )
139
139
assert hasattr (getattr (mod , extension_mod ), name ), f"{ mod_name } is missing the { function_category (name )} extension function { name } ()"
140
140
elif array_method (name ):
141
141
arr = ones ((1 , 1 ))
@@ -178,9 +178,10 @@ def test_function_positional_args(name):
178
178
else :
179
179
_mod = example_argument ('self' , name , dtype )
180
180
stub_func = getattr (function_stubs , name )
181
- elif name in extension_module_names :
182
- _mod = getattr (mod , extension_module_names [name ])
183
- stub_func = getattr (getattr (function_stubs , extension_module_names [name ]), name )
181
+ elif '.' in name :
182
+ extension_module_name , name = name .split ('.' )
183
+ _mod = getattr (mod , extension_module_name )
184
+ stub_func = getattr (getattr (function_stubs , extension_module_name ), name )
184
185
else :
185
186
_mod = mod
186
187
stub_func = getattr (function_stubs , name )
@@ -230,9 +231,10 @@ def test_function_keyword_only_args(name):
230
231
if array_method (name ):
231
232
_mod = ones ((1 , 1 ))
232
233
stub_func = getattr (function_stubs , name )
233
- elif name in extension_module_names :
234
- _mod = getattr (mod , extension_module_names [name ])
235
- stub_func = getattr (getattr (function_stubs , extension_module_names [name ]), name )
234
+ elif '.' in name :
235
+ extension_module_name , name = name .split ('.' )
236
+ _mod = getattr (mod , extension_module_name )
237
+ stub_func = getattr (getattr (function_stubs , extension_module_name ), name )
236
238
else :
237
239
_mod = mod
238
240
stub_func = getattr (function_stubs , name )
0 commit comments