Issue 24997: mock.call_args compares as equal and not equal (original) (raw)

mock.call_args can be both equal to and not equal to another object:

m = Mock() m(1,2) m.call_args call(1, 2) m.call_args == call(1,2) True m.call_args != call(1,2) True

This appears to be a recent regression - it repros on trunk, but not on 3.3 or 2.7 with mock 1.3.0.

Seems this is not reproducible at least on Python 3.6.4 and Master branch.

bpo24997.py

from unittest.mock import *

m = Mock() m(1,2) m.call_args print("1 ", m.call_args == call(1,2)) print("2 ", m.call_args != call(1,2))

Master

./python.exe Python 3.8.0a0 (heads/master:c510c6b8b6, Sep 21 2018, 11:10:24) [Clang 7.0.2 (clang-700.1.81)] on darwin Type "help", "copyright", "credits" or "license" for more information.

./python.exe ../backups/bpo24997.py 1 True 2 False

Python 3.6.4

python3.6 ../backups/bpo24997.py 1 True 2 False

Thanks