// : vi ts=4 sw=4 noet :
/*
==================================================================================
- Copyright (c) 2019 Nokia
- Copyright (c) 2018-2019 AT&T Intellectual Property.
+ Copyright (c) 2019 Nokia
+ Copyright (c) 2018-2019 AT&T Intellectual Property.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
+ http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
/*
Note that the last tests in this function destroy the context and message so
- any tests added MUST be ahead of those tests.
+ any tests added MUST be ahead of those tests.
*/
static int worm_test( ) {
uta_ctx_t* ctx; // context needed to test load static rt
char wbuf[1024];
int errors = 0; // number errors found
int i;
+ void* p;
rmr_mbuf_t* mbuf; // mbuf to send to peer
int whid = -1;
whid = rmr_wh_open( ctx, "localhost:21961" );
errors += fail_not_equal( whid, 3, "attempt to fill in a hole didn't return expected" );
- rmr_wh_send_msg( NULL, 0, NULL ); // tests for coverage
- rmr_wh_send_msg( ctx, 0, NULL );
+ p = rmr_wh_send_msg( NULL, 0, NULL ); // tests for coverage
+ fail_not_nil( p, "wh_send_msg returned a pointer when given nil context and message" );
+
+ p = rmr_wh_send_msg( ctx, 0, NULL );
+ fail_not_nil( p, "wh_send_msg returned a pointer when given nil message with valid context" );
mbuf = rmr_alloc_msg( ctx, 2048 ); // get an muf to pass round
errors += fail_if_nil( mbuf, "unable to allocate mbuf for send tests (giving up on send tests)" );
+
+ mbuf->state = 0;
+ mbuf = rmr_wh_send_msg( NULL, 0, mbuf );
+ if( mbuf ) {
+ fail_if_equal( mbuf->state, 0, "wh_send_msg returned a zero state when given a nil context" );
+ }
+ fail_if_nil( mbuf, "wh_send_msg returned a nil message buffer when given a nil context" );
+
while( mbuf ) {
if( !(mbuf = rmr_wh_send_msg( ctx, 50, mbuf )) ) { // test for coverage
errors += fail_if_nil( mbuf, "send didn't return an mbuf (skip rest of send tests)" );