From 1451c291912af50be13d4b738616a6a8236317c0 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Tue, 27 Apr 2010 08:31:08 +0000 Subject: Ref #1018, fixed failure in pjlib-util-test due to the use of hardcoded port in HTTP client test git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3147 74dad513-b988-da41-8d7b-12977e46ad98 --- pjlib-util/src/pjlib-util-test/http_client.c | 89 +++++++++++++++++++++++----- 1 file changed, 75 insertions(+), 14 deletions(-) (limited to 'pjlib-util') diff --git a/pjlib-util/src/pjlib-util-test/http_client.c b/pjlib-util/src/pjlib-util-test/http_client.c index 6796a272..d074536a 100644 --- a/pjlib-util/src/pjlib-util-test/http_client.c +++ b/pjlib-util/src/pjlib-util-test/http_client.c @@ -270,6 +270,7 @@ int http_client_test1() pj_str_t url; pj_http_req_callback hcb; pj_http_req_param param; + char urlbuf[80]; pj_bzero(&hcb, sizeof(hcb)); hcb.on_complete = &on_complete; @@ -286,12 +287,10 @@ int http_client_test1() #ifdef USE_LOCAL_SERVER - pj_cstr(&url, "http://127.0.0.1:8080/about-us/"); thread_quit = PJ_FALSE; g_server.action = ACTION_REPLY; g_server.send_content_length = PJ_TRUE; g_server.data_size = 2970; - g_server.port = 8080; g_server.buf_size = 1024; sstatus = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, @@ -299,12 +298,25 @@ int http_client_test1() if (sstatus != PJ_SUCCESS) return -41; - pj_sockaddr_in_init(&addr, NULL, (pj_uint16_t)g_server.port); + pj_sockaddr_in_init(&addr, NULL, 0); sstatus = pj_sock_bind(g_server.sock, &addr, sizeof(addr)); if (sstatus != PJ_SUCCESS) return -43; + { + pj_sockaddr_in addr; + int addr_len = sizeof(addr); + sstatus = pj_sock_getsockname(g_server.sock, &addr, &addr_len); + if (sstatus != PJ_SUCCESS) + return -44; + g_server.port = pj_sockaddr_in_get_port(&addr); + pj_ansi_snprintf(urlbuf, sizeof(urlbuf), + "http://127.0.0.1:%d/about-us/", + g_server.port); + url = pj_str(urlbuf); + } + sstatus = pj_sock_listen(g_server.sock, 8); if (sstatus != PJ_SUCCESS) return -45; @@ -366,6 +378,7 @@ int http_client_test2() pj_http_req_callback hcb; pj_http_req_param param; pj_time_val timeout; + char urlbuf[80]; pj_bzero(&hcb, sizeof(hcb)); hcb.on_complete = &on_complete; @@ -389,7 +402,6 @@ int http_client_test2() g_server.action = ACTION_IGNORE; g_server.send_content_length = PJ_FALSE; g_server.data_size = 4173; - g_server.port = 380; g_server.buf_size = 1024; sstatus = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, @@ -397,12 +409,25 @@ int http_client_test2() if (sstatus != PJ_SUCCESS) return -41; - pj_sockaddr_in_init(&addr, NULL, (pj_uint16_t)g_server.port); + pj_sockaddr_in_init(&addr, NULL, 0); sstatus = pj_sock_bind(g_server.sock, &addr, sizeof(addr)); if (sstatus != PJ_SUCCESS) return -43; + { + pj_sockaddr_in addr; + int addr_len = sizeof(addr); + sstatus = pj_sock_getsockname(g_server.sock, &addr, &addr_len); + if (sstatus != PJ_SUCCESS) + return -44; + g_server.port = pj_sockaddr_in_get_port(&addr); + pj_ansi_snprintf(urlbuf, sizeof(urlbuf), + "http://127.0.0.1:%d", + g_server.port); + url = pj_str(urlbuf); + } + sstatus = pj_sock_listen(g_server.sock, 8); if (sstatus != PJ_SUCCESS) return -45; @@ -486,6 +511,7 @@ int http_client_test_put1() pj_http_req_param param; char *data; int length = 3875; + char urlbuf[80]; pj_bzero(&hcb, sizeof(hcb)); hcb.on_complete = &on_complete; @@ -500,12 +526,10 @@ int http_client_test_put1() return -52; #ifdef USE_LOCAL_SERVER - pj_cstr(&url, "http://127.0.0.1:380/test/test.txt"); thread_quit = PJ_FALSE; g_server.action = ACTION_REPLY; g_server.send_content_length = PJ_TRUE; g_server.data_size = 0; - g_server.port = 380; g_server.buf_size = 4096; sstatus = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, @@ -513,12 +537,25 @@ int http_client_test_put1() if (sstatus != PJ_SUCCESS) return -41; - pj_sockaddr_in_init(&addr, NULL, (pj_uint16_t)g_server.port); + pj_sockaddr_in_init(&addr, NULL, 0); sstatus = pj_sock_bind(g_server.sock, &addr, sizeof(addr)); if (sstatus != PJ_SUCCESS) return -43; + { + pj_sockaddr_in addr; + int addr_len = sizeof(addr); + sstatus = pj_sock_getsockname(g_server.sock, &addr, &addr_len); + if (sstatus != PJ_SUCCESS) + return -44; + g_server.port = pj_sockaddr_in_get_port(&addr); + pj_ansi_snprintf(urlbuf, sizeof(urlbuf), + "http://127.0.0.1:%d/test/test.txt", + g_server.port); + url = pj_str(urlbuf); + } + sstatus = pj_sock_listen(g_server.sock, 8); if (sstatus != PJ_SUCCESS) return -45; @@ -575,6 +612,7 @@ int http_client_test_put2() pj_str_t url; pj_http_req_callback hcb; pj_http_req_param param; + char urlbuf[80]; pj_bzero(&hcb, sizeof(hcb)); hcb.on_complete = &on_complete; @@ -590,12 +628,10 @@ int http_client_test_put2() return -52; #ifdef USE_LOCAL_SERVER - pj_cstr(&url, "http://127.0.0.1:380/test/test2.txt"); thread_quit = PJ_FALSE; g_server.action = ACTION_REPLY; g_server.send_content_length = PJ_TRUE; g_server.data_size = 0; - g_server.port = 380; g_server.buf_size = 16384; sstatus = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, @@ -603,12 +639,25 @@ int http_client_test_put2() if (sstatus != PJ_SUCCESS) return -41; - pj_sockaddr_in_init(&addr, NULL, (pj_uint16_t)g_server.port); + pj_sockaddr_in_init(&addr, NULL, 0); sstatus = pj_sock_bind(g_server.sock, &addr, sizeof(addr)); if (sstatus != PJ_SUCCESS) return -43; + { + pj_sockaddr_in addr; + int addr_len = sizeof(addr); + sstatus = pj_sock_getsockname(g_server.sock, &addr, &addr_len); + if (sstatus != PJ_SUCCESS) + return -44; + g_server.port = pj_sockaddr_in_get_port(&addr); + pj_ansi_snprintf(urlbuf, sizeof(urlbuf), + "http://127.0.0.1:%d/test/test2.txt", + g_server.port); + url = pj_str(urlbuf); + } + sstatus = pj_sock_listen(g_server.sock, 8); if (sstatus != PJ_SUCCESS) return -45; @@ -659,6 +708,7 @@ int http_client_test_delete() pj_str_t url; pj_http_req_callback hcb; pj_http_req_param param; + char urlbuf[80]; pj_bzero(&hcb, sizeof(hcb)); hcb.on_complete = &on_complete; @@ -672,12 +722,10 @@ int http_client_test_delete() return -62; #ifdef USE_LOCAL_SERVER - pj_cstr(&url, "http://127.0.0.1:380/test/test2.txt"); thread_quit = PJ_FALSE; g_server.action = ACTION_REPLY; g_server.send_content_length = PJ_TRUE; g_server.data_size = 0; - g_server.port = 380; g_server.buf_size = 1024; sstatus = pj_sock_socket(pj_AF_INET(), pj_SOCK_STREAM(), 0, @@ -685,12 +733,25 @@ int http_client_test_delete() if (sstatus != PJ_SUCCESS) return -41; - pj_sockaddr_in_init(&addr, NULL, (pj_uint16_t)g_server.port); + pj_sockaddr_in_init(&addr, NULL, 0); sstatus = pj_sock_bind(g_server.sock, &addr, sizeof(addr)); if (sstatus != PJ_SUCCESS) return -43; + { + pj_sockaddr_in addr; + int addr_len = sizeof(addr); + sstatus = pj_sock_getsockname(g_server.sock, &addr, &addr_len); + if (sstatus != PJ_SUCCESS) + return -44; + g_server.port = pj_sockaddr_in_get_port(&addr); + pj_ansi_snprintf(urlbuf, sizeof(urlbuf), + "http://127.0.0.1:%d/test/test2.txt", + g_server.port); + url = pj_str(urlbuf); + } + sstatus = pj_sock_listen(g_server.sock, 8); if (sstatus != PJ_SUCCESS) return -45; -- cgit v1.2.3