Change order of io.UnsupportedOperation base classes.
authorSerhiy Storchaka <storchaka@gmail.com>
Wed, 7 Dec 2016 11:31:20 +0000 (13:31 +0200)
committerSerhiy Storchaka <storchaka@gmail.com>
Wed, 7 Dec 2016 11:31:20 +0000 (13:31 +0200)
This makes tests passing after changes by issue #5322.

Lib/_pyio.py
Modules/_io/_iomodule.c

index 0d98b744768a1c2796b71ca1561c0a989f176d87..f2fe44714363cf7fd98db977eab9bdb18c46e47c 100644 (file)
@@ -276,7 +276,7 @@ class OpenWrapper:
 try:
     UnsupportedOperation = io.UnsupportedOperation
 except AttributeError:
-    class UnsupportedOperation(ValueError, OSError):
+    class UnsupportedOperation(OSError, ValueError):
         pass
 
 
index 65c955ac6981dc5468e878e9c9c0c5908adbe5aa..e9f22afb50465f9f9016e9804d2a77946a402000 100644 (file)
@@ -654,7 +654,7 @@ PyInit__io(void)
     /* UnsupportedOperation inherits from ValueError and IOError */
     state->unsupported_operation = PyObject_CallFunction(
         (PyObject *)&PyType_Type, "s(OO){}",
-        "UnsupportedOperation", PyExc_ValueError, PyExc_IOError);
+        "UnsupportedOperation", PyExc_OSError, PyExc_ValueError);
     if (state->unsupported_operation == NULL)
         goto fail;
     Py_INCREF(state->unsupported_operation);