Merge "Add content type for long description for twine"
[ric-plt/lib/rmr.git] / test / test_support.c
index 49012c4..08254a0 100644 (file)
@@ -1,14 +1,14 @@
 // : vi ts=4 sw=4 noet :
 /*
 ==================================================================================
 // : 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
 
 
    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,
 
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
@@ -65,7 +65,7 @@ void sig_clean_exit( int sign ) {
        exit( 0 );
 }
 
        exit( 0 );
 }
 
-/*     
+/*
        Setup all of the signal handling for signals that we want to force a clean exit:
        term, intr, hup, quit, usr1/2 alarm, etc.  All others we'll let default.
 */
        Setup all of the signal handling for signals that we want to force a clean exit:
        term, intr, hup, quit, usr1/2 alarm, etc.  All others we'll let default.
 */
@@ -74,7 +74,7 @@ static void set_signals( void ) {
        int     sig_list[] = { SIGINT, SIGQUIT, SIGILL, SIGALRM, SIGTERM, SIGUSR1 , SIGUSR2 };
        int i;
        int nele;               // number of elements in the list
        int     sig_list[] = { SIGINT, SIGQUIT, SIGILL, SIGALRM, SIGTERM, SIGUSR1 , SIGUSR2 };
        int i;
        int nele;               // number of elements in the list
-       
+
        nele = (int) ( sizeof( sig_list )/sizeof( int ) );              // convert raw size to the number of elements
        for( i = 0; i < nele; i ++ ) {
                memset( &sa, 0, sizeof( sa ) );
        nele = (int) ( sizeof( sig_list )/sizeof( int ) );              // convert raw size to the number of elements
        for( i = 0; i < nele; i ++ ) {
                memset( &sa, 0, sizeof( sa ) );
@@ -138,11 +138,29 @@ static int fail_if_equal( int a, int b, char* what ) {
        return a != b ? GOOD : BAD;                     // user may override good/bad so do NOT return a==b directly!
 }
 
        return a != b ? GOOD : BAD;                     // user may override good/bad so do NOT return a==b directly!
 }
 
+static int fail_not_equalp( void* a, void* b, char* what ) {
+       if( a != b ) {
+               fprintf( stderr, "<FAIL> %s: pointers were not equal a=%p b=%p\n", what, a, b );
+       }
+       return a == b ? GOOD : BAD;                     // user may override good/bad so do NOT return a==b directly!
+}
+
+static int fail_if_equalp( void* a, void* b, char* what ) {
+       if( a == b ) {
+               fprintf( stderr, "<FAIL> %s pointers were equal a=%p b=%p\n", what, a, b );
+       }
+       return a != b ? GOOD : BAD;                     // user may override good/bad so do NOT return a==b directly!
+}
+
 
 #ifndef NO_DUMMY_RMR
 /*
        Dummy message allocator for testing without sr_static functions
 */
 
 #ifndef NO_DUMMY_RMR
 /*
        Dummy message allocator for testing without sr_static functions
 */
+#ifndef MSG_VER
+#define MSG_VER 3
+#endif
+
 static rmr_mbuf_t* test_mk_msg( int len, int tr_len ) {
        rmr_mbuf_t*     new_msg;
        uta_mhdr_t* hdr;
 static rmr_mbuf_t* test_mk_msg( int len, int tr_len ) {
        rmr_mbuf_t*     new_msg;
        uta_mhdr_t* hdr;
@@ -157,14 +175,29 @@ static rmr_mbuf_t* test_mk_msg( int len, int tr_len ) {
        hdr = (uta_mhdr_t*) new_msg->tp_buf;
        SET_HDR_LEN( hdr );
        SET_HDR_TR_LEN( hdr, tr_len );
        hdr = (uta_mhdr_t*) new_msg->tp_buf;
        SET_HDR_LEN( hdr );
        SET_HDR_TR_LEN( hdr, tr_len );
+       hdr->rmr_ver = htonl( MSG_VER );
+       strcpy( hdr->src, "dummyhost:1111" );
+       strcpy( hdr->srcip, "30.4.19.86:1111" );
 
        new_msg->header = new_msg->tp_buf;
        new_msg->payload =  new_msg->header + PAYLOAD_OFFSET( hdr );
        new_msg->alloc_len = alen;
        new_msg->len = 0;
 
        new_msg->header = new_msg->tp_buf;
        new_msg->payload =  new_msg->header + PAYLOAD_OFFSET( hdr );
        new_msg->alloc_len = alen;
        new_msg->len = 0;
-       
+
        return new_msg;
 }
        return new_msg;
 }
+
+static void test_set_ver( rmr_mbuf_t* msg, int ver ) {
+       uta_mhdr_t* hdr;
+
+       hdr = (uta_mhdr_t*) msg->tp_buf;
+       hdr->rmr_ver = htonl( ver );
+       strcpy( hdr->src, "dummyhost-v2:1111" );
+       strcpy( hdr->srcip, "30.4.19.86:2222" );
+
+       return;
+}
 #endif
 
 #endif
 
+
 #endif
 #endif