@@ -36,237 +36,193 @@ static void check_strvec_loc(const char *loc, struct strvec *vec, ...)
36
36
check_pointer_eq (vec -> v [nr ], NULL );
37
37
}
38
38
39
- static void t_static_init ( void )
39
+ int cmd_main ( int argc , const char * * argv )
40
40
{
41
- struct strvec vec = STRVEC_INIT ;
42
- check_pointer_eq (vec .v , empty_strvec );
43
- check_uint (vec .nr , = = , 0 );
44
- check_uint (vec .alloc , = = , 0 );
45
- }
41
+ if_test ("static initialization" ) {
42
+ struct strvec vec = STRVEC_INIT ;
43
+ check_pointer_eq (vec .v , empty_strvec );
44
+ check_uint (vec .nr , = = , 0 );
45
+ check_uint (vec .alloc , = = , 0 );
46
+ }
46
47
47
- static void t_dynamic_init (void )
48
- {
49
- struct strvec vec ;
50
- strvec_init (& vec );
51
- check_pointer_eq (vec .v , empty_strvec );
52
- check_uint (vec .nr , = = , 0 );
53
- check_uint (vec .alloc , = = , 0 );
54
- }
48
+ if_test ("dynamic initialization" ) {
49
+ struct strvec vec ;
50
+ strvec_init (& vec );
51
+ check_pointer_eq (vec .v , empty_strvec );
52
+ check_uint (vec .nr , = = , 0 );
53
+ check_uint (vec .alloc , = = , 0 );
54
+ }
55
55
56
- static void t_clear (void )
57
- {
58
- struct strvec vec = STRVEC_INIT ;
59
- strvec_push (& vec , "foo" );
60
- strvec_clear (& vec );
61
- check_pointer_eq (vec .v , empty_strvec );
62
- check_uint (vec .nr , = = , 0 );
63
- check_uint (vec .alloc , = = , 0 );
64
- }
56
+ if_test ("clear" ) {
57
+ struct strvec vec = STRVEC_INIT ;
58
+ strvec_push (& vec , "foo" );
59
+ strvec_clear (& vec );
60
+ check_pointer_eq (vec .v , empty_strvec );
61
+ check_uint (vec .nr , = = , 0 );
62
+ check_uint (vec .alloc , = = , 0 );
63
+ }
65
64
66
- static void t_push (void )
67
- {
68
- struct strvec vec = STRVEC_INIT ;
65
+ if_test ("push" ) {
66
+ struct strvec vec = STRVEC_INIT ;
69
67
70
- strvec_push (& vec , "foo" );
71
- check_strvec (& vec , "foo" , NULL );
68
+ strvec_push (& vec , "foo" );
69
+ check_strvec (& vec , "foo" , NULL );
72
70
73
- strvec_push (& vec , "bar" );
74
- check_strvec (& vec , "foo" , "bar" , NULL );
71
+ strvec_push (& vec , "bar" );
72
+ check_strvec (& vec , "foo" , "bar" , NULL );
75
73
76
- strvec_clear (& vec );
77
- }
74
+ strvec_clear (& vec );
75
+ }
78
76
79
- static void t_pushf (void )
80
- {
81
- struct strvec vec = STRVEC_INIT ;
82
- strvec_pushf (& vec , "foo: %d" , 1 );
83
- check_strvec (& vec , "foo: 1" , NULL );
84
- strvec_clear (& vec );
85
- }
77
+ if_test ("pushf" ) {
78
+ struct strvec vec = STRVEC_INIT ;
79
+ strvec_pushf (& vec , "foo: %d" , 1 );
80
+ check_strvec (& vec , "foo: 1" , NULL );
81
+ strvec_clear (& vec );
82
+ }
86
83
87
- static void t_pushl (void )
88
- {
89
- struct strvec vec = STRVEC_INIT ;
90
- strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
91
- check_strvec (& vec , "foo" , "bar" , "baz" , NULL );
92
- strvec_clear (& vec );
93
- }
84
+ if_test ("pushl" ) {
85
+ struct strvec vec = STRVEC_INIT ;
86
+ strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
87
+ check_strvec (& vec , "foo" , "bar" , "baz" , NULL );
88
+ strvec_clear (& vec );
89
+ }
94
90
95
- static void t_pushv (void )
96
- {
97
- const char * strings [] = {
98
- "foo" , "bar" , "baz" , NULL ,
99
- };
100
- struct strvec vec = STRVEC_INIT ;
91
+ if_test ("pushv" ) {
92
+ const char * strings [] = {
93
+ "foo" , "bar" , "baz" , NULL ,
94
+ };
95
+ struct strvec vec = STRVEC_INIT ;
101
96
102
- strvec_pushv (& vec , strings );
103
- check_strvec (& vec , "foo" , "bar" , "baz" , NULL );
97
+ strvec_pushv (& vec , strings );
98
+ check_strvec (& vec , "foo" , "bar" , "baz" , NULL );
104
99
105
- strvec_clear (& vec );
106
- }
100
+ strvec_clear (& vec );
101
+ }
107
102
108
- static void t_replace_at_head (void )
109
- {
110
- struct strvec vec = STRVEC_INIT ;
111
- strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
112
- strvec_replace (& vec , 0 , "replaced" );
113
- check_strvec (& vec , "replaced" , "bar" , "baz" , NULL );
114
- strvec_clear (& vec );
115
- }
103
+ if_test ("replace at head" ) {
104
+ struct strvec vec = STRVEC_INIT ;
105
+ strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
106
+ strvec_replace (& vec , 0 , "replaced" );
107
+ check_strvec (& vec , "replaced" , "bar" , "baz" , NULL );
108
+ strvec_clear (& vec );
109
+ }
116
110
117
- static void t_replace_at_tail (void )
118
- {
119
- struct strvec vec = STRVEC_INIT ;
120
- strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
121
- strvec_replace (& vec , 2 , "replaced" );
122
- check_strvec (& vec , "foo" , "bar" , "replaced" , NULL );
123
- strvec_clear (& vec );
124
- }
111
+ if_test ("replace at tail" ) {
112
+ struct strvec vec = STRVEC_INIT ;
113
+ strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
114
+ strvec_replace (& vec , 2 , "replaced" );
115
+ check_strvec (& vec , "foo" , "bar" , "replaced" , NULL );
116
+ strvec_clear (& vec );
117
+ }
125
118
126
- static void t_replace_in_between (void )
127
- {
128
- struct strvec vec = STRVEC_INIT ;
129
- strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
130
- strvec_replace (& vec , 1 , "replaced" );
131
- check_strvec (& vec , "foo" , "replaced" , "baz" , NULL );
132
- strvec_clear (& vec );
133
- }
119
+ if_test ("replace in between" ) {
120
+ struct strvec vec = STRVEC_INIT ;
121
+ strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
122
+ strvec_replace (& vec , 1 , "replaced" );
123
+ check_strvec (& vec , "foo" , "replaced" , "baz" , NULL );
124
+ strvec_clear (& vec );
125
+ }
134
126
135
- static void t_replace_with_substring (void )
136
- {
137
- struct strvec vec = STRVEC_INIT ;
138
- strvec_pushl (& vec , "foo" , NULL );
139
- strvec_replace (& vec , 0 , vec .v [0 ] + 1 );
140
- check_strvec (& vec , "oo" , NULL );
141
- strvec_clear (& vec );
142
- }
127
+ if_test ("replace with substring" ) {
128
+ struct strvec vec = STRVEC_INIT ;
129
+ strvec_pushl (& vec , "foo" , NULL );
130
+ strvec_replace (& vec , 0 , vec .v [0 ] + 1 );
131
+ check_strvec (& vec , "oo" , NULL );
132
+ strvec_clear (& vec );
133
+ }
143
134
144
- static void t_remove_at_head (void )
145
- {
146
- struct strvec vec = STRVEC_INIT ;
147
- strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
148
- strvec_remove (& vec , 0 );
149
- check_strvec (& vec , "bar" , "baz" , NULL );
150
- strvec_clear (& vec );
151
- }
135
+ if_test ("remove at head" ) {
136
+ struct strvec vec = STRVEC_INIT ;
137
+ strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
138
+ strvec_remove (& vec , 0 );
139
+ check_strvec (& vec , "bar" , "baz" , NULL );
140
+ strvec_clear (& vec );
141
+ }
152
142
153
- static void t_remove_at_tail (void )
154
- {
155
- struct strvec vec = STRVEC_INIT ;
156
- strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
157
- strvec_remove (& vec , 2 );
158
- check_strvec (& vec , "foo" , "bar" , NULL );
159
- strvec_clear (& vec );
160
- }
143
+ if_test ("remove at tail" ) {
144
+ struct strvec vec = STRVEC_INIT ;
145
+ strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
146
+ strvec_remove (& vec , 2 );
147
+ check_strvec (& vec , "foo" , "bar" , NULL );
148
+ strvec_clear (& vec );
149
+ }
161
150
162
- static void t_remove_in_between (void )
163
- {
164
- struct strvec vec = STRVEC_INIT ;
165
- strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
166
- strvec_remove (& vec , 1 );
167
- check_strvec (& vec , "foo" , "baz" , NULL );
168
- strvec_clear (& vec );
169
- }
151
+ if_test ("remove in between" ) {
152
+ struct strvec vec = STRVEC_INIT ;
153
+ strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
154
+ strvec_remove (& vec , 1 );
155
+ check_strvec (& vec , "foo" , "baz" , NULL );
156
+ strvec_clear (& vec );
157
+ }
170
158
171
- static void t_pop_empty_array (void )
172
- {
173
- struct strvec vec = STRVEC_INIT ;
174
- strvec_pop (& vec );
175
- check_strvec (& vec , NULL );
176
- strvec_clear (& vec );
177
- }
159
+ if_test ("pop with empty array" ) {
160
+ struct strvec vec = STRVEC_INIT ;
161
+ strvec_pop (& vec );
162
+ check_strvec (& vec , NULL );
163
+ strvec_clear (& vec );
164
+ }
178
165
179
- static void t_pop_non_empty_array (void )
180
- {
181
- struct strvec vec = STRVEC_INIT ;
182
- strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
183
- strvec_pop (& vec );
184
- check_strvec (& vec , "foo" , "bar" , NULL );
185
- strvec_clear (& vec );
186
- }
166
+ if_test ("pop with non-empty array" ) {
167
+ struct strvec vec = STRVEC_INIT ;
168
+ strvec_pushl (& vec , "foo" , "bar" , "baz" , NULL );
169
+ strvec_pop (& vec );
170
+ check_strvec (& vec , "foo" , "bar" , NULL );
171
+ strvec_clear (& vec );
172
+ }
187
173
188
- static void t_split_empty_string (void )
189
- {
190
- struct strvec vec = STRVEC_INIT ;
191
- strvec_split (& vec , "" );
192
- check_strvec (& vec , NULL );
193
- strvec_clear (& vec );
194
- }
174
+ if_test ("split empty string" ) {
175
+ struct strvec vec = STRVEC_INIT ;
176
+ strvec_split (& vec , "" );
177
+ check_strvec (& vec , NULL );
178
+ strvec_clear (& vec );
179
+ }
195
180
196
- static void t_split_single_item (void )
197
- {
198
- struct strvec vec = STRVEC_INIT ;
199
- strvec_split (& vec , "foo" );
200
- check_strvec (& vec , "foo" , NULL );
201
- strvec_clear (& vec );
202
- }
181
+ if_test ("split single item" ) {
182
+ struct strvec vec = STRVEC_INIT ;
183
+ strvec_split (& vec , "foo" );
184
+ check_strvec (& vec , "foo" , NULL );
185
+ strvec_clear (& vec );
186
+ }
203
187
204
- static void t_split_multiple_items (void )
205
- {
206
- struct strvec vec = STRVEC_INIT ;
207
- strvec_split (& vec , "foo bar baz" );
208
- check_strvec (& vec , "foo" , "bar" , "baz" , NULL );
209
- strvec_clear (& vec );
210
- }
188
+ if_test ("split multiple items" ) {
189
+ struct strvec vec = STRVEC_INIT ;
190
+ strvec_split (& vec , "foo bar baz" );
191
+ check_strvec (& vec , "foo" , "bar" , "baz" , NULL );
192
+ strvec_clear (& vec );
193
+ }
211
194
212
- static void t_split_whitespace_only (void )
213
- {
214
- struct strvec vec = STRVEC_INIT ;
215
- strvec_split (& vec , " \t\n" );
216
- check_strvec (& vec , NULL );
217
- strvec_clear (& vec );
218
- }
195
+ if_test ("split whitespace only" ) {
196
+ struct strvec vec = STRVEC_INIT ;
197
+ strvec_split (& vec , " \t\n" );
198
+ check_strvec (& vec , NULL );
199
+ strvec_clear (& vec );
200
+ }
219
201
220
- static void t_split_multiple_consecutive_whitespaces (void )
221
- {
222
- struct strvec vec = STRVEC_INIT ;
223
- strvec_split (& vec , "foo\n\t bar" );
224
- check_strvec (& vec , "foo" , "bar" , NULL );
225
- strvec_clear (& vec );
226
- }
202
+ if_test ("split multiple consecutive whitespaces" ) {
203
+ struct strvec vec = STRVEC_INIT ;
204
+ strvec_split (& vec , "foo\n\t bar" );
205
+ check_strvec (& vec , "foo" , "bar" , NULL );
206
+ strvec_clear (& vec );
207
+ }
227
208
228
- static void t_detach (void )
229
- {
230
- struct strvec vec = STRVEC_INIT ;
231
- const char * * detached ;
209
+ if_test ("detach" ) {
210
+ struct strvec vec = STRVEC_INIT ;
211
+ const char * * detached ;
232
212
233
- strvec_push (& vec , "foo" );
213
+ strvec_push (& vec , "foo" );
234
214
235
- detached = strvec_detach (& vec );
236
- check_str (detached [0 ], "foo" );
237
- check_pointer_eq (detached [1 ], NULL );
215
+ detached = strvec_detach (& vec );
216
+ check_str (detached [0 ], "foo" );
217
+ check_pointer_eq (detached [1 ], NULL );
238
218
239
- check_pointer_eq (vec .v , empty_strvec );
240
- check_uint (vec .nr , = = , 0 );
241
- check_uint (vec .alloc , = = , 0 );
219
+ check_pointer_eq (vec .v , empty_strvec );
220
+ check_uint (vec .nr , = = , 0 );
221
+ check_uint (vec .alloc , = = , 0 );
242
222
243
- free ((char * ) detached [0 ]);
244
- free (detached );
245
- }
223
+ free ((char * ) detached [0 ]);
224
+ free (detached );
225
+ }
246
226
247
- int cmd_main (int argc , const char * * argv )
248
- {
249
- TEST (t_static_init (), "static initialization" );
250
- TEST (t_dynamic_init (), "dynamic initialization" );
251
- TEST (t_clear (), "clear" );
252
- TEST (t_push (), "push" );
253
- TEST (t_pushf (), "pushf" );
254
- TEST (t_pushl (), "pushl" );
255
- TEST (t_pushv (), "pushv" );
256
- TEST (t_replace_at_head (), "replace at head" );
257
- TEST (t_replace_in_between (), "replace in between" );
258
- TEST (t_replace_at_tail (), "replace at tail" );
259
- TEST (t_replace_with_substring (), "replace with substring" );
260
- TEST (t_remove_at_head (), "remove at head" );
261
- TEST (t_remove_in_between (), "remove in between" );
262
- TEST (t_remove_at_tail (), "remove at tail" );
263
- TEST (t_pop_empty_array (), "pop with empty array" );
264
- TEST (t_pop_non_empty_array (), "pop with non-empty array" );
265
- TEST (t_split_empty_string (), "split empty string" );
266
- TEST (t_split_single_item (), "split single item" );
267
- TEST (t_split_multiple_items (), "split multiple items" );
268
- TEST (t_split_whitespace_only (), "split whitespace only" );
269
- TEST (t_split_multiple_consecutive_whitespaces (), "split multiple consecutive whitespaces" );
270
- TEST (t_detach (), "detach" );
271
227
return test_done ();
272
228
}
0 commit comments