Undocumented
| Function | test | 
    Undocumented | 
| Function | test | 
    Undocumented | 
| Function | test | 
    The value assigned to __all__ is parsed to Module.dunder_all. | 
| Function | test | 
    The value assigned to __all__ is correctly inferred when it's built from binary operation '+' or augmented assigments '+='. | 
| Function | test | 
    Undocumented | 
| Function | test | 
    Undocumented | 
| Function | test | 
    Undocumented | 
| Function | test | 
    Undocumented | 
| Function | test | 
    Undocumented | 
| Function | test | 
    The value assigned to __docformat__ is parsed to Module.docformat. | 
| Function | test | 
    Undocumented | 
| Function | test | 
    Undocumented | 
| Function | test | 
    Undocumented | 
| Function | test | 
    Undocumented | 
| Function | test | 
    When a function has an invalid signature, an error is logged and the empty signature is returned. | 
| Function | test | 
    It's possible that a function or class name is the same as a module's. The builder should not crash. | 
| Function | test | 
    A round trip from source to inspect.Signature and back produces the original text. | 
| Function | test | 
    Undocumented | 
| Function | test | 
    Undocumented | 
| Function | test | 
    Test for the inherited_members property. | 
| Function | test | 
    Undocumented | 
| Function | test | 
    Relative imports in a package must be resolved by going up one level less, since we don't count "__init__.py" as a level. | 
| Function | test | 
    Relative imports in a package must be resolved by going up one level less, since we don't count "__init__.py" as a level. | 
| Function | test | 
    A warning is logged when a relative import goes beyond the top-level package. | 
| Function | test | 
    Undocumented | 
| Variable | posonlyargs | 
    Undocumented | 
| Variable | typecomment | 
    Undocumented | 
The value assigned to __all__ is parsed to Module.dunder_all.
| Parameters | |
modModFromTextFunction | Undocumented | 
@pytest.mark.parametrize(
def test_all_recognition_complex(getbuilder, top_src_last_line): (source)
The value assigned to __all__ is correctly inferred when it's built from binary operation '+' or augmented assigments '+='.
As well as understands __all__.extend(), __all__.remove() and __all__.append().
| Parameters | |
getbuilder:Callable[ | Undocumented | 
topstr | Undocumented | 
The value assigned to __docformat__ is parsed to Module.docformat.
| Parameters | |
modModFromTextFunction | Undocumented | 
@mod_from_text_param
def test_function_badsig(signature, mod_from_text, caplog): (source)
When a function has an invalid signature, an error is logged and the empty signature is returned.
Note that most bad signatures lead to a SyntaxError, which we cannot recover from. This test checks what happens if the AST can be produced but inspect.Signature() rejects the parsed parameters.
| Parameters | |
signature:str | Undocumented | 
modModFromTextFunction | Undocumented | 
caplog:CapLog | Undocumented | 
It's possible that a function or class name is the same as a module's. The builder should not crash.
| Parameters | |
getbuilder:Callable[ | Undocumented | 
@mod_from_text_param
def test_function_signature(signature, mod_from_text): (source)
A round trip from source to inspect.Signature and back produces the original text.
| Parameters | |
signature:str | Undocumented | 
modModFromTextFunction | Undocumented | 
@pytest.mark.parametrize(
@mod_from_text_param
def test_function_signature_posonly(signature, mod_from_text): (source)
Undocumented
| Parameters | |
signature:str | Undocumented | 
modModFromTextFunction | Undocumented | 
Test for the inherited_members property.
| Parameters | |
getbuilder:Callable[ | Undocumented | 
Relative imports in a package must be resolved by going up one level less, since we don't count "__init__.py" as a level.
Hierarchy:
top: def f
 - pkg: imports f and g
    - mod: def g
| Parameters | |
getbuilder:Callable[ | Undocumented | 
Relative imports in a package must be resolved by going up one level less, since we don't count "__init__.py" as a level.
Hierarchy:
top: class f
 - pkg: imports f and * from mod
    - mod: class g, e, h, j
| Parameters | |
getbuilder:Callable[ | Undocumented | 
@pytest.mark.parametrize(
def test_relative_import_past_top(getbuilder, level, caplog): (source)
A warning is logged when a relative import goes beyond the top-level package.
| Parameters | |
getbuilder:Callable[ | Undocumented | 
level:int | Undocumented | 
caplog:CapLog | Undocumented |