Repository: enthought/okonomiyaki

Issue:
Print default cpython `RuntimeVersion` as `str`
https://github.com/enthought/okonomiyaki/blob/51b8b4fa8d17255e13c097402691726545cf5b4c/okonomiyaki/platforms/abi.py#L28-L32

When you get this error message, the raw object ID is printed:
```
Traceback (most recent call last):
  ...
  File "okonomiyaki\platforms\abi.py", line 88, in default_abi
  File "okonomiyaki\platforms\abi.py", line 51, in _default_cpython_abi
okonomiyaki.errors.OkonomiyakiError: Unsupported platform/version combo for cpython: Platform(...)/<okonomiyaki.versions.runtime_version.RuntimeVersion object at 0x000001CCC5EE40B8>
```

I think just casting `implementation_version` to a `str` like these lines:
https://github.com/enthought/okonomiyaki/blob/51b8b4fa8d17255e13c097402691726545cf5b4c/okonomiyaki/platforms/abi.py#L86-L87

should fix the `<okonomiyaki.versions.runtime_version.RuntimeVersion object at...>` issue


Discussion:
itziakos: jenkins failures are unrelated

Patch:
diff --git a/okonomiyaki/platforms/abi.py b/okonomiyaki/platforms/abi.py
index 3b6c9f4..03941b5 100644
--- a/okonomiyaki/platforms/abi.py
+++ b/okonomiyaki/platforms/abi.py
@@ -27,9 +27,8 @@ class PlatformABI(object):
 
 def _default_cpython_abi(platform, implementation_version):
     msg = (
-        "Unsupported platform/version combo for cpython: {0!r}/{1!r}".
-        format(platform, implementation_version)
-    )
+        "Unsupported combo of {0!r} and cpython version {1!s}".
+        format(platform, implementation_version))
 
     if platform.os_kind == OSKind.darwin:
         return u"darwin"


Test patch:
diff --git a/okonomiyaki/platforms/tests/test_abi.py b/okonomiyaki/platforms/tests/test_abi.py
index 4a8eed1..02e3ae1 100644
--- a/okonomiyaki/platforms/tests/test_abi.py
+++ b/okonomiyaki/platforms/tests/test_abi.py
@@ -44,5 +44,12 @@ class TestDefaultABI(unittest.TestCase):
             ("win_x86", "pypy", "4.1.0+1"),
             ("rh5_x86_64", "r", "3.0.0+1")]))
     def test_non_supported(self, arguments):
-        with self.assertRaises(OkonomiyakiError):
+        with self.assertRaises(OkonomiyakiError) as context:
             default_abi(*arguments)
+
+        message = str(context.exception)
+        self.assertNotIn('RuntimeVersion', message)
+        if arguments[1] == 'r':
+            self.assertIn('Unsupported implementation', message)
+        else:
+            self.assertIn('Platform', message)