[ITC][capi-network-inm][ACR-1350][Added new CAPIs to test default link availability] 66/207266/3
authormansankar <karanam.s@samsung.com>
Fri, 31 May 2019 09:51:32 +0000 (15:21 +0530)
committershobhit verma <shobhit.v@samsung.com>
Mon, 3 Jun 2019 13:12:27 +0000 (13:12 +0000)
Change-Id: Iedd7abd68a0ce0c7a9c4283ca3598e0c0db65df5
Signed-off-by: mansankar <karanam.s@samsung.com>
src/itc/capi-network-inm/ITs-capi-network-inm-common.c
src/itc/capi-network-inm/ITs-capi-network-inm-common.h
src/itc/capi-network-inm/ITs-capi-network-inm.c
src/itc/capi-network-inm/tct-capi-network-inm-native_mobile.h
src/itc/capi-network-inm/tct-capi-network-inm-native_tizeniot.h
src/itc/capi-network-inm/tct-capi-network-inm-native_wearable.h

index b42abde45c1b8d5224d4a890000bc401a83bd0f3..97428477163a7a057cd57159090007cfd59dd7f1 100755 (executable)
@@ -339,4 +339,25 @@ int InmGetCurrentLink(inm_link_h *hRefLinkHandle)
 
        return 0;
 }
+
+/**
+* @function         CapiNetworkInmTimeout
+* @description      Called if some callback is not invoked for a particular timeout
+* @parameter        gpointer data
+* @return           gboolean
+*/
+
+gboolean CapiNetworkInmTimeout(gpointer data)
+{
+       GMainLoop *pMainLoop = NULL;
+       pMainLoop = (GMainLoop *)data;
+       if ( pMainLoop != NULL )
+       {
+               dlog_print(DLOG_INFO, "NativeTCT", "[%d:%s] Quit mainloop(timeout)[%p]", __LINE__, __FUNCTION__, pMainLoop);
+               g_main_loop_quit(pMainLoop);
+       }
+       FPRINTF("[%d:%s] Callback Timeout\\n", __LINE__, __FUNCTION__);
+       return false;
+}
+
 /** @} */
index e181cf05f8d9f752b54c3bc134b8d331b7243314..c5b10c626e111a331e846e09f0aa4fc5651237f7 100755 (executable)
@@ -33,6 +33,7 @@ bool g_bDlogCreation;
 
 #define INM_DEBUG                      1
 #define GMAINTIMEOUT                   20000
+#define TIMEOUT_CB                     20000
 #define API_NAMESPACE                  "INM_ITC"
 #define MAXENUMSIZE                            50
 #define SETENUM                                        1
@@ -43,6 +44,9 @@ bool g_bDlogCreation;
 #define FEATURE_TELEPHONY              "http://tizen.org/feature/network.telephony"
 #define FEATURE_BT_TETHERING           "http://tizen.org/feature/network.tethering.bluetooth"
 #define FEATURE_NOT_SUPPORTED          999
+#define ARP_REQUEST_PACKET_INTERVAL    5
+#define DEFAULT_ARP_REQUEST_IP_STR     "192.168.0.1"
+#define REACHABILITY_TEST_URL          "www.linuxfoundation.org"
 
 bool g_bFeatureInm;
 bool g_bFeatureWifi;
@@ -55,6 +59,7 @@ bool g_bIsFeatureMismatched;
 bool g_nCallbackRet;
 bool g_nCallbackFail;
 bool g_bFeatureNotSupported;
+bool g_bCapiNetworkInmCBHit;
 
 inm_h g_hInm;
 inm_h g_hInmHandle;
@@ -63,6 +68,14 @@ inm_link_route_h g_hRouteHandle;
 inm_link_h g_hLinkHandle;
 inm_connection_h g_hProfileTemp;
 inm_connection_h g_hConnection;
+GMainLoop *g_pCapiNetworkInmMainLoop;
+int nTimeoutId;
+
+bool g_bGatewayFound;
+bool g_bDnsLookupFinished;
+bool g_bDefaultUrlFound;
+char *g_pszArpRequestedIpStr;
+bool g_bArpRequestedIpFound;
 
 #define START_TEST {\
        if(g_bFeatureNotSupported)\
@@ -86,6 +99,25 @@ inm_connection_h g_hConnection;
        }\
 }
 
+
+#define RUN_POLLING_LOOP {\
+       g_pCapiNetworkInmMainLoop = g_main_loop_new(NULL, false);\
+       nTimeoutId = g_timeout_add(TIMEOUT_CB, CapiNetworkInmTimeout, g_pCapiNetworkInmMainLoop);\
+       FPRINTF("[Line:%d][%s] Run mainloop [%p]\\n", __LINE__, __FUNCTION__, g_pCapiNetworkInmMainLoop);\
+       g_main_loop_run(g_pCapiNetworkInmMainLoop);\
+       g_source_remove(nTimeoutId);\
+       g_pCapiNetworkInmMainLoop = NULL;\
+}
+
+
+#define QUIT_GMAIN_LOOP {\
+       if (g_pCapiNetworkInmMainLoop)\
+{\
+       FPRINTF("[Line:%d][%s] Quit mainloop [%p]\\n", __LINE__, __FUNCTION__, g_pCapiNetworkInmMainLoop);\
+       g_main_loop_quit(g_pCapiNetworkInmMainLoop);\
+}\
+}
+
 #define PRINT_RETURN(api, ret) {\
        if (INM_DEBUG) {\
                FPRINTF("[Line : %d][%s] %s returned = %s\\n",\
@@ -148,5 +180,6 @@ void InmSetCellularStateChangedCallback(inm_cellular_state_e result, void* user_
 void InmSetWifiStateChangedCallback(inm_wifi_state_e result, void* user_data);
 void InmSetEthernetStateChangedCallback(inm_ethernet_state_e result, void* user_data);
 int InmGetCurrentLink(inm_link_h *hRefLinkHandle);
+gboolean CapiNetworkInmTimeout(gpointer data);
 /** @} */
 #endif  //_ITS_INM_COMMON_H_
index 363c7203f76bf50a5701f9a9ce8a96375694f86c..8bdb70cd193ab87dd88019c6fd66d4aa85ebbc69 100755 (executable)
 
 //& set: Inm
 
+/**
+* @function            PrintUrlResult
+* @description         Helper function
+* @parameter           inm_reachable_urls_check_result_e err
+* @return              char pointer
+*/
+static inline char * PrintUrlResult(inm_reachable_urls_check_result_e err)
+{
+       switch (err) {
+       case INM_REACHABLE_URL_CHECK_RESULT_SUCCESS:
+               return "SUCCESS\n";
+       case INM_REACHABLE_URL_CHECK_RESULT_ERROR_MALFORMED_URL:
+               return "MALFORMED_URL error\n";
+       case INM_REACHABLE_URL_CHECK_RESULT_ERROR_DNS_RESOLVE:
+               return "DNS_RESOLVE error\n";
+       case INM_REACHABLE_URL_CHECK_RESULT_ERROR_TCP_CONNECT:
+               return "TCP_CONNECT error\n";
+       case INM_REACHABLE_URL_CHECK_RESULT_ERROR_SSL:
+               return "SSL error\n";
+       case INM_REACHABLE_URL_CHECK_RESULT_ERROR_HTTP:
+               return "HTTP error\n";
+       case INM_REACHABLE_URL_CHECK_RESULT_ERROR_FILE_NOT_FOUND:
+               return "FILE_NOT_FOUND error\n";
+       case INM_REACHABLE_URL_CHECK_RESULT_ERROR_UNKNOWN:
+               return "UNKNOWN error\n";
+       }
+}
+
+/**
+* @function            InmReachableUrlsCheckResultDefaultCallback
+* @description         Callback
+* @parameter           inm_reachable_urls_check_result_e result, const char *url, void *user_data
+* @return              NA
+*/
+static void InmReachableUrlsCheckResultDefaultCallback(inm_reachable_urls_check_result_e result, const char *url, void *user_data)
+{
+       g_bDefaultUrlFound = (result == INM_REACHABLE_URL_CHECK_RESULT_SUCCESS);
+       FPRINTF("[Line : %d][%s] %s %s\\n", __LINE__, API_NAMESPACE, url, PrintUrlResult(result));
+       QUIT_GMAIN_LOOP;
+}
+
+/**
+* @function            InmDefaultDnsLookupResultCallback
+* @description         Callback
+* @parameter           bool found, void *user_data
+* @return              NA
+*/
+static void InmDefaultDnsLookupResultCallback(bool found, void *user_data)
+{
+       g_bDnsLookupFinished = found;
+       FPRINTF("[Line : %d][%s] DNS lookup accomplished\\n", __LINE__, API_NAMESPACE);
+       QUIT_GMAIN_LOOP;
+}
+
+/**
+* @function            InmDefaultGatewayFoundCallback
+* @description         Callback
+* @parameter           bool found, const char *ip, void *user_data
+* @return              NA
+*/
+static void InmDefaultGatewayFoundCallback(bool found, const char *ip, void *user_data)
+{
+       g_bGatewayFound = found;
+       FPRINTF("[Line : %d][%s] Gateway %s found\\n", __LINE__, API_NAMESPACE, ip);
+       QUIT_GMAIN_LOOP;
+}
+
+/**
+* @function            InmArpRequestIpFoundCallback
+* @description         Callback
+* @parameter           bool found, const char *ip, void *user_data
+* @return              NA
+*/
+static void InmArpRequestIpFoundCallback(bool found, const char *ip, void *user_data)
+{
+       FPRINTF("[Line : %d][%s] Callback invoked\\n", __LINE__, API_NAMESPACE);
+       if (g_strcmp0(ip, g_pszArpRequestedIpStr) == 0) {
+               g_bArpRequestedIpFound = found;
+               FPRINTF("[Line : %d][%s] ARP requested %s found\\n", __LINE__, API_NAMESPACE, ip);
+       }
+       QUIT_GMAIN_LOOP;
+}
+
 /**
 * @function            ITs_inm_startup
 * @description         Called before each test
@@ -2733,5 +2816,301 @@ int ITc_inm_wifi_ap_foreach_vsie_p(void)
 
        return 0;
 }
+
+/**
+* @testcase                    ITc_inm_refresh_links_p
+* @since_tizen                 5.5
+* @author                      SRID(karanam.s)
+* @reviewer                    SRID(manoj.g2)
+* @type                        auto
+* @description                 Refreshes link information held by a handle.
+* @scenario                    Refreshes link information held by a handle.
+* @apicovered                  inm_refresh_links
+* @passcase                    When inm_refresh_links is successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: Refreshes link information held by a handle.
+//& type: auto
+int ITc_inm_refresh_links_p(void)
+{
+       START_TEST;
+
+       int nRet = INM_ERROR_NONE;
+
+       nRet = inm_refresh_links(g_hInm);       //target API
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_refresh_links", InmGetError(nRet));
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_inm_arp_request_set_get_packet_interval_p
+* @since_tizen                 5.5
+* @author                      SRID(karanam.s)
+* @reviewer                    SRID(manoj.g2)
+* @type                        auto
+* @description                 Sets and gets the ARP packet interval which is used to find targets IP on local network.
+* @scenario                    Sets and gets the ARP packet interval which is used to find targets IP on local network.
+* @apicovered                  inm_arp_request_set_packet_interval, inm_arp_request_get_packet_interval
+* @passcase                    When inm_arp_request_set_packet_interval and inm_arp_request_get_packet_interval is successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: Sets and gets the ARP packet interval which is used to find targets IP on local network.
+//& type: auto
+int ITc_inm_arp_request_set_get_packet_interval_p(void)
+{
+       START_TEST;
+
+       int nSetInterval = ARP_REQUEST_PACKET_INTERVAL;
+       int nGetInterval = -1;
+
+       int nRet = inm_arp_request_set_packet_interval(g_hInm, nSetInterval);   //target API
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_arp_request_set_packet_interval", InmGetError(nRet));
+
+       nRet = inm_arp_request_get_packet_interval(g_hInm, &nGetInterval);
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_arp_request_get_packet_interval", InmGetError(nRet));
+       if(nGetInterval != nSetInterval) {
+               FPRINTF("[Line : %d][%s] SetInterval %d not equal to GetInterval %d.\\n", __LINE__, API_NAMESPACE, nSetInterval, nGetInterval);
+               return 1;
+       }
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_inm_arp_request_start_stop_p
+* @since_tizen                 5.5
+* @author                      SRID(karanam.s)
+* @reviewer                    SRID(manoj.g2)
+* @type                        auto
+* @description                 Starts and stops sending ARP packets to find a target_ip.
+* @scenario                    Starts and stops sending ARP packets to find a target_ip.
+* @apicovered                  inm_arp_request_start, inm_arp_request_stop
+* @passcase                    When inm_arp_request_start and inm_arp_request_stop is successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: Starts and stops sending ARP packets to find a target_ip.
+//& type: auto
+
+int ITc_inm_arp_request_start_stop_p(void)
+{
+       START_TEST;
+
+       inm_connection_h hProfile = NULL;
+       g_bArpRequestedIpFound = false;
+       g_pszArpRequestedIpStr = NULL;
+
+       int nRet = InmGetAnyProfile(&hProfile);
+        if(nRet == FEATURE_NOT_SUPPORTED)
+                return 0;
+
+       nRet = inm_connection_get_gateway_address(hProfile, INM_ADDRESS_FAMILY_IPV4, &g_pszArpRequestedIpStr);
+       PRINT_RESULT_CLEANUP(nRet, INM_ERROR_NONE, "inm_connection_get_gateway_address", InmGetError(nRet), inm_connection_destroy(&hProfile));
+       CHECK_HANDLE_CLEANUP(g_pszArpRequestedIpStr, "inm_connection_get_gateway_address", inm_connection_destroy(&hProfile));
+
+       nRet = inm_arp_request_start(g_hInm, g_pszArpRequestedIpStr, InmArpRequestIpFoundCallback, NULL);
+       PRINT_RESULT_CLEANUP(nRet, INM_ERROR_NONE, "inm_arp_request_start", InmGetError(nRet), inm_connection_destroy(&hProfile);FREE_MEMORY_TC(g_pszArpRequestedIpStr));
+
+       RUN_POLLING_LOOP;
+
+       nRet = inm_arp_request_stop(g_hInm, g_pszArpRequestedIpStr);
+       PRINT_RESULT_CLEANUP(nRet, INM_ERROR_NONE, "inm_arp_request_stop", InmGetError(nRet), inm_connection_destroy(&hProfile);FREE_MEMORY_TC(g_pszArpRequestedIpStr));
+
+       nRet = inm_connection_destroy(&hProfile);
+       PRINT_RESULT_NORETURN(nRet, INM_ERROR_NONE, "inm_connection_destroy", InmGetError(nRet));
+
+       FREE_MEMORY_TC(g_pszArpRequestedIpStr);
+
+       if (!g_bArpRequestedIpFound) {
+               FPRINTF("[Line : %d][%s] ARP requested IP not found\\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_inm_default_gateway_start_stop_checking_p
+* @since_tizen                 5.5
+* @author                      SRID(karanam.s)
+* @reviewer                    SRID(manoj.g2)
+* @type                        auto
+* @description                 Starts and stops to send ARP packets to find gateway during timeout, in seconds.
+* @scenario                    Starts and stops to send ARP packets to find gateway during timeout, in seconds.
+* @apicovered                  inm_default_gateway_start_checking, inm_default_gateway_stop_checking
+* @passcase                    When inm_default_gateway_start_checking and inm_default_gateway_stop_checking is successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: Starts and stops to send ARP packets to find gateway during timeout, in seconds.
+//& type: auto
+int ITc_inm_default_gateway_start_stop_checking_p(void)
+{
+       START_TEST;
+
+       g_bGatewayFound = false;
+       int nRet = inm_default_gateway_start_checking(g_hInm, 0, InmDefaultGatewayFoundCallback, NULL);
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_default_gateway_start_checking", InmGetError(nRet));
+
+       RUN_POLLING_LOOP;
+
+       nRet = inm_default_gateway_stop_checking(g_hInm);
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_default_gateway_stop_checking", InmGetError(nRet));
+
+       if (!g_bGatewayFound) {
+               FPRINTF("[Line : %d][%s] Gateway IP not found\\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_inm_default_dns_lookup_check_p
+* @since_tizen                 5.5
+* @author                      SRID(karanam.s)
+* @reviewer                    SRID(manoj.g2)
+* @type                        auto
+* @description                 Checks DNS lookup of the target to check whether DNS server is valid or not.
+* @scenario                    Checks DNS lookup of the target to check whether DNS server is valid or not.
+* @apicovered                  inm_default_dns_lookup_check
+* @passcase                    When inm_default_dns_lookup_check is successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: Checks DNS lookup of the target to check whether DNS server is valid or not.
+//& type: auto
+int ITc_inm_default_dns_lookup_check_p(void)
+{
+       START_TEST;
+
+       g_bDnsLookupFinished = false;
+       int nRet = inm_default_dns_lookup_check(g_hInm, InmDefaultDnsLookupResultCallback, NULL);
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_default_dns_lookup_check", InmGetError(nRet));
+
+       RUN_POLLING_LOOP;
+
+       if (!g_bDnsLookupFinished) {
+               FPRINTF("[Line : %d][%s] DNS lookup is not finished\\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_inm_reachable_urls_add_remove_url_to_check_p
+* @since_tizen                 5.5
+* @author                      SRID(karanam.s)
+* @reviewer                    SRID(manoj.g2)
+* @type                        auto
+* @description                 Adds URL to check reachability by inm_start_checking_reachable_urls
+* @scenario                    Adds URL to check reachability by inm_start_checking_reachable_urls
+* @apicovered                  inm_reachable_urls_add_url_to_check, inm_reachable_urls_remove_url_to_check
+* @passcase                    When inm_reachable_urls_add_url_to_check and inm_reachable_urls_remove_url_to_check is successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: Adds URL to check reachability by inm_start_checking_reachable_urls
+//& type: auto
+int ITc_inm_reachable_urls_add_remove_url_to_check_p(void)
+{
+       START_TEST;
+
+       int nRet = inm_reachable_urls_add_url_to_check(g_hInm, REACHABILITY_TEST_URL);
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_reachable_urls_add_url_to_check", InmGetError(nRet));
+
+       nRet = inm_reachable_urls_remove_url_to_check(g_hInm, REACHABILITY_TEST_URL);
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_reachable_urls_remove_url_to_check", InmGetError(nRet));
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_inm_reachable_urls_start_stop_checking_p
+* @since_tizen                 5.5
+* @author                      SRID(karanam.s)
+* @reviewer                    SRID(manoj.g2)
+* @type                        auto
+* @description                 Starts to send HTTP GET requests with curl to check reachability of URLs of the given type and stops.
+* @scenario                    This function just checks if URLs in the list can be reachable once. If you want to check again, you need to call this function                                 again with the target URL list.
+* @apicovered                  inm_reachable_urls_start_checking, inm_reachable_urls_stop_checking
+* @passcase                    When inm_reachable_urls_start_checking and inm_reachable_urls_stop_checking is successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: Starts to send HTTP GET requests with curl to check reachability of URLs of the given type and stops.
+//& type: auto
+int ITc_inm_reachable_urls_start_stop_checking_p(void)
+{
+       START_TEST;
+
+       g_bDefaultUrlFound = false;
+
+       int nRet = inm_reachable_urls_start_checking(g_hInm, INM_URL_LIST_TYPE_DEFAULT, InmReachableUrlsCheckResultDefaultCallback, NULL);
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_reachable_urls_start_checking", InmGetError(nRet));
+
+       RUN_POLLING_LOOP;
+
+       if (!g_bDefaultUrlFound) {
+               FPRINTF("[Line : %d][%s] Default URL is not reachable\\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+
+       nRet = inm_reachable_urls_stop_checking(g_hInm, INM_URL_LIST_TYPE_DEFAULT);
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_reachable_urls_stop_checking", InmGetError(nRet));
+
+       return 0;
+}
+
+/**
+* @testcase                    ITc_inm_reachable_urls_is_check_running_p
+* @since_tizen                 5.5
+* @author                      SRID(karanam.s)
+* @reviewer                    SRID(manoj.g2)
+* @type                        auto
+* @description                 Gets whether the reachable URLs check is running or not.
+* @scenario                    Gets whether the reachable URLs check is running or not.
+* @apicovered                  inm_reachable_urls_is_check_running
+* @passcase                    When inm_reachable_urls_is_check_running is successful.
+* @failcase                    If target API fails or any precondition API fails
+* @precondition                        None
+* @postcondition               None
+*/
+//& purpose: Gets whether the reachable URLs check is running or not.
+//& type: auto
+int ITc_inm_reachable_urls_is_check_running_p(void)
+{
+       START_TEST;
+
+       bool bIsRunning = FALSE;
+       int nRet = inm_reachable_urls_start_checking(g_hInm, INM_URL_LIST_TYPE_DEFAULT, InmReachableUrlsCheckResultDefaultCallback, NULL);
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_reachable_urls_start_checking", InmGetError(nRet));
+
+       RUN_POLLING_LOOP;
+
+       nRet = inm_reachable_urls_is_check_running(g_hInm, INM_URL_LIST_TYPE_DEFAULT, &bIsRunning);
+       PRINT_RESULT(nRet, INM_ERROR_NONE, "inm_reachable_urls_is_check_running", InmGetError(nRet));
+       if (!bIsRunning) {
+               FPRINTF("[Line : %d][%s] Url reachability is not running\\n", __LINE__, API_NAMESPACE);
+               return 1;
+       }
+
+       nRet = inm_reachable_urls_stop_checking(g_hInm, INM_URL_LIST_TYPE_DEFAULT);
+       PRINT_RESULT_NORETURN(nRet, INM_ERROR_NONE, "inm_reachable_urls_stop_checking", InmGetError(nRet));
+
+       return 0;
+}
+
 /** @} */
 /** @} */
index 7c5e222f829960c071840233c70bc0902bd90890..e1ff1ff35d19cbc6b2f694bcc40e7d9b3518b06f 100755 (executable)
@@ -111,6 +111,14 @@ extern int ITc_inm_link_route_get_gateway_p(void);
 extern int ITc_inm_link_route_get_interface_p(void);
 extern int ITc_inm_link_route_is_default_p(void);
 extern int ITc_inm_link_route_get_type_p(void);
+extern int ITc_inm_refresh_links_p(void);
+extern int ITc_inm_arp_request_set_get_packet_interval_p(void);
+extern int ITc_inm_arp_request_start_stop_p(void);
+extern int ITc_inm_default_gateway_start_stop_checking_p(void);
+extern int ITc_inm_default_dns_lookup_check_p(void);
+extern int ITc_inm_reachable_urls_add_remove_url_to_check_p(void);
+extern int ITc_inm_reachable_urls_start_stop_checking_p(void);
+extern int ITc_inm_reachable_urls_is_check_running_p(void);
 
 testcase tc_array[] = {
        {"ITc_inm_link_foreach_address_destroy_p",ITc_inm_link_foreach_address_destroy_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
@@ -200,6 +208,14 @@ testcase tc_array[] = {
        {"ITc_inm_link_get_operation_state_p",ITc_inm_link_get_operation_state_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
        {"ITc_inm_link_get_received_bytes_p",ITc_inm_link_get_received_bytes_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
        {"ITc_inm_link_get_sent_bytes_p",ITc_inm_link_get_sent_bytes_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
+       {"ITc_inm_refresh_links_p",ITc_inm_refresh_links_p,ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_arp_request_set_get_packet_interval_p",ITc_inm_arp_request_set_get_packet_interval_p,ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_arp_request_start_stop_p", ITc_inm_arp_request_start_stop_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_default_gateway_start_stop_checking_p", ITc_inm_default_gateway_start_stop_checking_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_default_dns_lookup_check_p", ITc_inm_default_dns_lookup_check_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_reachable_urls_add_remove_url_to_check_p", ITc_inm_reachable_urls_add_remove_url_to_check_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_reachable_urls_start_stop_checking_p", ITc_inm_reachable_urls_start_stop_checking_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_reachable_urls_is_check_running_p", ITc_inm_reachable_urls_is_check_running_p, ITs_inm_startup,ITs_inm_cleanup},
        {NULL, NULL}
 };
 
index 7c5e222f829960c071840233c70bc0902bd90890..e1ff1ff35d19cbc6b2f694bcc40e7d9b3518b06f 100755 (executable)
@@ -111,6 +111,14 @@ extern int ITc_inm_link_route_get_gateway_p(void);
 extern int ITc_inm_link_route_get_interface_p(void);
 extern int ITc_inm_link_route_is_default_p(void);
 extern int ITc_inm_link_route_get_type_p(void);
+extern int ITc_inm_refresh_links_p(void);
+extern int ITc_inm_arp_request_set_get_packet_interval_p(void);
+extern int ITc_inm_arp_request_start_stop_p(void);
+extern int ITc_inm_default_gateway_start_stop_checking_p(void);
+extern int ITc_inm_default_dns_lookup_check_p(void);
+extern int ITc_inm_reachable_urls_add_remove_url_to_check_p(void);
+extern int ITc_inm_reachable_urls_start_stop_checking_p(void);
+extern int ITc_inm_reachable_urls_is_check_running_p(void);
 
 testcase tc_array[] = {
        {"ITc_inm_link_foreach_address_destroy_p",ITc_inm_link_foreach_address_destroy_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
@@ -200,6 +208,14 @@ testcase tc_array[] = {
        {"ITc_inm_link_get_operation_state_p",ITc_inm_link_get_operation_state_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
        {"ITc_inm_link_get_received_bytes_p",ITc_inm_link_get_received_bytes_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
        {"ITc_inm_link_get_sent_bytes_p",ITc_inm_link_get_sent_bytes_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
+       {"ITc_inm_refresh_links_p",ITc_inm_refresh_links_p,ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_arp_request_set_get_packet_interval_p",ITc_inm_arp_request_set_get_packet_interval_p,ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_arp_request_start_stop_p", ITc_inm_arp_request_start_stop_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_default_gateway_start_stop_checking_p", ITc_inm_default_gateway_start_stop_checking_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_default_dns_lookup_check_p", ITc_inm_default_dns_lookup_check_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_reachable_urls_add_remove_url_to_check_p", ITc_inm_reachable_urls_add_remove_url_to_check_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_reachable_urls_start_stop_checking_p", ITc_inm_reachable_urls_start_stop_checking_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_reachable_urls_is_check_running_p", ITc_inm_reachable_urls_is_check_running_p, ITs_inm_startup,ITs_inm_cleanup},
        {NULL, NULL}
 };
 
index 7c5e222f829960c071840233c70bc0902bd90890..e1ff1ff35d19cbc6b2f694bcc40e7d9b3518b06f 100755 (executable)
@@ -111,6 +111,14 @@ extern int ITc_inm_link_route_get_gateway_p(void);
 extern int ITc_inm_link_route_get_interface_p(void);
 extern int ITc_inm_link_route_is_default_p(void);
 extern int ITc_inm_link_route_get_type_p(void);
+extern int ITc_inm_refresh_links_p(void);
+extern int ITc_inm_arp_request_set_get_packet_interval_p(void);
+extern int ITc_inm_arp_request_start_stop_p(void);
+extern int ITc_inm_default_gateway_start_stop_checking_p(void);
+extern int ITc_inm_default_dns_lookup_check_p(void);
+extern int ITc_inm_reachable_urls_add_remove_url_to_check_p(void);
+extern int ITc_inm_reachable_urls_start_stop_checking_p(void);
+extern int ITc_inm_reachable_urls_is_check_running_p(void);
 
 testcase tc_array[] = {
        {"ITc_inm_link_foreach_address_destroy_p",ITc_inm_link_foreach_address_destroy_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
@@ -200,6 +208,14 @@ testcase tc_array[] = {
        {"ITc_inm_link_get_operation_state_p",ITc_inm_link_get_operation_state_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
        {"ITc_inm_link_get_received_bytes_p",ITc_inm_link_get_received_bytes_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
        {"ITc_inm_link_get_sent_bytes_p",ITc_inm_link_get_sent_bytes_p,ITs_inm_link_startup,ITs_inm_link_cleanup},
+       {"ITc_inm_refresh_links_p",ITc_inm_refresh_links_p,ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_arp_request_set_get_packet_interval_p",ITc_inm_arp_request_set_get_packet_interval_p,ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_arp_request_start_stop_p", ITc_inm_arp_request_start_stop_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_default_gateway_start_stop_checking_p", ITc_inm_default_gateway_start_stop_checking_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_default_dns_lookup_check_p", ITc_inm_default_dns_lookup_check_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_reachable_urls_add_remove_url_to_check_p", ITc_inm_reachable_urls_add_remove_url_to_check_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_reachable_urls_start_stop_checking_p", ITc_inm_reachable_urls_start_stop_checking_p, ITs_inm_startup,ITs_inm_cleanup},
+       {"ITc_inm_reachable_urls_is_check_running_p", ITc_inm_reachable_urls_is_check_running_p, ITs_inm_startup,ITs_inm_cleanup},
        {NULL, NULL}
 };