From: Junseok, Kim Date: Wed, 14 Apr 2021 03:40:26 +0000 (+0900) Subject: e_test_event: Added timeout set method X-Git-Tag: accepted/tizen/unified/20210422.005325~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F54%2F256854%2F1;p=platform%2Fcore%2Fuifw%2Fe-tizen-testcase.git e_test_event: Added timeout set method Added timeout set method. It could set/unset timer of Testcase, and can set time of timer. The patch needs enlightenment's "e_test_helper: Added timeout set method" patch. Change-Id: I2651f3e6d561c90f6569baf07cf755eb2a843309 --- diff --git a/src/e_test_event.cpp b/src/e_test_event.cpp index 94d4dd5..63af5ac 100644 --- a/src/e_test_event.cpp +++ b/src/e_test_event.cpp @@ -73,6 +73,7 @@ static void _cb_method_window_register(void *data, const Eldbus_Message *msg, El static void _cb_method_zone_rotation_change(void *data, const Eldbus_Message *msg, Eldbus_Pending *p); static void _cb_method_window_effect(void *data, const Eldbus_Message *msg, Eldbus_Pending *p); static void _cb_method_set_tc_start_end(void *data, const Eldbus_Message *msg, Eldbus_Pending *p); +static void _cb_method_set_tc_timeout(void *data, const Eldbus_Message *msg, Eldbus_Pending *p); static void _cb_method_transient_for_below(void *data, const Eldbus_Message *msg, Eldbus_Pending *p); /* callbacks - signal */ @@ -592,6 +593,35 @@ etRunner::setTCEnd() } Eina_Bool +etRunner::setTCTimeout(Eina_Bool set, int timeout) +{ + Eldbus_Pending *p = NULL; + Eina_Bool res = EINA_FALSE; + + if (timeout <= 0) return EINA_FALSE; + + p = eldbus_proxy_call(dbus.ds_proxy, + "SetTestTimeout", + _cb_method_set_tc_timeout, + &res, + -1, + "bu", + set, + timeout); + EINA_SAFETY_ON_NULL_GOTO(p, err); + + work(); + + EINA_SAFETY_ON_FALSE_GOTO(res, err); + + return EINA_TRUE; + +err: + setTCEnd(); + return EINA_FALSE; +} + +Eina_Bool etRunner::getWinInfo(etWin *tw) { Eldbus_Pending *p = NULL; @@ -1888,6 +1918,33 @@ finish: } static void +_cb_method_set_tc_timeout(void *data, + const Eldbus_Message *msg, + Eldbus_Pending *p) +{ + const char *name = NULL, *text = NULL; + Eina_Bool res = EINA_FALSE; + Eina_Bool *accept = (Eina_Bool *)data; + + *accept = EINA_FALSE; + + res = eldbus_message_error_get(msg, &name, &text); + EINA_SAFETY_ON_TRUE_GOTO(res, finish); + + res = eldbus_message_arguments_get(msg, "b", accept); + EINA_SAFETY_ON_FALSE_GOTO(res, finish); + EINA_SAFETY_ON_FALSE_GOTO(*accept, finish); + +finish: + if ((name) || (text)) + { + ERR("errname: %s errmsg: %s\n", name, text); + } + + etRunner::get().finishWork(); +} + +static void _cb_method_transient_for_below(void *data, const Eldbus_Message *msg, Eldbus_Pending *p) diff --git a/src/e_test_event.h b/src/e_test_event.h index c8c7fd5..811e55a 100644 --- a/src/e_test_event.h +++ b/src/e_test_event.h @@ -197,6 +197,7 @@ public: Eina_Bool delAuxHint(etWin *tw, int hint_id); Eina_Bool setTCStart(); Eina_Bool setTCEnd(); + Eina_Bool setTCTimeout(Eina_Bool set, int timeout); Eina_Bool getWinInfo(etWin *tw); Eina_List *getWinInfoList(); void freeWinInfoList(Eina_List *list);