diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py index 3958764a6ae..f058185c2f8 100644 --- a/Lib/test/pythoninfo.py +++ b/Lib/test/pythoninfo.py @@ -527,11 +527,11 @@ def collect_cc(info_add): def collect_gdbm(info_add): try: - import _gdbm + from _gdbm import _GDBM_VERSION except ImportError: return - info_add('gdbm.GDBM_VERSION', '.'.join(map(str, _gdbm._GDBM_VERSION))) + info_add('gdbm.GDBM_VERSION', '.'.join(map(str, _GDBM_VERSION))) def collect_info(info): diff --git a/Lib/test/test_dbm_gnu.py b/Lib/test/test_dbm_gnu.py index 49f91705b5b..c96eff5a319 100644 --- a/Lib/test/test_dbm_gnu.py +++ b/Lib/test/test_dbm_gnu.py @@ -12,9 +12,8 @@ class TestGdbm(unittest.TestCase): def setUpClass(): if support.verbose: try: - import _gdbm - version = _gdbm._GDBM_VERSION - except (ImportError, AttributeError): + from _gdbm import _GDBM_VERSION as version + except ImportError: pass else: print(f"gdbm version: {version}") diff --git a/Modules/_gdbmmodule.c b/Modules/_gdbmmodule.c index a68cf029429..10560040e44 100644 --- a/Modules/_gdbmmodule.c +++ b/Modules/_gdbmmodule.c @@ -678,6 +678,8 @@ PyInit__gdbm(void) { goto error; } +#if defined(GDBM_VERSION_MAJOR) && defined(GDBM_VERSION_MINOR) && \ + defined(GDBM_VERSION_PATCH) PyObject *obj = Py_BuildValue("iii", GDBM_VERSION_MAJOR, GDBM_VERSION_MINOR, GDBM_VERSION_PATCH); if (obj == NULL) { @@ -687,6 +689,7 @@ PyInit__gdbm(void) { Py_DECREF(obj); goto error; } +#endif return m;