summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2013-11-22 15:20:53 (GMT)
committerChristian Heimes <christian@cheimes.de>2013-11-22 15:20:53 (GMT)
commit5398e1a56e4483a16e4620758aad0d91e986653f (patch)
tree6aea394dbdd81213ff99db8c299b36fcf75f72e3
parentc2d65e1e9349179e10b3231820ef57ae136fdd65 (diff)
downloadcpython-5398e1a56e4483a16e4620758aad0d91e986653f.zip
cpython-5398e1a56e4483a16e4620758aad0d91e986653f.tar.gz
cpython-5398e1a56e4483a16e4620758aad0d91e986653f.tar.bz2
Issue #19448: report name / NID in exception message of ASN1Object
-rw-r--r--Lib/test/test_ssl.py6
-rw-r--r--Modules/_ssl.c6
2 files changed, 7 insertions, 5 deletions
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 10d25e9..7374327 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -585,7 +585,8 @@ class BasicSocketTests(unittest.TestCase):
self.assertEqual(val, expected)
self.assertIsInstance(val, ssl._ASN1Object)
self.assertRaises(ValueError, ssl._ASN1Object.fromnid, -1)
- self.assertRaises(ValueError, ssl._ASN1Object.fromnid, 100000)
+ with self.assertRaisesRegex(ValueError, "unknown NID 100000"):
+ ssl._ASN1Object.fromnid(100000)
for i in range(1000):
try:
obj = ssl._ASN1Object.fromnid(i)
@@ -603,7 +604,8 @@ class BasicSocketTests(unittest.TestCase):
self.assertEqual(ssl._ASN1Object.fromname('serverAuth'), expected)
self.assertEqual(ssl._ASN1Object.fromname('1.3.6.1.5.5.7.3.1'),
expected)
- self.assertRaises(ValueError, ssl._ASN1Object.fromname, 'serverauth')
+ with self.assertRaisesRegex(ValueError, "unknown object 'serverauth'"):
+ ssl._ASN1Object.fromname('serverauth')
class ContextTests(unittest.TestCase):
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index f32d180..180355b 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -3387,7 +3387,7 @@ PySSL_txt2obj(PyObject *self, PyObject *args, PyObject *kwds)
}
obj = OBJ_txt2obj(txt, name ? 0 : 1);
if (obj == NULL) {
- PyErr_Format(PyExc_ValueError, "Unknown object");
+ PyErr_Format(PyExc_ValueError, "unknown object '%.100s'", txt);
return NULL;
}
result = asn1obj2py(obj);
@@ -3411,12 +3411,12 @@ PySSL_nid2obj(PyObject *self, PyObject *args)
return NULL;
}
if (nid < NID_undef) {
- PyErr_Format(PyExc_ValueError, "NID must be positive.");
+ PyErr_SetString(PyExc_ValueError, "NID must be positive.");
return NULL;
}
obj = OBJ_nid2obj(nid);
if (obj == NULL) {
- PyErr_Format(PyExc_ValueError, "Unknown NID");
+ PyErr_Format(PyExc_ValueError, "unknown NID %i", nid);
return NULL;
}
result = asn1obj2py(obj);