From 2950a6376988e2c99d5559236a52b017c086f238 Mon Sep 17 00:00:00 2001 From: Tim 'mithro' Ansell Date: Wed, 30 Jan 2019 15:29:58 +1100 Subject: [PATCH] utils: Fix an instability in cmp method. Signed-off-by: Tim 'mithro' Ansell --- utils/cmp.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/utils/cmp.py b/utils/cmp.py index 56abbdeb..d01671db 100644 --- a/utils/cmp.py +++ b/utils/cmp.py @@ -106,8 +106,17 @@ def cmp(a, b): >>> cmp(b'AA', b'A') 1 + >>> def bit(*args): + ... return args + >>> a = ('CLBLL', 'L', 'SLICEL', ('X', 0), 'AFFMUX', 'XOR') + >>> b = ('CLBLL', 'L', 'SLICEL', ('X', 0), 'AFFMUX', ('F', 7)) + >>> cmp(a, b) + -1 + >>> cmp(b, a) + 1 + """ - if not isinstance(a, (str, bytes)): + if not isinstance(a, (str, bytes)) and not isinstance(b, (str, bytes)): try: for i, j in itertools.zip_longest(iter(a), iter(b)): r = cmp(i, j)