Changeset 995:2016a0c46bda in freeDiameter
- Timestamp:
- Mar 19, 2013, 12:19:47 AM (11 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
libfdproto/messages.c
r992 r995 389 389 CHECK_FCT( fd_msg_browse(avp, MSG_BRW_NEXT, &avp, NULL) ); 390 390 } 391 CHECK_FCT( fd_msg_parse_dict( ans, dict, NULL ) ); 391 392 } 392 393 … … 763 764 msg->msg_public.msg_eteid 764 765 ) ); 765 CHECK_FCT( dump_add_str(outstr, offset, outlen, INOBJHDR "intern: rwb:%p rt:%d cb:%p(%p) qry:%p asso:%d sess:%p src:%s(%zd)| ",766 CHECK_FCT( dump_add_str(outstr, offset, outlen, INOBJHDR "intern: rwb:%p rt:%d cb:%p(%p) qry:%p asso:%d sess:%p src:%s(%zd)|\n", 766 767 INOBJHDRVAL, msg->msg_rawbuffer, msg->msg_routable, msg->msg_cb.fct, msg->msg_cb.data, msg->msg_query, msg->msg_associated, msg->msg_sess, msg->msg_src_id?:"(nil)", msg->msg_src_id_len) ); 767 768 return 0; … … 820 821 } 821 822 822 CHECK_FCT( dump_add_str(outstr, offset, outlen, INOBJHDR "intern: src:%p mf:%d raw:%p(%d)| ", INOBJHDRVAL, avp->avp_source, avp->avp_mustfreeos, avp->avp_rawdata, avp->avp_rawlen) );823 CHECK_FCT( dump_add_str(outstr, offset, outlen, INOBJHDR "intern: src:%p mf:%d raw:%p(%d)|\n", INOBJHDRVAL, avp->avp_source, avp->avp_mustfreeos, avp->avp_rawdata, avp->avp_rawlen) ); 823 824 return 0; 824 825 } -
tests/testmesg.c
r974 r995 755 755 } 756 756 757 #if 1758 757 { 759 758 unsigned char * buftmp = NULL; … … 779 778 free(buftmp); 780 779 } 781 #endif782 780 783 781 … … 920 918 } 921 919 } 920 } 921 922 /* Test the fd_msg_new_answer_from_req function */ 923 { 924 struct dict_object * cmd_model = NULL; 925 struct msg * msg = NULL; 926 struct avp * pi1, *pi2, *avp; 927 char * host1="host1", * host2="host2"; 928 union avp_value value; 929 struct msg_hdr * msgdata = NULL; 930 931 CHECK( 0, fd_dict_search ( fd_g_config->cnf_dict, DICT_COMMAND, CMD_BY_NAME, "Test-Command-Request", &cmd_model, ENOENT ) ); 932 933 /* Test default behavior without flags */ 934 { 935 /* Create a message with some AVPs inside */ 936 CHECK( 0, fd_msg_new ( cmd_model, 0, &msg ) ); 937 CHECK( 0, fd_msg_hdr ( msg, &msgdata ) ); 938 939 /* Add a session id */ 940 CHECK( 0, fd_msg_new_session( msg, "testmsg", strlen("testmsg") ) ); 941 942 /* Create two instances of Proxy-Info */ 943 ADD_AVP( msg, MSG_BRW_LAST_CHILD, pi1, 0, "Proxy-Info"); 944 ADD_AVP( msg, MSG_BRW_LAST_CHILD, pi2, 0, "Proxy-Info"); 945 946 ADD_AVP( pi1, MSG_BRW_LAST_CHILD, avp, 0, "Proxy-State"); 947 value.os.data = "ps_pi1"; 948 value.os.len = strlen(value.os.data); 949 CHECK( 0, fd_msg_avp_setvalue ( avp, &value ) ); 950 951 ADD_AVP( pi2, MSG_BRW_LAST_CHILD, avp, 0, "Proxy-State"); 952 value.os.data = "pi2_state"; 953 value.os.len = strlen(value.os.data); 954 CHECK( 0, fd_msg_avp_setvalue ( avp, &value ) ); 955 956 ADD_AVP( pi1, MSG_BRW_FIRST_CHILD, avp, 0, "Proxy-Host"); 957 value.os.data = host1; 958 value.os.len = strlen(host1); 959 CHECK( 0, fd_msg_avp_setvalue ( avp, &value ) ); 960 961 ADD_AVP( pi2, MSG_BRW_LAST_CHILD, avp, 0, "Proxy-Host"); 962 value.os.data = host2; 963 value.os.len = strlen(host2); 964 CHECK( 0, fd_msg_avp_setvalue ( avp, &value ) ); 965 966 ADD_AVP( pi2, MSG_BRW_LAST_CHILD, avp, 73565, "AVP Test - i64"); 967 value.i64 = 0x123456789abcdeLL; 968 CHECK( 0, fd_msg_avp_setvalue ( avp, &value ) ); 969 970 971 /* Now call the fd_msg_new_answer_from_req function */ 972 CHECK( 0, fd_msg_new_answer_from_req ( fd_g_config->cnf_dict, &msg, 0 ) ); 973 974 /* Check there is a Session-Id AVP */ 975 { 976 struct session * sess; 977 int new; 978 CHECK( 0, fd_msg_sess_get(fd_g_config->cnf_dict, msg, &sess, &new) ); 979 CHECK( 1, sess == NULL ? 0 : 1 ); 980 CHECK( 0, new ? 1 : 0 ); 981 } 982 983 /* Check there are two Proxy-Info with the two hosts */ 984 { 985 int got_h1 = 0, got_h2=0; 986 struct dict_object * ph_model; 987 CHECK( 0, fd_msg_browse ( msg, MSG_BRW_FIRST_CHILD, &avp, NULL) ); 988 while(avp) { 989 struct avp_hdr * avpdata = NULL; 990 CHECK( 0, fd_msg_avp_hdr ( avp, &avpdata ) ); 991 if (avpdata->avp_code == AC_PROXY_INFO) { 992 struct avp * iavp; 993 CHECK( 0, fd_msg_browse ( avp, MSG_BRW_FIRST_CHILD, &iavp, NULL) ); 994 while(iavp) { 995 struct avp_hdr * iavpdata = NULL; 996 CHECK( 0, fd_msg_avp_hdr ( iavp, &iavpdata ) ); 997 if (iavpdata->avp_code == AC_PROXY_HOST) { 998 if (!memcmp(host1, iavpdata->avp_value->os.data, strlen(host1))) 999 got_h1++; 1000 if (!memcmp(host2, iavpdata->avp_value->os.data, strlen(host2))) 1001 got_h2++; 1002 } 1003 CHECK( 0, fd_msg_browse ( iavp, MSG_BRW_NEXT, &iavp, NULL) ); 1004 } 1005 } 1006 1007 CHECK( 0, fd_msg_browse ( avp, MSG_BRW_NEXT, &avp, NULL) ); 1008 } 1009 1010 CHECK(1, got_h1); 1011 CHECK(1, got_h2); 1012 } 1013 1014 } 1015 922 1016 } 923 1017 } -
tests/tests.h
r994 r995 69 69 #define FAILTEST( message... ){ \ 70 70 TRACE_ERROR(message); \ 71 TRACE_ DEBUG(INFO, "Test failed");\71 TRACE_NOTICE("Test %s failed", __FILE__); \ 72 72 exit(FAIL); \ 73 73 } … … 76 76 #define PASSTEST( ){ \ 77 77 TRACE_NOTICE("Test %s passed", __FILE__); \ 78 TRACE_DEBUG(INFO, "Test passed"); \79 78 (void)fd_core_shutdown(); \ 80 79 (void)fd_core_wait_shutdown_complete(); \ … … 90 89 #define CHECK( _val, _assert ){ \ 91 90 if (test_verbo > 0) { \ 92 TRACE_ ERROR(\91 TRACE_DEBUG(INFO, \ 93 92 "%s:%-4d: CHECK( " #_assert " == "\ 94 93 #_val " )", \
Note: See TracChangeset
for help on using the changeset viewer.