Skip to content

Commit 189c529

Browse files
committed
test: debug
1 parent dcb0730 commit 189c529

File tree

3 files changed

+151
-143
lines changed

3 files changed

+151
-143
lines changed

Diff for: pyproject.toml

+4
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,7 @@ docs = [
6666
examples = [
6767
"notebook",
6868
]
69+
[tool.pytest.ini_options]
70+
pythonpath = [
71+
"src"
72+
]

Diff for: src/pygccxml/declarations/container_traits.py

+10-2
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ def __init__(self, unordered_maps_and_sets):
3838
def normalize(self, type_str):
3939
return type_str.replace(' ', '')
4040

41-
def replace_basic_string(self, cls_name):
41+
@staticmethod
42+
def replace_basic_string(cls_name):
43+
print("replace_basic_string 1", cls_name)
4244
strings = {
4345
"std::string": string_equivalences,
4446
"std::wstring": wstring_equivalences
@@ -48,7 +50,7 @@ def replace_basic_string(self, cls_name):
4850
for short_name, long_names in strings.items():
4951
for lname in long_names:
5052
new_name = new_name.replace(lname, short_name)
51-
53+
print("replace_basic_string 2", new_name)
5254
return new_name
5355

5456
def decorated_call_prefix(self, cls_name, text, doit):
@@ -118,6 +120,7 @@ def erase_allocator(self, cls_name, default_allocator='std::allocator'):
118120
def erase_container(self, cls_name, default_container_name='std::deque'):
119121
cls_name = self.replace_basic_string(cls_name)
120122
c_name, c_args = templates.split(cls_name)
123+
print("erase_container", cls_name, c_name)
121124
if len(c_args) != 2:
122125
return
123126
value_type = c_args[0]
@@ -521,12 +524,17 @@ def remove_defaults(self, type_or_string):
521524
"""
522525

523526
name = type_or_string
527+
print("remove_defaults 1", name)
524528
if not isinstance(type_or_string, str):
525529
name = self.class_declaration(type_or_string).name
530+
print("remove_defaults 2", name)
531+
name = defaults_eraser.replace_basic_string(name)
526532
if not self.remove_defaults_impl:
527533
return name
528534
no_defaults = self.remove_defaults_impl(name)
535+
print("remove_defaults no_defaults 3", no_defaults)
529536
if not no_defaults:
537+
print("remove_defaults RETURN", name)
530538
return name
531539
return no_defaults
532540

Diff for: tests/test_remove_template_defaults.py

+137-141
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,17 @@
44
# See http://www.boost.org/LICENSE_1_0.txt
55

66
import platform
7-
import logging
87
import pytest
98

109
from . import autoconfig
1110

1211
from pygccxml import parser
1312
from pygccxml import declarations
14-
from pygccxml import utils
1513

1614
TEST_FILES = [
1715
'remove_template_defaults.hpp'
1816
]
1917

20-
utils.loggers.set_level(logging.DEBUG)
21-
2218

2319
@pytest.fixture
2420
def global_ns():
@@ -48,140 +44,140 @@ def test_vector(global_ns):
4844
v_traits.remove_defaults(v_v_int)
4945

5046

51-
def test_list(global_ns):
52-
l_int = global_ns.typedef('l_int')
53-
l_traits = declarations.list_traits
54-
assert 'list<int>' == l_traits.remove_defaults(l_int)
55-
l_wstring = global_ns.typedef('l_wstring')
56-
assert 'list<std::wstring>' == l_traits.remove_defaults(l_wstring)
57-
58-
59-
def test_deque(global_ns):
60-
d_v_int = global_ns.typedef('d_v_int')
61-
d_v_traits = declarations.deque_traits
62-
assert 'deque<std::vector<int>>' == \
63-
d_v_traits.remove_defaults(d_v_int)
64-
d_l_string = global_ns.typedef('d_l_string')
65-
assert 'deque<std::list<std::string>>' == \
66-
d_v_traits.remove_defaults(d_l_string)
67-
68-
69-
def test_queue(global_ns):
70-
q_int = global_ns.typedef('q_int')
71-
q_traits = declarations.queue_traits
72-
assert 'queue<int>' == q_traits.remove_defaults(q_int)
73-
q_string = global_ns.typedef('q_string')
74-
assert 'queue<std::string>' == q_traits.remove_defaults(q_string)
75-
76-
77-
def test_priority_queue(global_ns):
78-
pq_int = global_ns.typedef('pq_int')
79-
pq_traits = declarations.priority_queue_traits
80-
assert 'priority_queue<int>' == pq_traits.remove_defaults(pq_int)
81-
pq_string = global_ns.typedef('pq_string')
82-
assert 'priority_queue<std::string>' == \
83-
pq_traits.remove_defaults(pq_string)
84-
85-
86-
def test_set(global_ns):
87-
s_v_int = global_ns.typedef('s_v_int')
88-
assert 'set<std::vector<int>>' == \
89-
declarations.set_traits.remove_defaults(s_v_int)
90-
s_string = global_ns.typedef('s_string')
91-
assert 'set<std::string>' == \
92-
declarations.set_traits.remove_defaults(s_string)
93-
94-
95-
def test_multiset(global_ns):
96-
ms_v_int = global_ns.typedef('ms_v_int')
97-
ms_v_traits = declarations.multiset_traits
98-
assert 'multiset<std::vector<int>>' == \
99-
ms_v_traits.remove_defaults(ms_v_int)
100-
ms_string = global_ns.typedef('ms_string')
101-
assert 'multiset<std::string>' == \
102-
ms_v_traits.remove_defaults(ms_string)
103-
104-
105-
def test_map(global_ns):
106-
m_i2d = global_ns.typedef('m_i2d')
107-
assert 'map<int, double>' == \
108-
declarations.map_traits.remove_defaults(m_i2d)
109-
m_wstr2d = global_ns.typedef('m_wstr2d')
110-
assert 'map<std::wstring, double>' == \
111-
declarations.map_traits.remove_defaults(m_wstr2d)
112-
m_v_i2m_wstr2d = global_ns.typedef('m_v_i2m_wstr2d')
113-
m = 'map<const std::vector<int>, std::map<std::wstring, double>>'
114-
assert m == declarations.map_traits.remove_defaults(m_v_i2m_wstr2d)
115-
116-
117-
def test_multimap(global_ns):
118-
mm_i2d = global_ns.typedef('mm_i2d')
119-
mm_traits = declarations.multimap_traits
120-
assert 'multimap<int, double>' == mm_traits.remove_defaults(mm_i2d)
121-
mm_wstr2d = global_ns.typedef('mm_wstr2d')
122-
assert 'multimap<const std::wstring, double>' == \
123-
mm_traits.remove_defaults(mm_wstr2d)
124-
mm_v_i2mm_wstr2d = global_ns.typedef('mm_v_i2mm_wstr2d')
125-
assert ('multimap<const std::vector<int>, ' +
126-
'const std::multimap<const std::wstring, double>>') == \
127-
mm_traits.remove_defaults(mm_v_i2mm_wstr2d)
128-
129-
130-
def test_hash_set(global_ns):
131-
hs_v_int = global_ns.typedef('hs_v_int')
132-
hs_traits = declarations.unordered_set_traits
133-
name = 'unordered_set'
134-
assert (name + '<std::vector<int>>') == \
135-
hs_traits.remove_defaults(hs_v_int), \
136-
hs_traits.remove_defaults(hs_v_int)
137-
hs_string = global_ns.typedef('hs_string')
138-
assert (name + '<std::string>') == \
139-
hs_traits.remove_defaults(hs_string)
140-
141-
142-
def test_hash_multiset(global_ns):
143-
mhs_v_int = global_ns.typedef('mhs_v_int')
144-
mhs_traits = declarations.unordered_multiset_traits
145-
name = 'unordered_multiset'
146-
assert (name + '<std::vector<int>>') == \
147-
mhs_traits.remove_defaults(mhs_v_int)
148-
mhs_string = global_ns.typedef('mhs_string')
149-
assert (name + '<std::string>') == \
150-
mhs_traits.remove_defaults(mhs_string)
151-
152-
153-
def test_hash_map(global_ns):
154-
hm_i2d = global_ns.typedef('hm_i2d')
155-
hm_traits = declarations.unordered_map_traits
156-
name = 'unordered_map'
157-
assert (name + '<int, double>') == \
158-
hm_traits.remove_defaults(hm_i2d)
159-
hm_wstr2d = global_ns.typedef('hm_wstr2d')
160-
assert (name + '<std::wstring, double>') == \
161-
hm_traits.remove_defaults(hm_wstr2d)
162-
163-
164-
def test_hash_multimap(global_ns):
165-
hmm_i2d = global_ns.typedef('hmm_i2d')
166-
hmm_traits = declarations.unordered_multimap_traits
167-
name = 'unordered_multimap'
168-
assert (name + '<int, double>') == \
169-
hmm_traits.remove_defaults(hmm_i2d)
170-
hmm_wstr2d = global_ns.typedef('hmm_wstr2d')
171-
assert (name + '<const std::wstring, double>') == \
172-
hmm_traits.remove_defaults(hmm_wstr2d)
173-
174-
hmm_v_i2mm_wstr2d = global_ns.typedef('hmm_v_i2mm_wstr2d')
175-
176-
hmm_traits_value = hmm_traits.remove_defaults(hmm_v_i2mm_wstr2d)
177-
178-
possible_values = (
179-
name + '<const std::vector<int>, ' +
180-
'const __gnu_cxx::' + name + '<const std::wstring, double>>',
181-
name + '<const std::vector<int>, ' +
182-
'const std::' + utils.get_tr1(hmm_traits_value) + name +
183-
'<const std::wstring, double>>',
184-
name + '<const std::vector<int>, ' +
185-
'const stdext::' + name + '<const std::wstring, double>>')
186-
187-
assert hmm_traits_value in possible_values, hmm_traits_value
47+
# def test_list(global_ns):
48+
# l_int = global_ns.typedef('l_int')
49+
# l_traits = declarations.list_traits
50+
# assert 'list<int>' == l_traits.remove_defaults(l_int)
51+
# l_wstring = global_ns.typedef('l_wstring')
52+
# assert 'list<std::wstring>' == l_traits.remove_defaults(l_wstring)
53+
54+
55+
# def test_deque(global_ns):
56+
# d_v_int = global_ns.typedef('d_v_int')
57+
# d_v_traits = declarations.deque_traits
58+
# assert 'deque<std::vector<int>>' == \
59+
# d_v_traits.remove_defaults(d_v_int)
60+
# d_l_string = global_ns.typedef('d_l_string')
61+
# assert 'deque<std::list<std::string>>' == \
62+
# d_v_traits.remove_defaults(d_l_string)
63+
64+
65+
# def test_queue(global_ns):
66+
# q_int = global_ns.typedef('q_int')
67+
# q_traits = declarations.queue_traits
68+
# assert 'queue<int>' == q_traits.remove_defaults(q_int)
69+
# q_string = global_ns.typedef('q_string')
70+
# assert 'queue<std::string>' == q_traits.remove_defaults(q_string)
71+
72+
73+
# def test_priority_queue(global_ns):
74+
# pq_int = global_ns.typedef('pq_int')
75+
# pq_traits = declarations.priority_queue_traits
76+
# assert 'priority_queue<int>' == pq_traits.remove_defaults(pq_int)
77+
# pq_string = global_ns.typedef('pq_string')
78+
# assert 'priority_queue<std::string>' == \
79+
# pq_traits.remove_defaults(pq_string)
80+
81+
82+
# def test_set(global_ns):
83+
# s_v_int = global_ns.typedef('s_v_int')
84+
# assert 'set<std::vector<int>>' == \
85+
# declarations.set_traits.remove_defaults(s_v_int)
86+
# s_string = global_ns.typedef('s_string')
87+
# assert 'set<std::string>' == \
88+
# declarations.set_traits.remove_defaults(s_string)
89+
90+
91+
# def test_multiset(global_ns):
92+
# ms_v_int = global_ns.typedef('ms_v_int')
93+
# ms_v_traits = declarations.multiset_traits
94+
# assert 'multiset<std::vector<int>>' == \
95+
# ms_v_traits.remove_defaults(ms_v_int)
96+
# ms_string = global_ns.typedef('ms_string')
97+
# assert 'multiset<std::string>' == \
98+
# ms_v_traits.remove_defaults(ms_string)
99+
100+
101+
# def test_map(global_ns):
102+
# m_i2d = global_ns.typedef('m_i2d')
103+
# assert 'map<int, double>' == \
104+
# declarations.map_traits.remove_defaults(m_i2d)
105+
# m_wstr2d = global_ns.typedef('m_wstr2d')
106+
# assert 'map<std::wstring, double>' == \
107+
# declarations.map_traits.remove_defaults(m_wstr2d)
108+
# m_v_i2m_wstr2d = global_ns.typedef('m_v_i2m_wstr2d')
109+
# m = 'map<const std::vector<int>, std::map<std::wstring, double>>'
110+
# assert m == declarations.map_traits.remove_defaults(m_v_i2m_wstr2d)
111+
112+
113+
# def test_multimap(global_ns):
114+
# mm_i2d = global_ns.typedef('mm_i2d')
115+
# mm_traits = declarations.multimap_traits
116+
# assert 'multimap<int, double>' == mm_traits.remove_defaults(mm_i2d)
117+
# mm_wstr2d = global_ns.typedef('mm_wstr2d')
118+
# assert 'multimap<const std::wstring, double>' == \
119+
# mm_traits.remove_defaults(mm_wstr2d)
120+
# mm_v_i2mm_wstr2d = global_ns.typedef('mm_v_i2mm_wstr2d')
121+
# assert ('multimap<const std::vector<int>, ' +
122+
# 'const std::multimap<const std::wstring, double>>') == \
123+
# mm_traits.remove_defaults(mm_v_i2mm_wstr2d)
124+
125+
126+
# def test_hash_set(global_ns):
127+
# hs_v_int = global_ns.typedef('hs_v_int')
128+
# hs_traits = declarations.unordered_set_traits
129+
# name = 'unordered_set'
130+
# assert (name + '<std::vector<int>>') == \
131+
# hs_traits.remove_defaults(hs_v_int), \
132+
# hs_traits.remove_defaults(hs_v_int)
133+
# hs_string = global_ns.typedef('hs_string')
134+
# assert (name + '<std::string>') == \
135+
# hs_traits.remove_defaults(hs_string)
136+
137+
138+
# def test_hash_multiset(global_ns):
139+
# mhs_v_int = global_ns.typedef('mhs_v_int')
140+
# mhs_traits = declarations.unordered_multiset_traits
141+
# name = 'unordered_multiset'
142+
# assert (name + '<std::vector<int>>') == \
143+
# mhs_traits.remove_defaults(mhs_v_int)
144+
# mhs_string = global_ns.typedef('mhs_string')
145+
# assert (name + '<std::string>') == \
146+
# mhs_traits.remove_defaults(mhs_string)
147+
148+
149+
# def test_hash_map(global_ns):
150+
# hm_i2d = global_ns.typedef('hm_i2d')
151+
# hm_traits = declarations.unordered_map_traits
152+
# name = 'unordered_map'
153+
# assert (name + '<int, double>') == \
154+
# hm_traits.remove_defaults(hm_i2d)
155+
# hm_wstr2d = global_ns.typedef('hm_wstr2d')
156+
# assert (name + '<std::wstring, double>') == \
157+
# hm_traits.remove_defaults(hm_wstr2d)
158+
159+
160+
# def test_hash_multimap(global_ns):
161+
# hmm_i2d = global_ns.typedef('hmm_i2d')
162+
# hmm_traits = declarations.unordered_multimap_traits
163+
# name = 'unordered_multimap'
164+
# assert (name + '<int, double>') == \
165+
# hmm_traits.remove_defaults(hmm_i2d)
166+
# hmm_wstr2d = global_ns.typedef('hmm_wstr2d')
167+
# assert (name + '<const std::wstring, double>') == \
168+
# hmm_traits.remove_defaults(hmm_wstr2d)
169+
170+
# hmm_v_i2mm_wstr2d = global_ns.typedef('hmm_v_i2mm_wstr2d')
171+
172+
# hmm_traits_value = hmm_traits.remove_defaults(hmm_v_i2mm_wstr2d)
173+
174+
# possible_values = (
175+
# name + '<const std::vector<int>, ' +
176+
# 'const __gnu_cxx::' + name + '<const std::wstring, double>>',
177+
# name + '<const std::vector<int>, ' +
178+
# 'const std::' + utils.get_tr1(hmm_traits_value) + name +
179+
# '<const std::wstring, double>>',
180+
# name + '<const std::vector<int>, ' +
181+
# 'const stdext::' + name + '<const std::wstring, double>>')
182+
183+
# assert hmm_traits_value in possible_values, hmm_traits_value

0 commit comments

Comments
 (0)