e_test_event: add method RenderTrace, signal RenderRun 67/195267/1
authorJuyeon Lee <juyeonne.lee@samsung.com>
Wed, 12 Dec 2018 05:21:41 +0000 (14:21 +0900)
committerJuyeon Lee <juyeonne.lee@samsung.com>
Wed, 12 Dec 2018 05:22:44 +0000 (14:22 +0900)
by giving render tracing options using method 'RenderTrace'
TC gets the signal 'RenderRun' for registered window

Change-Id: I31c23f17f0b50b40d75bad060c84c944b37068b3

src/e_test_event.cpp
src/e_test_event.h
src/testcase/0001_easy.cpp
src/testcase/0011_effect.cpp

index 6b91b35..62725e0 100644 (file)
@@ -32,7 +32,7 @@ static void _cb_signal_vis_changed(void *data, const Eldbus_Message *msg);
 static void _cb_signal_stack_changed(void *data, const Eldbus_Message *msg);
 static void _cb_signal_win_rot_changed(void *data, const Eldbus_Message *msg);
 static void _cb_signal_focus_changed(void *data, const Eldbus_Message *msg);
-static void _cb_signal_effect_run(void *data, const Eldbus_Message *msg);
+static void _cb_signal_render_while_effect_run(void *data, const Eldbus_Message *msg);
 
 /* callbacks - ecore */
 static Eina_Bool _cb_ecore_key(void *data, int type, void *event);
@@ -858,31 +858,24 @@ etRunner::setSplashOwner()
 }
 
 Eina_Bool
-etRunner::setWindowEffectType(etWin *tw, E_TC_Window_Effect_type type)
+etRunner::setWinEffect(etWin *tw)
 {
    Eldbus_Pending *p = NULL;
    Eina_Bool accepted = EINA_FALSE;
 
-   this->ev.effect.type = type;
    this->ev.win = tw->elm_win;
 
    p = eldbus_proxy_call(dbus.proxy,
-                         "SetWindowEffect",
+                         "RenderTrace",
                          _cb_method_window_effect,
                          &accepted,
                          -1,
-                         "ui",
+                         "us",
                          tw->native_win,
-                         type);
+                         "effect");
    EINA_SAFETY_ON_NULL_RETURN_VAL(p, EINA_FALSE);
 
-   this->ev.sh = eldbus_proxy_signal_handler_add(dbus.proxy,
-                                                 "EffectRun",
-                                                 _cb_signal_effect_run,
-                                                 this);
-   EINA_SAFETY_ON_NULL_RETURN_VAL(this->ev.sh, EINA_FALSE);
    work();
-
    return accepted;
 }
 
@@ -984,7 +977,10 @@ etRunner::waitEvent(E_TC_Event_Type ev_type)
          break;
 
       case E_TC_EVENT_TYPE_EFFECT:
-         EINA_SAFETY_ON_NULL_GOTO(this->ev.sh, finish);
+         sh = eldbus_proxy_signal_handler_add(dbus.proxy,
+                                                 "RenderRun",
+                                                 _cb_signal_render_while_effect_run,
+                                                 this);
          break;
 
       case E_TC_EVENT_TYPE_EFFECT_EVAS_CB:
@@ -1514,26 +1510,19 @@ finish:
 }
 
 static void
-_cb_signal_effect_run(void *data,
+_cb_signal_render_while_effect_run(void *data,
                       const Eldbus_Message *msg)
 {
    etRunner *runner = (etRunner *)data;
    const char *name = NULL, *text = NULL;
    Eina_Bool res = EINA_FALSE;
-   unsigned int effect_type = 0;
-   Ecore_Window id;
 
    res = eldbus_message_error_get(msg, &name, &text);
    EINA_SAFETY_ON_TRUE_GOTO(res, finish);
 
-   res = eldbus_message_arguments_get(msg, "ui", &id, &effect_type);
-   EINA_SAFETY_ON_FALSE_GOTO(res, finish);
+   runner->ev.response = runner->ev.request;
+   elm_exit();
 
-   if (effect_type == runner->ev.effect.type)
-     {
-        runner->ev.response = runner->ev.request;
-        elm_exit();
-     }
 finish:
    if ((name) || (text))
      {
index 8cb3d02..faf4513 100644 (file)
@@ -139,7 +139,7 @@ public:
    Eina_Bool     generateTouchUp(int idx, int x, int y);
    Eina_Bool     setSplashLaunch(const char *path, int type);
    Eina_Bool     setSplashOwner();
-   Eina_Bool     setWindowEffectType(etWin *tw, E_TC_Window_Effect_type type);
+   Eina_Bool     setWinEffect(etWin *tw);
    Eina_Bool     freezeEvent();
    Eina_Bool     thawEvent();
    Eina_Bool     waitEvent(E_TC_Event_Type ev);
index 16dcc0f..1a1d22d 100644 (file)
@@ -45,12 +45,12 @@ _cb_introspect(void *data,
        (!strstr(arg, "method name=\"HWC\""                    )) ||
        (!strstr(arg, "method name=\"GetCurrentZoneRotation\"" )) ||
        (!strstr(arg, "method name=\"ChangeZoneRotation\""     )) ||
-       (!strstr(arg, "method name=\"SetWindowEffect\""     )) ||
+       (!strstr(arg, "method name=\"RenderTrace\""     )) ||
        (!strstr(arg, "signal name=\"VisibilityChanged\""      )) ||
        (!strstr(arg, "signal name=\"StackChanged\""           )) ||
        (!strstr(arg, "signal name=\"WinRotationChanged\""     )) ||
        (!strstr(arg, "signal name=\"FocusChanged\""           )) ||
-       (!strstr(arg, "signal name=\"EffectRun\""           )) ||
+       (!strstr(arg, "signal name=\"RenderRun\""           )) ||
        (!strstr(arg, "property name=\"Registrant\""           )))
      {
         ERR("missing mehod, signal or property:%s\n", arg);
index 315336b..8c5e4c3 100644 (file)
@@ -18,7 +18,10 @@ TEST_F(etTestEffect, effect_show)
    tw = initNormalWin("TCWin_Effect_Show", EINA_FALSE, EINA_FALSE);
    ASSERT_TRUE(tw != NULL) << "failed to initiation window";
 
-   res = etRunner::get().setWindowEffectType(tw, E_TC_EFFECT_SHOW);
+   res = registerTCWin(tw);
+   ASSERT_TRUE(res);
+
+   res = etRunner::get().setWinEffect(tw);
    ASSERT_TRUE(res);
 
    tw->updateGeometry();
@@ -36,15 +39,18 @@ TEST_F(etTestEffect, effect_hide)
    tw = initNormalWin("TCWin_Effect_Hide", EINA_FALSE, EINA_FALSE);
    ASSERT_TRUE(tw != NULL) << "failed to initiation window";
 
+   res = registerTCWin(tw);
+   ASSERT_TRUE(res);
+
    tw->updateGeometry();
    tw->show();
    etRunner::get().work(1.1);
 
-   res = etRunner::get().setWindowEffectType(tw, E_TC_EFFECT_HIDE);
+   res = etRunner::get().setWinEffect(tw);
    ASSERT_TRUE(res);
    etRunner::get().work(1.1);
 
-   tw->hide();
+   elm_win_lower(tw->elm_win);
 
    res = etRunner::get().waitEvent(E_TC_EVENT_TYPE_EFFECT);
    ASSERT_TRUE(res);