+%define USE_GCOV 0
+
Name: enlightenment
Version: 0.20.0
Release: 0
export CFLAGS+=" -fPIE -DUSE_E_APPINFO"
export LDFLAGS+=" -pie "
%endif
+%if "%{USE_GCOV}" == "1"
+export CFLAGS+=" -fprofile-arcs -ftest-coverage -DTIZEN_TEST_GCOV "
+export LDFLAGS+=" -lgcov "
+%endif
%autogen \
TIZEN_REL_VERSION="%{release}-%{TIZEN_REL_VERSION}" \
--enable-function-trace \
printf("Usage: %s", USAGE_FILTER);
}
+static void
+_e_info_client_proc_gcov(int argc, char **argv)
+{
+ int mode = 0;
+
+ if (argc == 3)
+ {
+ if ((argv[2][0] < '0' || argv[2][0] > '1'))
+ {
+ printf("Error: invalid argument\n");
+ return;
+ }
+
+ mode = atoi(argv[2]);
+ if (!_e_info_client_eldbus_message_with_args("gcov", NULL, "i", mode))
+ {
+ printf("_e_info_client_proc_gcov fail (%d)\n", mode);
+ return;
+ }
+ }
+ else
+ {
+ printf("Error: invalid argument\n");
+ return;
+ }
+
+ return;
+}
+
typedef struct _ProcInfo
{
const char *option;
"Get information or Enable/Disable functionality for desk group",
_e_info_client_proc_desk_group
},
+ {
+ "gcov",
+ NULL,
+ "execute gcov flush",
+ _e_info_client_proc_gcov
+ },
};
ProcInfo procs_to_input[] =
return reply;
}
+static Eldbus_Message *
+_e_info_server_cb_gcov(const Eldbus_Service_Interface *iface EINA_UNUSED, const Eldbus_Message *msg)
+{
+ Eldbus_Message *reply = eldbus_message_method_return_new(msg);
+ int mode;
+
+ if (!eldbus_message_arguments_get(msg, "i", &mode))
+ {
+ ERR("Error getting arguments.");
+ return reply;
+ }
+
+#ifdef TIZEN_TEST_GCOV
+ __gcov_flush();
+#endif
+
+ return reply;
+}
+
//{ "method_name", arguments_from_client, return_values_to_client, _method_cb, ELDBUS_METHOD_FLAG },
static const Eldbus_Method methods[] = {
{ "get_window_info", NULL, ELDBUS_ARGS({"iiiiisiiiiia("VALUE_TYPE_FOR_TOPVWINS")", "array of ec"}), _e_info_server_cb_window_info_get, 0 },
{ "touchgen", ELDBUS_ARGS({"iiii", "touch information"}), ELDBUS_ARGS({"s", "result message"}), _e_info_server_cb_touchgen, 0},
{ "mousegen", ELDBUS_ARGS({"iiii", "mouse information"}), ELDBUS_ARGS({"s", "result message"}), _e_info_server_cb_mousegen, 0},
{ "filter", ELDBUS_ARGS({"sis", "win_id, on(1)/off(0), filter name"}), ELDBUS_ARGS({"s", "result of request"}), _e_info_server_cb_filter, 0},
+ { "gcov", ELDBUS_ARGS({"i", "option"}), NULL, _e_info_server_cb_gcov, 0},
{ NULL, NULL, NULL, NULL, 0 }
};
# endif
#endif
+#ifdef TIZEN_TEST_GCOV
+ setenv("GCOV_PREFIX", "/tmp", 1);
+#endif
+
/* for debugging by redirecting stdout & stderr of e to a log file to tail */
setvbuf(stdout, NULL, _IONBF, 0);
setvbuf(stderr, NULL, _IONBF, 0);