[ITC][STC][Non-ACR][Fix issue of fail of ITs_stc_foreach_all_stats_p] 88/209288/1
authorLokesh <l.kasana@samsung.com>
Thu, 4 Jul 2019 05:40:30 +0000 (11:10 +0530)
committerLokesh <l.kasana@samsung.com>
Thu, 4 Jul 2019 10:10:02 +0000 (15:40 +0530)
Change-Id: I8068cbf0e53be34918147b2724153f300bf6507b
Signed-off-by: Lokesh <l.kasana@samsung.com>
src/itc/stc/ITs-stc.c

index 2222fce2b5954f117457b76550306107df745eda..e093b6ae662d0bcae357e4a786876b24248cbf7d 100755 (executable)
@@ -32,8 +32,6 @@
 */
 stc_callback_ret_e StcForeachStatsCallback(stc_error_e result, stc_stats_info_h info, void *user_data)
 {
-       g_bCallbackCalled = true;
-
        switch (g_eStatsInfo) {
        case STATS_INFO_FOREACH_ALL:
                {
@@ -45,7 +43,6 @@ stc_callback_ret_e StcForeachStatsCallback(stc_error_e result, stc_stats_info_h
                break;
        }
 
-       QUIT_GMAIN_LOOP;
        return STC_CALLBACK_CANCEL;
 }
 
@@ -59,19 +56,20 @@ stc_callback_ret_e StcForeachStatsCallback(stc_error_e result, stc_stats_info_h
 */
 void StcGetStatsFinishedCallback(stc_error_e result, stc_all_stats_info_h info, void *user_data)
 {
+       g_bCallbackCalled = true;
 
        switch (g_eStatsInfo) {
        case STATS_INFO_GET_ALL:
                {
+                       g_iTargetApiCallback = result;
                        FPRINTF("[Line : %d][%s] Callback invoked for STATS_INFO_GET_ALL\\n", __LINE__, API_NAMESPACE);
-                       g_bCallbackCalled = true;
                }
                break;
        case STATS_INFO_FOREACH_ALL:
                {
                        int nRet = stc_foreach_all_stats(info, StcForeachStatsCallback, user_data);
                        g_iTargetApiCallback = nRet;
-                       PRINT_RESULT_NORETURN(STC_ERROR_NONE, nRet, "stc_foreach_all_stas", StcGetError(nRet));
+                       PRINT_RESULT_NORETURN(STC_ERROR_NONE, nRet, "stc_foreach_all_stats", StcGetError(nRet));
                }
                break;
        default:
@@ -887,6 +885,7 @@ int ITs_stc_stats_rule_set_get_time_period_p(void)
 */
 gboolean StcTimeout(gpointer data)
 {
+       g_iTargetApiCallback = STC_ERROR_INVALID_OPERATION;
        FPRINTF("[Line : %d][%s] Callback Time-out\\n", __LINE__, API_NAMESPACE);
        QUIT_GMAIN_LOOP;
        return false;
@@ -977,13 +976,18 @@ int ITs_stc_get_all_stats_p(void)
        PRINT_RESULT(STC_ERROR_NONE, nRet, "stc_stats_rule_set_time_interval", StcGetError(nRet));
 
        g_bCallbackCalled = false;
+       g_iTargetApiCallback = -1;
        g_eStatsInfo = eInfo;
 
        nRet = stc_get_all_stats(g_hSTC, g_hRule, StcGetStatsFinishedCallback, NULL);
        PRINT_RESULT(STC_ERROR_NONE, nRet, "stc_get_all_stats", StcGetError(nRet));
 
        RUN_GMAIN_LOOP;
-
+       if(g_iTargetApiCallback != STC_ERROR_NONE)
+       {
+               FPRINTF("[Line : %d][%s] Target Api failed in the callback= %s\\n", __LINE__, API_NAMESPACE, "StcGetStatsFinishedCallback");
+               return 1;
+       }
        if(g_bCallbackCalled == false)
        {
                FPRINTF("[Line : %d][%s] Callback not invoked for %s\\n", __LINE__, API_NAMESPACE, "stc_get_all_stats");