• 
      

    Add more flexible argument checking in called_with().

    Review Request #9523 — Created Jan. 23, 2018 and submitted

    Information

    kgb
    master
    72eaa5e...

    Reviewers

    kgb

    A recent change had to alter how arguments were stored when calling a
    spy, due to opcode changes in Python 3.6. Arguments in a call were
    stored as positional or keyword arguments based on the function
    signature and not on the call itself. That made some usage of kgb a bit
    less than ideal, because instead of descriptive called_with() checks
    using keyword arguments (matching descriptive calls), they'd have to
    become less-descriptive calls specifying positional arguments.

    This change enables passing keyword arguments to called_with() and
    last_called_with() to check positional arguemnts. Instead of just
    checking the list of keyword arguments in the signature, the entire list
    of arguments are checked instead. This can help future-proof unit tests,
    and just makes things more readable.

    Unit tests pass on Python 2.7, 3.4, 3.5, and 3.6.

    Tested with the other main codebases we use.

    david
    1. Ship It!
    2. 
        
    chipx86
    Review request changed
    Status:
    Completed
    Change Summary:
    Pushed to master (65c487b)