• 
      

    Allow specifying a function name for spying on bad decorators.

    Review Request #11932 — Created Jan. 18, 2022 and submitted

    Information

    kgb
    master

    Reviewers

    kgb

    If a decorator fails to copy over the function name from the wrapped
    function, spying on the decorator can fail, due to the inability to
    locate the correct function for the slippery function check.

    This situation is now detected and a warning logged. It advises using
    a new parameter, func_name=, which enables a spy to specify an
    explicit function name. This is rarely needed, but useful when
    encountering this sort of situation.

    All unit tests pass on all supported versions of Python.

    Summary ID
    Allow specifying a function name for spying on bad decorators.
    If a decorator fails to copy over the function name from the wrapped function, spying on the decorator can fail, due to the inability to locate the correct function for the slippery function check. This situation is now detected and a warning logged. It advises using a new parameter, `func_name=`, which enables a spy to specify an explicit function name. This is rarely needed, but useful when encountering this sort of situation.
    073fbce725224d8948e4a627f4a194987deb9d83
    david
    1. Ship It!
    2. 
        
    chipx86
    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to master (8c2008e)