summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--msgpack/_msgpack.pyx2
-rw-r--r--test/test_except.py14
2 files changed, 15 insertions, 1 deletions
diff --git a/msgpack/_msgpack.pyx b/msgpack/_msgpack.pyx
index eb83c85..61ae36b 100644
--- a/msgpack/_msgpack.pyx
+++ b/msgpack/_msgpack.pyx
@@ -71,7 +71,7 @@ cdef class Packer(object):
def __dealloc__(self):
free(self.pk.buf);
- cdef int __pack(self, object o):
+ cdef int __pack(self, object o) except -1:
cdef long long llval
cdef unsigned long long ullval
cdef long longval
diff --git a/test/test_except.py b/test/test_except.py
new file mode 100644
index 0000000..574728f
--- /dev/null
+++ b/test/test_except.py
@@ -0,0 +1,14 @@
+#!/usr/bin/env python
+# coding: utf-8
+
+from nose.tools import *
+from msgpack import packs, unpacks
+
+import datetime
+
+def test_raise_on_find_unsupported_value():
+ assert_raises(TypeError, packs, datetime.datetime.now())
+
+if __name__ == '__main__':
+ from nose import main
+ main()