summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2008-03-19 17:45:19 (GMT)
committerRaymond Hettinger <python@rcn.com>2008-03-19 17:45:19 (GMT)
commit05387861ea96dc7603519f00d95dcd7ad61b8919 (patch)
treebc21af8b9c113f5002dffa98aaa61babb70b9505
parent977eb021f318fcb6558aa22fcf3131e72e2ad319 (diff)
downloadcpython-05387861ea96dc7603519f00d95dcd7ad61b8919.zip
cpython-05387861ea96dc7603519f00d95dcd7ad61b8919.tar.gz
cpython-05387861ea96dc7603519f00d95dcd7ad61b8919.tar.bz2
Issue 2354: Fix-up compare warning. Patch contributed by Jeff Balogh.
-rw-r--r--Lib/test/test_py3kwarn.py14
-rw-r--r--Objects/listobject.c2
2 files changed, 15 insertions, 1 deletions
diff --git a/Lib/test/test_py3kwarn.py b/Lib/test/test_py3kwarn.py
index cb450ff..f7a6949 100644
--- a/Lib/test/test_py3kwarn.py
+++ b/Lib/test/test_py3kwarn.py
@@ -91,6 +91,20 @@ class TestPy3KWarnings(unittest.TestCase):
def assertWarning(self, _, warning, expected_message):
self.assertEqual(str(warning.message), expected_message)
+ def test_sort_cmp_arg(self):
+ expected = "In 3.x, the cmp argument is no longer supported."
+ lst = range(5)
+ cmp = lambda x,y: -1
+
+ with catch_warning() as w:
+ self.assertWarning(lst.sort(cmp=cmp), w, expected)
+ with catch_warning() as w:
+ self.assertWarning(sorted(lst, cmp=cmp), w, expected)
+ with catch_warning() as w:
+ self.assertWarning(lst.sort(cmp), w, expected)
+ with catch_warning() as w:
+ self.assertWarning(sorted(lst, cmp), w, expected)
+
def test_main():
run_unittest(TestPy3KWarnings)
diff --git a/Objects/listobject.c b/Objects/listobject.c
index 9e86592..d4faf0a 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -2037,7 +2037,7 @@ listsort(PyListObject *self, PyObject *args, PyObject *kwds)
}
if (compare == Py_None)
compare = NULL;
- if (compare == NULL &&
+ if (compare != NULL &&
Py_Py3kWarningFlag &&
PyErr_Warn(PyExc_DeprecationWarning,
"In 3.x, the cmp argument is no longer supported.") < 0)