@@ -77,28 +77,31 @@ test_message_id(void **state)
7777 struct np_other_client * sess = st -> oc_sess ;
7878
7979 /* send malformed message */
80- asprintf (& msg ,
80+ rc = asprintf (& msg ,
8181 "<rpc xmlns=\"urn&ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
8282 " <discard-changes/>"
8383 "</rpc>" , sess -> msgid );
84+ assert_int_not_equal (rc , -1 );
8485 rc = oc_send_msg (sess , msg );
8586 assert_int_equal (rc , 0 );
8687 free (msg );
8788 rc = oc_recv_msg (sess , & msg );
8889 assert_int_equal (rc , 0 );
8990
9091 /* then send valid message */
91- asprintf (& msg ,
92+ rc = asprintf (& msg ,
9293 "<rpc xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
9394 " <discard-changes/>"
9495 "</rpc>" , sess -> msgid );
96+ assert_int_not_equal (rc , -1 );
9597 rc = oc_send_msg (sess , msg );
9698 assert_int_equal (rc , 0 );
9799 free (msg );
98100 rc = oc_recv_msg (sess , & msg );
99101 assert_int_equal (rc , 0 );
100- asprintf (& exp , "<rpc-reply xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\""
102+ rc = asprintf (& exp , "<rpc-reply xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\""
101103 " message-id=\"%" PRIu64 "\"><ok/></rpc-reply>" , sess -> msgid );
104+ assert_int_not_equal (rc , -1 );
102105 assert_string_equal (msg , exp );
103106 free (exp );
104107}
@@ -130,10 +133,11 @@ test_missing_attribute(void **state)
130133 "</error-info></rpc-error></rpc-reply>" );
131134
132135 /* missing attribute 'xmlns' in the rpc layer */
133- asprintf (& msg ,
136+ rc = asprintf (& msg ,
134137 "<rpc message-id=\"%" PRIu64 "\">"
135138 " <discard-changes/>"
136139 "</rpc>" , sess -> msgid );
140+ assert_int_not_equal (rc , -1 );
137141 rc = oc_send_msg (sess , msg );
138142 assert_int_equal (rc , 0 );
139143 free (msg );
@@ -149,7 +153,7 @@ test_missing_attribute(void **state)
149153 "</rpc-error></rpc-reply>" );
150154
151155 /* missing attribute 'select' in the protocol layer */
152- asprintf (& msg ,
156+ rc = asprintf (& msg ,
153157 "<rpc xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
154158 " <get-config>"
155159 " <source>"
@@ -158,19 +162,21 @@ test_missing_attribute(void **state)
158162 " <filter type=\"xpath\"/>"
159163 " </get-config>"
160164 "</rpc>" , sess -> msgid );
165+ assert_int_not_equal (rc , -1 );
161166 rc = oc_send_msg (sess , msg );
162167 assert_int_equal (rc , 0 );
163168 free (msg );
164169 rc = oc_recv_msg (sess , & msg );
165170 assert_int_equal (rc , 0 );
166- asprintf (& exp ,
171+ rc = asprintf (& exp ,
167172 "<rpc-reply xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\"><rpc-error>"
168173 "<error-type>protocol</error-type>"
169174 "<error-tag>missing-attribute</error-tag>"
170175 "<error-severity>error</error-severity>"
171176 "<error-message xml:lang=\"en\">An expected attribute is missing.</error-message>"
172177 "<error-info><bad-attribute>select</bad-attribute>"
173178 "<bad-element>filter</bad-element></error-info></rpc-error></rpc-reply>" , sess -> msgid );
179+ assert_int_not_equal (rc , -1 );
174180 assert_string_equal (msg , exp );
175181 free (exp );
176182}
@@ -186,32 +192,35 @@ test_unknown_attribute(void **state)
186192 /* unknown attribute 'att' in the rpc layer,
187193 * but in this case it's ok because rfc 6241 is benevolent towards attributes.
188194 */
189- asprintf (& msg ,
195+ rc = asprintf (& msg ,
190196 "<rpc att=\"4\" xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
191197 " <discard-changes/>"
192198 "</rpc>" , sess -> msgid );
199+ assert_int_not_equal (rc , -1 );
193200 rc = oc_send_msg (sess , msg );
194201 assert_int_equal (rc , 0 );
195202 free (msg );
196203 rc = oc_recv_msg (sess , & msg );
197204 assert_int_equal (rc , 0 );
198- asprintf (& exp ,
205+ rc = asprintf (& exp ,
199206 "<rpc-reply xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" att=\"4\" message-id=\"%" PRIu64 "\">"
200207 "<ok/></rpc-reply>" , sess -> msgid );
208+ assert_int_not_equal (rc , -1 );
201209 assert_string_equal (msg , exp );
202210 free (exp );
203211
204212 /* unknown attribute 'att' in the protocol layer: annotation not found */
205- asprintf (& msg ,
213+ rc = asprintf (& msg ,
206214 "<rpc xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
207215 " <discard-changes xmlns:el=\"urn:ietf:params:xml:ns:netconf:base:1.0\" el:att=\"4\"/>"
208216 "</rpc>" , sess -> msgid );
217+ assert_int_not_equal (rc , -1 );
209218 rc = oc_send_msg (sess , msg );
210219 assert_int_equal (rc , 0 );
211220 free (msg );
212221 rc = oc_recv_msg (sess , & msg );
213222 assert_int_equal (rc , 0 );
214- asprintf (& exp ,
223+ rc = asprintf (& exp ,
215224 "<rpc-reply xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\"><rpc-error>"
216225 "<error-type>protocol</error-type>"
217226 "<error-tag>unknown-attribute</error-tag>"
@@ -220,20 +229,22 @@ test_unknown_attribute(void **state)
220229 "<error-info><bad-attribute>att</bad-attribute>"
221230 "<bad-element>discard-changes</bad-element></error-info>"
222231 "</rpc-error></rpc-reply>" , sess -> msgid );
232+ assert_int_not_equal (rc , -1 );
223233 assert_string_equal (msg , exp );
224234 free (exp );
225235
226236 /* unknown attribute 'att' in the protocol layer: missing prefix */
227- asprintf (& msg ,
237+ rc = asprintf (& msg ,
228238 "<rpc xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
229239 " <discard-changes att=\"4\"/>"
230240 "</rpc>" , sess -> msgid );
241+ assert_int_not_equal (rc , -1 );
231242 rc = oc_send_msg (sess , msg );
232243 assert_int_equal (rc , 0 );
233244 free (msg );
234245 rc = oc_recv_msg (sess , & msg );
235246 assert_int_equal (rc , 0 );
236- asprintf (& exp ,
247+ rc = asprintf (& exp ,
237248 "<rpc-reply xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\"><rpc-error>"
238249 "<error-type>protocol</error-type>"
239250 "<error-tag>unknown-attribute</error-tag>"
@@ -242,20 +253,22 @@ test_unknown_attribute(void **state)
242253 "<error-info><bad-attribute>att</bad-attribute>"
243254 "<bad-element>discard-changes</bad-element></error-info>"
244255 "</rpc-error></rpc-reply>" , sess -> msgid );
256+ assert_int_not_equal (rc , -1 );
245257 assert_string_equal (msg , exp );
246258 free (exp );
247259
248260 /* unknown attribute 'att' in the protocol layer: unknown XML prefix */
249- asprintf (& msg ,
261+ rc = asprintf (& msg ,
250262 "<rpc xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
251263 " <discard-changes el:att=\"4\"/>"
252264 "</rpc>" , sess -> msgid );
265+ assert_int_not_equal (rc , -1 );
253266 rc = oc_send_msg (sess , msg );
254267 assert_int_equal (rc , 0 );
255268 free (msg );
256269 rc = oc_recv_msg (sess , & msg );
257270 assert_int_equal (rc , 0 );
258- asprintf (& exp ,
271+ rc = asprintf (& exp ,
259272 "<rpc-reply xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\"><rpc-error>"
260273 "<error-type>protocol</error-type>"
261274 "<error-tag>unknown-attribute</error-tag>"
@@ -264,6 +277,7 @@ test_unknown_attribute(void **state)
264277 "<error-info><bad-attribute>att</bad-attribute>"
265278 "<bad-element>discard-changes</bad-element></error-info>"
266279 "</rpc-error></rpc-reply>" , sess -> msgid );
280+ assert_int_not_equal (rc , -1 );
267281 assert_string_equal (msg , exp );
268282 free (exp );
269283}
@@ -277,18 +291,19 @@ test_missing_element(void **state)
277291 struct np_other_client * sess = st -> oc_sess ;
278292
279293 /* missing element in 'edit-content' in the protocol layer: missing mandatory node in the choice-stmt */
280- asprintf (& msg ,
294+ rc = asprintf (& msg ,
281295 "<rpc xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
282296 " <edit-data xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-nmda\">"
283297 " <datastore xmlns:ds=\"urn:ietf:params:xml:ns:yang:ietf-datastores\">ds:running</datastore>"
284298 " </edit-data>"
285299 "</rpc>" , sess -> msgid );
300+ assert_int_not_equal (rc , -1 );
286301 rc = oc_send_msg (sess , msg );
287302 assert_int_equal (rc , 0 );
288303 free (msg );
289304 rc = oc_recv_msg (sess , & msg );
290305 assert_int_equal (rc , 0 );
291- asprintf (& exp ,
306+ rc = asprintf (& exp ,
292307 "<rpc-reply xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\"><rpc-error>"
293308 "<error-type>protocol</error-type>"
294309 "<error-tag>data-missing</error-tag>"
@@ -299,20 +314,22 @@ test_missing_element(void **state)
299314 "<error-info>"
300315 "<missing-choice xmlns=\"urn:ietf:params:xml:ns:yang:1\">edit-content</missing-choice>"
301316 "</error-info></rpc-error></rpc-reply>" , sess -> msgid );
317+ assert_int_not_equal (rc , -1 );
302318 assert_string_equal (msg , exp );
303319 free (exp );
304320
305321 /* missing element 'identifier' in the protocol layer */
306- asprintf (& msg ,
322+ rc = asprintf (& msg ,
307323 "<rpc xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
308324 " <get-schema xmlns=\"urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring\"/>"
309325 "</rpc>" , sess -> msgid );
326+ assert_int_not_equal (rc , -1 );
310327 rc = oc_send_msg (sess , msg );
311328 assert_int_equal (rc , 0 );
312329 free (msg );
313330 rc = oc_recv_msg (sess , & msg );
314331 assert_int_equal (rc , 0 );
315- asprintf (& exp ,
332+ rc = asprintf (& exp ,
316333 "<rpc-reply xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\"><rpc-error>"
317334 "<error-type>protocol</error-type>"
318335 "<error-tag>missing-element</error-tag>"
@@ -321,22 +338,24 @@ test_missing_element(void **state)
321338 "<error-message xml:lang=\"en\">An expected element is missing.</error-message>"
322339 "<error-info><bad-element>identifier</bad-element></error-info>"
323340 "</rpc-error></rpc-reply>" , sess -> msgid );
341+ assert_int_not_equal (rc , -1 );
324342 assert_string_equal (msg , exp );
325343 free (exp );
326344
327345 /* missing element in 'config-choice' in the application layer: missing mandatory node in the choice-stmt */
328- asprintf (& msg ,
346+ rc = asprintf (& msg ,
329347 "<rpc xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
330348 " <get-config>"
331349 " <source/>"
332350 " </get-config>"
333351 "</rpc>" , sess -> msgid );
352+ assert_int_not_equal (rc , -1 );
334353 rc = oc_send_msg (sess , msg );
335354 assert_int_equal (rc , 0 );
336355 free (msg );
337356 rc = oc_recv_msg (sess , & msg );
338357 assert_int_equal (rc , 0 );
339- asprintf (& exp ,
358+ rc = asprintf (& exp ,
340359 "<rpc-reply xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\"><rpc-error>"
341360 "<error-type>protocol</error-type>"
342361 "<error-tag>data-missing</error-tag>"
@@ -346,6 +365,7 @@ test_missing_element(void **state)
346365 "<error-message xml:lang=\"en\">Missing mandatory choice.</error-message>"
347366 "<error-info><missing-choice xmlns=\"urn:ietf:params:xml:ns:yang:1\">config-source</missing-choice></error-info>"
348367 "</rpc-error></rpc-reply>" , sess -> msgid );
368+ assert_int_not_equal (rc , -1 );
349369 assert_string_equal (msg , exp );
350370 free (exp );
351371}
@@ -359,10 +379,11 @@ test_malformed_message(void **state)
359379 struct np_other_client * sess = st -> oc_sess ;
360380
361381 /* malformed-message xmlns in the rpc layer */
362- asprintf (& msg ,
382+ rc = asprintf (& msg ,
363383 "<rpc xmlns=\"urn&ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
364384 " <discard-changes/>"
365385 "</rpc>" , sess -> msgid );
386+ assert_int_not_equal (rc , -1 );
366387 rc = oc_send_msg (sess , msg );
367388 assert_int_equal (rc , 0 );
368389 free (msg );
@@ -378,16 +399,17 @@ test_malformed_message(void **state)
378399 "</rpc-error></rpc-reply>" );
379400
380401 /* malformed-message in the non-rpc layer */
381- asprintf (& msg ,
402+ rc = asprintf (& msg ,
382403 "<rpc xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
383404 " <discard-cha&ges/>"
384405 "</rpc>" , sess -> msgid );
406+ assert_int_not_equal (rc , -1 );
385407 rc = oc_send_msg (sess , msg );
386408 assert_int_equal (rc , 0 );
387409 free (msg );
388410 rc = oc_recv_msg (sess , & msg );
389411 assert_int_equal (rc , 0 );
390- asprintf (& exp ,
412+ rc = asprintf (& exp ,
391413 "<rpc-reply xmlns=\"urn:ietf:params:xml:ns:netconf:base:1.0\" message-id=\"%" PRIu64 "\">"
392414 "<rpc-error>"
393415 "<error-type>rpc</error-type>"
@@ -396,6 +418,7 @@ test_malformed_message(void **state)
396418 "<error-message xml:lang=\"en\">Invalid character sequence \"&ges/></rpc>\","
397419 " expected element tag end ('>' or '/>') or an attribute.</error-message>"
398420 "</rpc-error></rpc-reply>" , sess -> msgid );
421+ assert_int_not_equal (rc , -1 );
399422 assert_string_equal (msg , exp );
400423 free (exp );
401424}
0 commit comments