Skip to content

Commit 6d84042

Browse files
committed
test
1 parent 688576e commit 6d84042

File tree

8 files changed

+189
-160
lines changed

8 files changed

+189
-160
lines changed

.github/workflows/tests.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,4 +102,4 @@ jobs:
102102
- name: Run tests
103103
run: |
104104
export PATH=~/castxml/bin:$PATH
105-
pytest tests
105+
pytest tests/test_remove_template_defaults.py

src/pygccxml/declarations/container_traits.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ def normalize(self, type_str):
3030

3131
def replace_basic_string(self, cls_name):
3232

33+
print("replace_basic_string", cls_name)
34+
3335
# Take the lists of all possible string variations
3436
# and clean them up by replacing ::std by std.
3537
str_eq = [

src/pygccxml/declarations/pattern_parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -192,11 +192,11 @@ def join(self, name, args, arg_separator=None):
192192
args = [_f for _f in args if _f]
193193

194194
if not args:
195-
args_str = ' '
195+
args_str = ''
196196
elif len(args) == 1:
197-
args_str = ' ' + args[0] + ' '
197+
args_str = '' + args[0] + ''
198198
else:
199-
args_str = ' ' + arg_separator.join(args) + ' '
199+
args_str = '' + arg_separator.join(args) + ''
200200

201201
return ''.join([name, self.__begin, args_str, self.__end])
202202

src/pygccxml/parser/patcher.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,32 @@ def remove_spaces_from_template_names(decls):
314314
after hash<std::vector<int>>
315315
"""
316316
for decl in decls:
317+
# if "v_int" in decl.name:
318+
# print("------")
319+
# print(
320+
# decl.decl_type,
321+
# type(decl.decl_type),
322+
# decl.decl_type.declaration.name)
323+
# if "vector" in decl.name:
324+
# print("------")
325+
# print("vvvvvvv", decl, decl.name)
317326
decl.name = decl.name.replace(" >", ">").replace("< ", "<")
318327
decl.partial_name = \
319328
decl.partial_name.replace(" >", ">").replace("< ", "<")
329+
if isinstance(decl, declarations.typedef_t) and \
330+
isinstance(decl.decl_type, declarations.declarated_t):
331+
decl.decl_type.declaration.name = fix_spaces(
332+
decl.decl_type.declaration.name)
333+
decl.decl_type.declaration.partial_name = fix_spaces(
334+
decl.decl_type.declaration.partial_name)
335+
# if "v_int" in decl.name:
336+
# print(
337+
# decl.decl_type,
338+
# type(decl.decl_type),
339+
# decl.decl_type.declaration.name)
340+
# if "vector" in decl.name:
341+
# print("vvvvvvv", decl, decl.name)
342+
343+
344+
def fix_spaces(val):
345+
return val.replace(" >", ">").replace("< ", "<")

tests/test_pattern_parser.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ def test_split():
6666
6767
"""
6868

69-
p1 = "std::vector<char, std::allocator<char> >"
70-
p2 = "std::vector<int, std::allocator<int> >"
69+
p1 = "std::vector<char, std::allocator<char>>"
70+
p2 = "std::vector<int, std::allocator<int>>"
7171
args_list = [
7272
"const std::basic_string<char> &", "const int &", "const double &"]
7373

tests/test_remove_template_defaults.py

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

0 commit comments

Comments
 (0)