with self.assertRaisesRegex(ValueError, 'embedded null'):
imp.load_source(__name__, __file__ + "\0")
+ @support.cpython_only
+ def test_issue31315(self):
+ # There shouldn't be an assertion failure in imp.create_dynamic(),
+ # when spec.name is not a string.
+ create_dynamic = support.get_attribute(imp, 'create_dynamic')
+ class BadSpec:
+ name = None
+ origin = 'foo'
+ with self.assertRaises(TypeError):
+ create_dynamic(BadSpec())
+
class ReloadTests(unittest.TestCase):
if (name_unicode == NULL) {
return NULL;
}
+ if (!PyUnicode_Check(name_unicode)) {
+ PyErr_SetString(PyExc_TypeError,
+ "spec.name must be a string");
+ goto error;
+ }
name = get_encoded_name(name_unicode, &hook_prefix);
if (name == NULL) {