summaryrefslogtreecommitdiff
path: root/tests/build
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2017-07-23 10:50:35 +0200
committerStefan Behnel <stefan_ml@behnel.de>2017-07-23 10:50:35 +0200
commit65cbfd1d077d83e91ee3fe674915dd262e31fe1b (patch)
tree11c4f0c57204f09ca173fba132cb8ea7902be0f0 /tests/build
parent8fd80d052fcc5bb95f0384a6342c09d06772601f (diff)
downloadcython-65cbfd1d077d83e91ee3fe674915dd262e31fe1b.tar.gz
fix module_api test
Diffstat (limited to 'tests/build')
-rw-r--r--tests/build/module_api.srctree12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/build/module_api.srctree b/tests/build/module_api.srctree
index 1111d4fc1..557c20ccd 100644
--- a/tests/build/module_api.srctree
+++ b/tests/build/module_api.srctree
@@ -108,6 +108,18 @@ void inita(void)
if (!sys_modules) return;
mod = PyInit_a();
if (!mod) return;
+#if PY_VERSION_HEX >= 0x03050000
+ /* FIXME: this is incomplete and users shouldn't have to do this in the first place... */
+ if (!PyModule_Check(mod)) {
+ PyModuleDef *mdef = (PyModuleDef*)mod;
+ PyObject *modname = PyUnicode_FromString("a");
+ if (!modname) return;
+ mod = PyModule_NewObject(modname);
+ Py_DECREF(modname);
+ if (!mod) return;
+ PyModule_ExecDef(mod, mdef);
+ }
+#endif
PyDict_SetItemString(sys_modules, (char*)"a", mod);
}
#endif