The error class triggered was, in some circumstances not the right
on (DeprecationRemoved instead of DeprecationIntroduced and vice
versa).
If the triggered deprecations were looking like ['C'] and the
recorded one like ['A', 'B'] it should have raised a
DeprecationRemoved error, but it was instead triggering a
DeprecationIntroduced one.
That situation was happening because we were comparing the recorded
deprecations agains the triggered one using the <=> operator
on arrays (Returns as soon as one element mismatch.)
Fix is to use the <=> operator on the Array's size instead.
The error class triggered was, in some circumstances not the right on (DeprecationRemoved instead of DeprecationIntroduced and vice versa).
If the triggered deprecations were looking like
['C']
and the recorded one like['A', 'B']
it should have raised a DeprecationRemoved error, but it was instead triggering a DeprecationIntroduced one.That situation was happening because we were comparing the recorded deprecations agains the triggered one using the
<=>
operator on arrays (Returns as soon as one element mismatch.)Fix is to use the
<=>
operator on the Array's size instead.