Skip to content

Commit 4476844

Browse files
committed
Update test/gdb
1 parent 13b8d7e commit 4476844

3 files changed

Lines changed: 8 additions & 20 deletions

File tree

Lib/test/test_dict.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1795,17 +1795,17 @@ def __hash__(self):
17951795
self.assertRaises(Exc, dict_getitem_knownhash, d, k2, hash(k2))
17961796

17971797
@support.cpython_only
1798-
def test_indices_layout(self):
1798+
def test_dict_keys_layout(self):
17991799
_testinternalcapi = import_helper.import_module('_testinternalcapi')
1800-
check_layout = _testinternalcapi.test_dict_keys_layout
1800+
check_layout = _testinternalcapi.dict_keys_layout
18011801

18021802
for i in range(4):
18031803
self.assertTrue(check_layout({j: j for j in range(10**i)}))
18041804

18051805
@support.cpython_only
18061806
def test_dict_keys_to_base(self):
18071807
_testinternalcapi = import_helper.import_module('_testinternalcapi')
1808-
check_base = _testinternalcapi.test_dict_keys_to_base
1808+
check_base = _testinternalcapi.dict_keys_to_base
18091809

18101810
for i in range(4):
18111811
self.assertTrue(check_base({j: j for j in range(10**i)}))

Modules/_testinternalcapi/dict.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#include "pycore_dict.h"
44

55
static PyObject*
6-
test_dict_keys_layout(PyObject *self, PyObject *arg)
6+
dict_keys_layout(PyObject *self, PyObject *arg)
77
{
88
PyDictObject *mp = (PyDictObject *)arg;
99
PyDictKeysObject *keys = mp->ma_keys;
@@ -22,7 +22,7 @@ test_dict_keys_layout(PyObject *self, PyObject *arg)
2222
}
2323

2424
static PyObject*
25-
test_dict_keys_to_base(PyObject *self, PyObject *arg)
25+
dict_keys_to_base(PyObject *self, PyObject *arg)
2626
{
2727
PyDictObject *mp = (PyDictObject *)arg;
2828
PyDictKeysObject *keys = mp->ma_keys;
@@ -35,8 +35,8 @@ test_dict_keys_to_base(PyObject *self, PyObject *arg)
3535
}
3636

3737
static PyMethodDef test_methods[] = {
38-
{"test_dict_keys_layout", test_dict_keys_layout, METH_O},
39-
{"test_dict_keys_to_base", test_dict_keys_to_base, METH_O},
38+
{"dict_keys_layout", dict_keys_layout, METH_O},
39+
{"dict_keys_to_base", dict_keys_to_base, METH_O},
4040
{NULL},
4141
};
4242

Tools/gdb/libpython.py

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -846,25 +846,13 @@ def write_repr(self, out, visited):
846846
@staticmethod
847847
def _get_entries(keys):
848848
dk_nentries = int(keys['dk_nentries'])
849-
dk_size = 1<<int(keys['dk_log2_size'])
850-
851-
if dk_size <= 0xFF:
852-
offset = dk_size
853-
elif dk_size <= 0xFFFF:
854-
offset = 2 * dk_size
855-
elif dk_size <= 0xFFFFFFFF:
856-
offset = 4 * dk_size
857-
else:
858-
offset = 8 * dk_size
859849

860-
ent_addr = keys['dk_indices'].address
861-
ent_addr = ent_addr.cast(_type_unsigned_char_ptr()) + offset
862850
if int(keys['dk_kind']) == 0: # DICT_KEYS_GENERAL
863851
ent_ptr_t = gdb.lookup_type('PyDictKeyEntry').pointer()
864852
else:
865853
ent_ptr_t = gdb.lookup_type('PyDictUnicodeEntry').pointer()
866-
ent_addr = ent_addr.cast(ent_ptr_t)
867854

855+
ent_addr = keys["dk_entries"].address.cast(ent_ptr_t)
868856
return ent_addr, dk_nentries
869857

870858

0 commit comments

Comments
 (0)