@@ -46,145 +46,147 @@ def srcdir(self, dirname):
46
46
def complement (self , compile_commands ):
47
47
'''
48
48
The output is returned sorted in the following order: file, directory,
49
- command .
49
+ arguments .
50
50
'''
51
51
database = InMemoryCompilationDatabase (compile_commands )
52
52
result = list (Complementer ().complement ([[database ]])[0 ]
53
53
.get_all_compile_commands ())
54
- result .sort (key = operator .attrgetter ('file' , 'directory' , 'command ' ))
54
+ result .sort (key = operator .attrgetter ('file' , 'directory' , 'arguments ' ))
55
55
return result
56
56
57
57
def test_01 (self ):
58
58
test_srcdir = self .srcdir ('test_01' )
59
59
result = self .complement ([
60
60
CompileCommand (
61
61
directory = test_srcdir ,
62
- command = ['clang++' , '-DA=1' ],
62
+ arguments = ['clang++' , '-DA=1' ],
63
63
file = 'a.cpp' ),
64
64
CompileCommand (
65
65
directory = test_srcdir ,
66
- command = ['clang++' , '-DB=1' ],
66
+ arguments = ['clang++' , '-DB=1' ],
67
67
file = 'b.cpp' ),
68
68
])
69
69
70
70
self .assertEqual (1 , len (result ))
71
71
self .assertEqual ('a.hpp' , result [0 ].file )
72
- self .assertEqual (['clang++' , '-DA=1' ], result [0 ].command )
72
+ self .assertEqual (['clang++' , '-DA=1' ], result [0 ].arguments )
73
73
74
74
def test_02 (self ):
75
75
test_srcdir = self .srcdir ('test_02' )
76
76
result = self .complement ([
77
77
CompileCommand (
78
78
directory = test_srcdir ,
79
- command = ['clang++' , '-Iinclude' , '-DA=1' ],
79
+ arguments = ['clang++' , '-Iinclude' , '-DA=1' ],
80
80
file = 'src/a.cpp' ),
81
81
CompileCommand (
82
82
directory = test_srcdir ,
83
- command = ['clang++' , '-Iinclude' , '-DB=1' ],
83
+ arguments = ['clang++' , '-Iinclude' , '-DB=1' ],
84
84
file = 'src/b.cpp' ),
85
85
])
86
86
self .assertEqual (2 , len (result ))
87
87
self .assertEqual ('include/a/a.hpp' , result [0 ].file )
88
- self .assertEqual (['clang++' , '-Iinclude' , '-DA=1' ], result [0 ].command )
88
+ self .assertEqual (['clang++' , '-Iinclude' , '-DA=1' ],
89
+ result [0 ].arguments )
89
90
self .assertEqual ('include/b/b.hpp' , result [1 ].file )
90
- self .assertEqual (['clang++' , '-Iinclude' , '-DB=1' ], result [1 ].command )
91
+ self .assertEqual (['clang++' , '-Iinclude' , '-DB=1' ],
92
+ result [1 ].arguments )
91
93
92
94
def test_03 (self ):
93
95
test_srcdir = self .srcdir ('test_03' )
94
96
result = self .complement ([
95
97
CompileCommand (
96
98
directory = test_srcdir ,
97
- command = ['clang++' , '-DAB=1' ],
99
+ arguments = ['clang++' , '-DAB=1' ],
98
100
file = 'a_b.cpp' ),
99
101
CompileCommand (
100
102
directory = test_srcdir ,
101
- command = ['clang++' , '-DA=1' ],
103
+ arguments = ['clang++' , '-DA=1' ],
102
104
file = 'a.cpp' ),
103
105
CompileCommand (
104
106
directory = test_srcdir ,
105
- command = ['clang++' , '-DB=1' ],
107
+ arguments = ['clang++' , '-DB=1' ],
106
108
file = 'b.cpp' ),
107
109
])
108
110
self .assertEqual (4 , len (result ))
109
111
self .assertEqual ('a.hpp' , result [0 ].file )
110
- self .assertEqual (['clang++' , '-DA=1' ], result [0 ].command )
112
+ self .assertEqual (['clang++' , '-DA=1' ], result [0 ].arguments )
111
113
self .assertEqual ('a_private.hpp' , result [1 ].file )
112
- self .assertEqual (['clang++' , '-DA=1' ], result [1 ].command )
114
+ self .assertEqual (['clang++' , '-DA=1' ], result [1 ].arguments )
113
115
self .assertEqual ('b.hpp' , result [2 ].file )
114
- self .assertEqual (['clang++' , '-DB=1' ], result [2 ].command )
116
+ self .assertEqual (['clang++' , '-DB=1' ], result [2 ].arguments )
115
117
self .assertEqual ('b_private.hpp' , result [3 ].file )
116
- self .assertEqual (['clang++' , '-DB=1' ], result [3 ].command )
118
+ self .assertEqual (['clang++' , '-DB=1' ], result [3 ].arguments )
117
119
118
120
def test_04 (self ):
119
121
test_srcdir = self .srcdir ('test_04' )
120
122
result = self .complement ([
121
123
CompileCommand (
122
124
directory = test_srcdir ,
123
- command = ['clang++' , '-DA=1' ],
125
+ arguments = ['clang++' , '-DA=1' ],
124
126
file = 'a.cpp' ),
125
127
CompileCommand (
126
128
directory = test_srcdir ,
127
- command = ['clang++' , '-DB=1' ],
129
+ arguments = ['clang++' , '-DB=1' ],
128
130
file = 'b.cpp' ),
129
131
])
130
132
self .assertEqual (4 , len (result ))
131
133
self .assertEqual ('a.hpp' , result [0 ].file )
132
- self .assertEqual (['clang++' , '-DA=1' ], result [0 ].command )
134
+ self .assertEqual (['clang++' , '-DA=1' ], result [0 ].arguments )
133
135
self .assertEqual ('a.ipp' , result [1 ].file )
134
- self .assertEqual (['clang++' , '-DA=1' ], result [1 ].command )
136
+ self .assertEqual (['clang++' , '-DA=1' ], result [1 ].arguments )
135
137
self .assertEqual ('b.hpp' , result [2 ].file )
136
- self .assertEqual (['clang++' , '-DB=1' ], result [2 ].command )
138
+ self .assertEqual (['clang++' , '-DB=1' ], result [2 ].arguments )
137
139
self .assertEqual ('b.ipp' , result [3 ].file )
138
- self .assertEqual (['clang++' , '-DB=1' ], result [3 ].command )
140
+ self .assertEqual (['clang++' , '-DB=1' ], result [3 ].arguments )
139
141
140
142
def test_05 (self ):
141
143
test_srcdir = self .srcdir ('test_05' )
142
144
result = self .complement ([
143
145
CompileCommand (
144
146
directory = test_srcdir ,
145
- command = ['clang++' , '-DLATIN=1' ],
147
+ arguments = ['clang++' , '-DLATIN=1' ],
146
148
file = 'latin-1-á.cpp' ),
147
149
CompileCommand (
148
150
directory = test_srcdir ,
149
- command = ['clang++' , '-DUTF=8' ],
151
+ arguments = ['clang++' , '-DUTF=8' ],
150
152
file = 'utf-8-á.cpp' ),
151
153
])
152
154
self .assertEqual (2 , len (result ))
153
155
self .assertEqual ('latin-1-á.hpp' , result [0 ].file )
154
- self .assertEqual (['clang++' , '-DLATIN=1' ], result [0 ].command )
156
+ self .assertEqual (['clang++' , '-DLATIN=1' ], result [0 ].arguments )
155
157
self .assertEqual ('utf-8-á.hpp' , result [1 ].file )
156
- self .assertEqual (['clang++' , '-DUTF=8' ], result [1 ].command )
158
+ self .assertEqual (['clang++' , '-DUTF=8' ], result [1 ].arguments )
157
159
158
160
def test_06 (self ):
159
161
test_srcdir = self .srcdir ('test_06' )
160
162
result = self .complement ([
161
163
CompileCommand (
162
164
directory = test_srcdir ,
163
- command = ['clang++' , '-Iinclude' , '-Iinclude/a' ],
165
+ arguments = ['clang++' , '-Iinclude' , '-Iinclude/a' ],
164
166
file = 'a.cpp' ),
165
167
])
166
168
self .assertEqual (1 , len (result ))
167
169
self .assertEqual ('include/a/a' , result [0 ].file )
168
170
self .assertEqual (['clang++' , '-Iinclude' , '-Iinclude/a' ],
169
- result [0 ].command )
171
+ result [0 ].arguments )
170
172
171
173
def test_07 (self ):
172
174
test_srcdir = self .srcdir ('test_07' )
173
175
result = self .complement ([
174
176
CompileCommand (
175
177
directory = test_srcdir ,
176
- command = ['clang++' , '-DA=1' , '-I.' ],
178
+ arguments = ['clang++' , '-DA=1' , '-I.' ],
177
179
file = 'a.cpp' ),
178
180
CompileCommand (
179
181
directory = test_srcdir ,
180
- command = ['clang++' , '-DB=1' , '-I.' ],
182
+ arguments = ['clang++' , '-DB=1' , '-I.' ],
181
183
file = 'b.cpp' ),
182
184
])
183
185
self .assertEqual (2 , len (result ))
184
186
self .assertEqual ('a.hpp' , result [0 ].file )
185
- self .assertEqual (['clang++' , '-DB=1' , '-I.' ], result [0 ].command )
187
+ self .assertEqual (['clang++' , '-DB=1' , '-I.' ], result [0 ].arguments )
186
188
self .assertEqual ('quoted_a.hpp' , result [1 ].file )
187
- self .assertEqual (['clang++' , '-DB=1' , '-I.' ], result [1 ].command )
189
+ self .assertEqual (['clang++' , '-DB=1' , '-I.' ], result [1 ].arguments )
188
190
189
191
190
192
if __name__ == "__main__" :
0 commit comments