diff options
| author | Xiang Zhang <angwerzx@126.com> | 2018-06-20 21:23:30 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-06-20 21:23:30 +0800 |
| commit | b248e957a818e268cfb221f3b94b37bc5672456a (patch) | |
| tree | 121b943a976ef4d5487c5307b733bde366ab9cb8 | |
| parent | 16eb3bcdb22be4d82dc597b92b7154fcb11c6479 (diff) | |
| download | cpython-git-b248e957a818e268cfb221f3b94b37bc5672456a.tar.gz | |
Fix compiling error when missing gdbm version macros (GH-7823)
| -rw-r--r-- | Lib/test/pythoninfo.py | 4 | ||||
| -rw-r--r-- | Lib/test/test_dbm_gnu.py | 5 | ||||
| -rw-r--r-- | Modules/_gdbmmodule.c | 3 |
3 files changed, 7 insertions, 5 deletions
diff --git a/Lib/test/pythoninfo.py b/Lib/test/pythoninfo.py index 3958764a6a..f058185c2f 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 49f91705b5..c96eff5a31 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 a68cf02942..10560040e4 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; |
