Minor nit.  Make the rotate() success/fail tests consistent.
diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c
index 28aacc3..b831627 100644
--- a/Modules/_collectionsmodule.c
+++ b/Modules/_collectionsmodule.c
@@ -634,7 +634,7 @@
 
     if (!PyArg_ParseTuple(args, "|n:rotate", &n))
         return NULL;
-    if (_deque_rotate(deque, n) == 0)
+    if (!_deque_rotate(deque, n))
         Py_RETURN_NONE;
     return NULL;
 }
@@ -864,7 +864,7 @@
         if (cmp > 0) {
             PyObject *tgt = deque_popleft(deque, NULL);
             assert (tgt != NULL);
-            if (_deque_rotate(deque, i) == -1)
+            if (_deque_rotate(deque, i))
                 return NULL;
             Py_DECREF(tgt);
             Py_RETURN_NONE;
@@ -959,7 +959,7 @@
     int rv;
 
     assert (i >= 0 && i < Py_SIZE(deque));
-    if (_deque_rotate(deque, -i) == -1)
+    if (_deque_rotate(deque, -i))
         return -1;
     item = deque_popleft(deque, NULL);
     rv = _deque_rotate(deque, i);