From cf93872cdc90c2bfd39abf326979470d21f7a4f4 Mon Sep 17 00:00:00 2001 From: Stefan Schmidt Date: Wed, 18 Mar 2020 17:03:07 +0100 Subject: [PATCH] exactness: remove support for legacy .rec format From now on we will only go with the new .exu format. All tests have been converted two and a half years ago already. If there still is a need for this in some corner cases the external exactness application still has support for this. Differential Revision: https://phab.enlightenment.org/D11537 --- src/bin/exactness/exactness.c | 17 +- src/bin/exactness/injector.c | 4 - src/bin/exactness/inspect.c | 25 +- src/bin/exactness/player.c | 16 +- src/lib/exactness/Exactness.h | 9 - src/lib/exactness/legacy_file.c | 875 -------------------------------- src/lib/exactness/meson.build | 1 - 7 files changed, 5 insertions(+), 942 deletions(-) delete mode 100644 src/lib/exactness/legacy_file.c diff --git a/src/bin/exactness/exactness.c b/src/bin/exactness/exactness.c index c594b28a60..ed999658c9 100644 --- a/src/bin/exactness/exactness.c +++ b/src/bin/exactness/exactness.c @@ -184,15 +184,6 @@ _run_test_compare(const List_Entry *ent) _exu_imgs_unpack(path, currentdir, ent->name); goto found; } - else - { - sprintf(path, "%s/%s.rec", base_dir, ent->name); - if (ecore_file_exists(path)) - { - sprintf(origdir, "%s/%s", _dest_dir, ORIG_SUBDIR); - goto found; - } - } } found: do @@ -226,12 +217,6 @@ _run_command_prepare(const List_Entry *ent, char *buf) is_exu = EINA_TRUE; sprintf(scn_path, "%s/%s.exu", base_dir, ent->name); if (ecore_file_exists(scn_path)) goto ok; - else - { - is_exu = EINA_FALSE; - sprintf(scn_path, "%s/%s.rec", base_dir, ent->name); - if (ecore_file_exists(scn_path)) goto ok; - } } fprintf(stderr, "Test %s not found in the provided base directories\n", ent->name); return EINA_FALSE; @@ -432,7 +417,7 @@ static const Ecore_Getopt optdesc = { "A pixel perfect test suite for EFL based applications.", 0, { - ECORE_GETOPT_APPEND('b', "base-dir", "The location of the exu/rec files.", ECORE_GETOPT_TYPE_STR), + ECORE_GETOPT_APPEND('b', "base-dir", "The location of the exu files.", ECORE_GETOPT_TYPE_STR), ECORE_GETOPT_STORE_STR('o', "output", "The location of the images."), ECORE_GETOPT_STORE_STR('w', "wrap", "Use a custom command to launch the tests (e.g valgrind)."), ECORE_GETOPT_STORE_USHORT('j', "jobs", "The number of jobs to run in parallel."), diff --git a/src/bin/exactness/injector.c b/src/bin/exactness/injector.c index 928de47a62..7530fd8806 100644 --- a/src/bin/exactness/injector.c +++ b/src/bin/exactness/injector.c @@ -241,10 +241,6 @@ _src_open() { _src_unit = exactness_unit_file_read(_src_filename); } - else if (!strcmp(_src_filename + strlen(_src_filename) - 4,".rec")) - { - _src_unit = legacy_rec_file_read(_src_filename); - } if (!_src_unit) return EINA_FALSE; _cur_event_list = _src_unit->actions; Exactness_Action *act = eina_list_data_get(_cur_event_list); diff --git a/src/bin/exactness/inspect.c b/src/bin/exactness/inspect.c index 384cda81b6..eeb108b95b 100644 --- a/src/bin/exactness/inspect.c +++ b/src/bin/exactness/inspect.c @@ -1238,7 +1238,7 @@ _image_read(const char *filename) static const Ecore_Getopt optdesc = { "exactness_inspect", - "%prog [options] [ | ]", + "%prog [options] [ | ]", NULL, "(C) 2016 Enlightenment", "BSD", @@ -1310,7 +1310,7 @@ main(int argc, char *argv[]) } if ((clean || delay || shot || list_get || stabilize || pack) && args == argc) { - fprintf(stderr, "Expected scenario (.rec/.exu) as the last argument.\n"); + fprintf(stderr, "Expected scenario (.exu) as the last argument.\n"); ecore_getopt_help(stderr, &optdesc); goto end; } @@ -1370,15 +1370,6 @@ main(int argc, char *argv[]) goto end; } } - else if (!strcmp(ext, ".rec")) - { - if (!unit) unit = legacy_rec_file_read(src_file); - else - { - fprintf(stderr, "%s - scenario already provided\n", src_file); - goto end; - } - } else if (!strcmp(ext, ".png")) { Exactness_Image *ex_img = _image_read(src_file); @@ -1391,7 +1382,7 @@ main(int argc, char *argv[]) } else { - fprintf(stderr, "Correct extension (.exu/.rec/.png) required\n"); + fprintf(stderr, "Correct extension (.exu/.png) required\n"); goto end; } } @@ -1423,16 +1414,6 @@ main(int argc, char *argv[]) units_filenames = eina_list_append(units_filenames, argv[arg]); _units = eina_list_append(_units, ex_unit); } - else if (!strcmp(ext, ".rec")) - { - Exactness_Unit *ex_unit = legacy_rec_file_read(argv[arg]); - if (!ex_unit) - { - fprintf(stderr, "Issue while reading %s\n", argv[arg]); - goto end; - } - _units = eina_list_append(_units, ex_unit); - } else if (!strcmp(ext, ".png")) { Exactness_Unit *ex_unit = calloc(1, sizeof(*ex_unit)); diff --git a/src/bin/exactness/player.c b/src/bin/exactness/player.c index f95008f616..cca1d37a0e 100644 --- a/src/bin/exactness/player.c +++ b/src/bin/exactness/player.c @@ -770,10 +770,6 @@ _src_open() { _src_unit = exactness_unit_file_read(_src_filename); } - else if (_src_type == FTYPE_REC) - { - _src_unit = legacy_rec_file_read(_src_filename); - } if (!_src_unit) return EINA_FALSE; if (_stabilize_shots) { @@ -885,7 +881,7 @@ static const Ecore_Getopt optdesc = { " Otherwise the given path is considered as a directory\n" " where shots will be stored.\n" " If omitted, the output type (exu or dir) is determined\n" - " by the given test extension (resp. exu or rec)."), + " by the given test extension"), ECORE_GETOPT_STORE_STR('t', "test", "Test to run on the given application"), ECORE_GETOPT_STORE_TRUE('s', "show-on-screen", "Show on screen."), ECORE_GETOPT_STORE_TRUE(0, "scan-objects", "Extract information of all the objects at every shot."), @@ -1014,15 +1010,6 @@ int main(int argc, char **argv) _dest = "./output.exu"; } } - else if (!strcmp(_src_filename + strlen(_src_filename) - 4,".rec")) - { - _src_type = FTYPE_REC; - if (_dest_type == FTYPE_UNKNOWN) - { - _dest_type = FTYPE_DIR; - _dest = "."; - } - } char *slash = strrchr(_src_filename, '/'); if (slash) _test_name = strdup(slash + 1); else _test_name = strdup(_src_filename); @@ -1158,7 +1145,6 @@ int main(int argc, char **argv) { Exactness_Unit *tmp = NULL; if (_src_type == FTYPE_EXU) tmp = exactness_unit_file_read(_src_filename); - if (_src_type == FTYPE_REC) tmp = legacy_rec_file_read(_src_filename); _dest_unit->actions = tmp->actions; _dest_unit->codes = tmp->codes; } diff --git a/src/lib/exactness/Exactness.h b/src/lib/exactness/Exactness.h index d5587c3fbf..33c448cf58 100644 --- a/src/lib/exactness/Exactness.h +++ b/src/lib/exactness/Exactness.h @@ -252,15 +252,6 @@ EAPI Eina_Bool exactness_image_compare(Exactness_Image *img1, Exactness_Image *i */ EAPI void exactness_image_free(Exactness_Image *img); -/** - * @brief Read a legacy file and convert it to an unit - * - * @param filename Name of the legacy file - * - * @return the unit - */ -EAPI Exactness_Unit *legacy_rec_file_read(const char *filename); - /** * @} */ diff --git a/src/lib/exactness/legacy_file.c b/src/lib/exactness/legacy_file.c deleted file mode 100644 index ae496a15b2..0000000000 --- a/src/lib/exactness/legacy_file.c +++ /dev/null @@ -1,875 +0,0 @@ -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "Exactness.h" - -#define CACHE_FILE_ENTRY "cache" - -enum _Tsuite_Event_Type -{ /* Add any supported events here */ - TSUITE_EVENT_NOT_SUPPORTED = 0, - TSUITE_EVENT_MOUSE_IN, - TSUITE_EVENT_MOUSE_OUT, - TSUITE_EVENT_MOUSE_DOWN, - TSUITE_EVENT_MOUSE_UP, - TSUITE_EVENT_MOUSE_MOVE, - TSUITE_EVENT_MOUSE_WHEEL, - TSUITE_EVENT_MULTI_DOWN, - TSUITE_EVENT_MULTI_UP, - TSUITE_EVENT_MULTI_MOVE, - TSUITE_EVENT_KEY_DOWN, - TSUITE_EVENT_KEY_UP, - TSUITE_EVENT_KEY_DOWN_WITH_KEYCODE, - TSUITE_EVENT_KEY_UP_WITH_KEYCODE, - TSUITE_EVENT_TAKE_SHOT -}; -typedef enum _Tsuite_Event_Type Tsuite_Event_Type; - -struct _eet_event_type_mapping -{ - Tsuite_Event_Type t; - const char *name; -}; -typedef struct _eet_event_type_mapping eet_event_type_mapping; - -struct _Variant_Type_st -{ - const char *type; - Eina_Bool unknow : 1; -}; -typedef struct _Variant_Type_st Variant_Type_st; - -struct _Variant_st -{ - Variant_Type_st t; - void *data; /* differently than the union type, we - * don't need to pre-allocate the memory - * for the field*/ -}; -typedef struct _Variant_st Variant_st; - -struct _Timer_Data -{ - unsigned int recent_event_time; - Eina_List *current_event; -}; -typedef struct _Timer_Data Timer_Data; - -struct _Tsuite_Data -{ - int serial; /**< Serial number of current-file */ - Timer_Data *td; -}; -typedef struct _Tsuite_Data Tsuite_Data; - -struct _mouse_in_mouse_out -{ - unsigned int timestamp; - int n_evas; -}; - -struct _mouse_down_mouse_up -{ - int b; - Evas_Button_Flags flags; - unsigned int timestamp; - int n_evas; -}; - -struct _mouse_move -{ - int x; - int y; - unsigned int timestamp; - int n_evas; -}; - -struct _mouse_wheel -{ - int direction; - int z; - unsigned int timestamp; - int n_evas; -}; - -struct _key_down_key_up -{ - unsigned int timestamp; - const char *keyname; - const char *key; - const char *string; - const char *compose; - int n_evas; -}; - -struct _key_down_key_up_with_keycode -{ - unsigned int timestamp; - const char *keyname; - const char *key; - const char *string; - const char *compose; - int n_evas; - unsigned int keycode; -}; - -struct _multi_event -{ - int d; - int b; /* In case of simple mouse down/up, corresponds to the button */ - int x; - int y; - double rad; - double radx; - double rady; - double pres; - double ang; - double fx; - double fy; - Evas_Button_Flags flags; - unsigned int timestamp; - int n_evas; -}; - -struct _multi_move -{ - int d; - int x; - int y; - double rad; - double radx; - double rady; - double pres; - double ang; - double fx; - double fy; - unsigned int timestamp; - int n_evas; -}; - -typedef struct _mouse_in_mouse_out mouse_in_mouse_out; -typedef struct _mouse_down_mouse_up mouse_down_mouse_up; -typedef struct _mouse_move mouse_move; -typedef struct _mouse_wheel mouse_wheel; -typedef struct _multi_event multi_event; -typedef struct _multi_move multi_move; -typedef struct _key_down_key_up key_down_key_up; -typedef struct _key_down_key_up_with_keycode key_down_key_up_with_keycode; -typedef struct _mouse_in_mouse_out take_screenshot; - -/* START - EET support typedefs */ -#define TSUITE_EVENT_MOUSE_IN_STR "tsuite_event_mouse_in" -#define TSUITE_EVENT_MOUSE_OUT_STR "tsuite_event_mouse_out" -#define TSUITE_EVENT_MOUSE_DOWN_STR "tsuite_event_mouse_down" -#define TSUITE_EVENT_MOUSE_UP_STR "tsuite_event_mouse_up" -#define TSUITE_EVENT_MOUSE_MOVE_STR "tsuite_event_mouse_move" -#define TSUITE_EVENT_MOUSE_WHEEL_STR "tsuite_event_mouse_wheel" -#define TSUITE_EVENT_MULTI_DOWN_STR "tsuite_event_multi_down" -#define TSUITE_EVENT_MULTI_UP_STR "tsuite_event_multi_up" -#define TSUITE_EVENT_MULTI_MOVE_STR "tsuite_event_multi_move" -#define TSUITE_EVENT_KEY_DOWN_STR "tsuite_event_key_down" -#define TSUITE_EVENT_KEY_UP_STR "tsuite_event_key_up" -#define TSUITE_EVENT_KEY_DOWN_WITH_KEYCODE_STR "tsuite_event_key_down_with_keycode" -#define TSUITE_EVENT_KEY_UP_WITH_KEYCODE_STR "tsuite_event_key_up_with_keycode" -#define TSUITE_EVENT_TAKE_SHOT_STR "tsuite_event_take_shot" - -struct _Lists_st -{ - Eina_List *variant_list; - unsigned int first_timestamp; -}; -typedef struct _Lists_st Lists_st; - -struct _data_desc -{ - Eet_Data_Descriptor *take_screenshot; - Eet_Data_Descriptor *mouse_in_mouse_out; - Eet_Data_Descriptor *mouse_down_mouse_up; - Eet_Data_Descriptor *mouse_move; - Eet_Data_Descriptor *mouse_wheel; - Eet_Data_Descriptor *multi_event; - Eet_Data_Descriptor *multi_move; - Eet_Data_Descriptor *key_down_key_up; - Eet_Data_Descriptor *key_down_key_up_with_keycode; - - /* list, variant EET desc support */ - Eet_Data_Descriptor *lists_descriptor; - Eet_Data_Descriptor *variant_descriptor; - Eet_Data_Descriptor *variant_unified_descriptor; -}; -typedef struct _data_desc data_desc; -/* END - EET support typedefs */ - -static data_desc *_desc = NULL; /* this struct holds descs (alloc on init) */ - -static eet_event_type_mapping eet_mapping[] = { - { TSUITE_EVENT_MOUSE_IN, TSUITE_EVENT_MOUSE_IN_STR }, - { TSUITE_EVENT_MOUSE_OUT, TSUITE_EVENT_MOUSE_OUT_STR }, - { TSUITE_EVENT_MOUSE_DOWN, TSUITE_EVENT_MOUSE_DOWN_STR }, - { TSUITE_EVENT_MOUSE_UP, TSUITE_EVENT_MOUSE_UP_STR }, - { TSUITE_EVENT_MOUSE_MOVE, TSUITE_EVENT_MOUSE_MOVE_STR }, - { TSUITE_EVENT_MOUSE_WHEEL, TSUITE_EVENT_MOUSE_WHEEL_STR }, - { TSUITE_EVENT_MULTI_DOWN, TSUITE_EVENT_MULTI_DOWN_STR }, - { TSUITE_EVENT_MULTI_UP, TSUITE_EVENT_MULTI_UP_STR }, - { TSUITE_EVENT_MULTI_MOVE, TSUITE_EVENT_MULTI_MOVE_STR }, - { TSUITE_EVENT_KEY_DOWN, TSUITE_EVENT_KEY_DOWN_STR }, - { TSUITE_EVENT_KEY_UP, TSUITE_EVENT_KEY_UP_STR }, - { TSUITE_EVENT_KEY_DOWN_WITH_KEYCODE, TSUITE_EVENT_KEY_DOWN_WITH_KEYCODE_STR }, - { TSUITE_EVENT_KEY_UP_WITH_KEYCODE, TSUITE_EVENT_KEY_UP_WITH_KEYCODE_STR }, - { TSUITE_EVENT_TAKE_SHOT, TSUITE_EVENT_TAKE_SHOT_STR }, - { TSUITE_EVENT_NOT_SUPPORTED, NULL } -}; - -static Tsuite_Event_Type -_event_mapping_type_get(const char *name) -{ - int i; - for (i = 0; eet_mapping[i].name != NULL; ++i) - if (strcmp(name, eet_mapping[i].name) == 0) - return eet_mapping[i].t; - - return TSUITE_EVENT_NOT_SUPPORTED; -} - -static unsigned int -_evt_time_get(unsigned int tm, Variant_st *v) -{ - if (!v) return tm; - switch(_event_mapping_type_get(v->t.type)) - { - case TSUITE_EVENT_MOUSE_IN: - { - mouse_in_mouse_out *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_MOUSE_OUT: - { - mouse_in_mouse_out *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_MOUSE_DOWN: - { - mouse_down_mouse_up *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_MOUSE_UP: - { - mouse_down_mouse_up *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_MOUSE_MOVE: - { - mouse_move *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_MOUSE_WHEEL: - { - mouse_wheel *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_MULTI_DOWN: - { - multi_event *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_MULTI_UP: - { - multi_event *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_MULTI_MOVE: - { - multi_move *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_KEY_DOWN: - { - key_down_key_up *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_KEY_UP: - { - key_down_key_up *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_KEY_DOWN_WITH_KEYCODE: - { - key_down_key_up_with_keycode *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_KEY_UP_WITH_KEYCODE: - { - key_down_key_up_with_keycode *t = v->data; - return t->timestamp; - } - case TSUITE_EVENT_TAKE_SHOT: - { - take_screenshot *t = v->data; - return t->timestamp; - } - default: /* All non-input events are not handeled */ - return tm; - break; - } -} - -static Lists_st * -_free_events(Lists_st *st) -{ - Variant_st *v; - if (!st) goto end; - EINA_LIST_FREE(st->variant_list, v) - { - free(v->data); - free(v); - } - - free(st); /* Allocated when reading data from EET file */ -end: - return NULL; -} - -static const char * -_variant_type_get(const void *data, Eina_Bool *unknow) -{ - const Variant_Type_st *type = data; - int i; - - if (unknow) - *unknow = type->unknow; - - for (i = 0; eet_mapping[i].name != NULL; ++i) - if (strcmp(type->type, eet_mapping[i].name) == 0) - return eet_mapping[i].name; - - if (unknow) - *unknow = EINA_FALSE; - - return type->type; -} /* _variant_type_get */ - -static Eina_Bool -_variant_type_set(const char *type, - void *data, - Eina_Bool unknow) -{ - Variant_Type_st *vt = data; - - vt->type = type; - vt->unknow = unknow; - return EINA_TRUE; -} /* _variant_type_set */ - -/* START Event struct descriptors */ -static Eet_Data_Descriptor * -_take_screenshot_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - Eet_Data_Descriptor *_d; - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, take_screenshot); - _d = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, take_screenshot, "timestamp", - timestamp, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, take_screenshot, "n_evas", - n_evas, EET_T_INT); - - return _d; -} - -static Eet_Data_Descriptor * -_mouse_in_mouse_out_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - Eet_Data_Descriptor *_d; - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, mouse_in_mouse_out); - _d = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_in_mouse_out, "timestamp", - timestamp, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_in_mouse_out, "n_evas", - n_evas, EET_T_INT); - - return _d; -} - -static Eet_Data_Descriptor * -_mouse_down_mouse_up_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - Eet_Data_Descriptor *_d; - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, mouse_down_mouse_up); - _d = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_down_mouse_up, "b", b, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_down_mouse_up, "flags", - flags, EET_T_INT); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_down_mouse_up, "timestamp", - timestamp, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_down_mouse_up, "n_evas", - n_evas, EET_T_INT); - - return _d; -} - -static Eet_Data_Descriptor * -_mouse_move_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - Eet_Data_Descriptor *_d; - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, mouse_move); - _d = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_move, "x", x, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_move, "y", y, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_move, "timestamp", - timestamp, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_move, "n_evas", - n_evas, EET_T_INT); - - return _d; -} - -static Eet_Data_Descriptor * -_mouse_wheel_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - Eet_Data_Descriptor *_d; - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, mouse_wheel); - _d = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_wheel, "direction", - direction, EET_T_INT); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_wheel, "z", z, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_wheel, "timestamp", - timestamp, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, mouse_wheel, "n_evas", - n_evas, EET_T_INT); - - return _d; -} - -static Eet_Data_Descriptor * -_key_down_key_up_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - Eet_Data_Descriptor *_d; - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, key_down_key_up); - _d = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up, "timestamp", - timestamp, EET_T_UINT); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up, "keyname", - keyname, EET_T_STRING); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up, "key", - key, EET_T_STRING); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up, "string", - string, EET_T_STRING); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up, "compose", - compose, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up, "n_evas", - n_evas, EET_T_INT); - - return _d; -} - -static Eet_Data_Descriptor * -_key_down_key_up_with_keycode_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - Eet_Data_Descriptor *_d; - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, key_down_key_up_with_keycode); - _d = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up_with_keycode, "timestamp", - timestamp, EET_T_UINT); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up_with_keycode, "keyname", - keyname, EET_T_STRING); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up_with_keycode, "key", - key, EET_T_STRING); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up_with_keycode, "string", - string, EET_T_STRING); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up_with_keycode, "compose", - compose, EET_T_STRING); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up_with_keycode, "n_evas", - n_evas, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, key_down_key_up_with_keycode, "keycode", - keycode, EET_T_INT); - - return _d; -} - -static Eet_Data_Descriptor * -_multi_event_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - Eet_Data_Descriptor *_d; - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, multi_event); - _d = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "d", d, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "b", b, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "x", x, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "y", y, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "rad", rad, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "radx", radx, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "rady", rady, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "pres", pres, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "ang", ang, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "fx", fx, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "fy", fy, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "flags", flags, EET_T_INT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "timestamp", - timestamp, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_event, "n_evas", - n_evas, EET_T_INT); - - return _d; -} - -static Eet_Data_Descriptor * -_multi_move_desc_make(void) -{ - Eet_Data_Descriptor_Class eddc; - Eet_Data_Descriptor *_d; - EET_EINA_STREAM_DATA_DESCRIPTOR_CLASS_SET(&eddc, multi_move); - _d = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "d", d, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "x", x, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "y", y, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "rad", rad, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "radx", radx, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "rady", rady, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "pres", pres, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "ang", ang, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "fx", fx, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "fy", fy, EET_T_DOUBLE); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "timestamp", - timestamp, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_BASIC(_d, multi_move, "n_evas", - n_evas, EET_T_INT); - - return _d; -} - -/* declaring types */ -static data_desc * -_data_descriptors_init(void) -{ - if (_desc) /* Was allocated */ - return _desc; - - _desc = calloc(1, sizeof(data_desc)); - - Eet_Data_Descriptor_Class eddc; - - EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Lists_st); - _desc->lists_descriptor = eet_data_descriptor_file_new(&eddc); - - _desc->take_screenshot = _take_screenshot_desc_make(); - _desc->mouse_in_mouse_out = _mouse_in_mouse_out_desc_make(); - _desc->mouse_down_mouse_up = _mouse_down_mouse_up_desc_make(); - _desc->mouse_move = _mouse_move_desc_make(); - _desc->mouse_wheel = _mouse_wheel_desc_make(); - _desc->multi_event = _multi_event_desc_make(); - _desc->multi_move = _multi_move_desc_make(); - _desc->key_down_key_up = _key_down_key_up_desc_make(); - _desc->key_down_key_up_with_keycode = _key_down_key_up_with_keycode_desc_make(); - - /* for variant */ - EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Variant_st); - _desc->variant_descriptor = eet_data_descriptor_file_new(&eddc); - - eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION; - eddc.func.type_get = _variant_type_get; - eddc.func.type_set = _variant_type_set; - _desc->variant_unified_descriptor = eet_data_descriptor_stream_new(&eddc); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_MOUSE_IN_STR, _desc->mouse_in_mouse_out); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_MOUSE_OUT_STR, _desc->mouse_in_mouse_out); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_MOUSE_DOWN_STR, _desc->mouse_down_mouse_up); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_MOUSE_UP_STR, _desc->mouse_down_mouse_up); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_MOUSE_MOVE_STR, _desc->mouse_move); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_MOUSE_WHEEL_STR, _desc->mouse_wheel); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_MULTI_DOWN_STR, _desc->multi_event); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_MULTI_UP_STR, _desc->multi_event); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_MULTI_MOVE_STR, _desc->multi_move); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_KEY_DOWN_STR, _desc->key_down_key_up); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_KEY_UP_STR, _desc->key_down_key_up); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_KEY_DOWN_WITH_KEYCODE_STR, _desc->key_down_key_up_with_keycode); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_KEY_UP_WITH_KEYCODE_STR, _desc->key_down_key_up_with_keycode); - - EET_DATA_DESCRIPTOR_ADD_MAPPING(_desc->variant_unified_descriptor, - TSUITE_EVENT_TAKE_SHOT_STR, _desc->take_screenshot); - - - EET_DATA_DESCRIPTOR_ADD_VARIANT(_desc->variant_descriptor, - Variant_st, "data", data, t, _desc->variant_unified_descriptor); - - EET_DATA_DESCRIPTOR_ADD_BASIC(_desc->lists_descriptor, - Lists_st, "first_timestamp", first_timestamp, EET_T_UINT); - EET_DATA_DESCRIPTOR_ADD_LIST(_desc->lists_descriptor, - Lists_st, "variant_list", variant_list, _desc->variant_descriptor); - - return _desc; -} - -static void -_data_descriptors_shutdown(void) -{ - if (_desc) - { - eet_data_descriptor_free(_desc->mouse_in_mouse_out); - eet_data_descriptor_free(_desc->mouse_down_mouse_up); - eet_data_descriptor_free(_desc->mouse_move); - eet_data_descriptor_free(_desc->mouse_wheel); - eet_data_descriptor_free(_desc->multi_event); - eet_data_descriptor_free(_desc->multi_move); - eet_data_descriptor_free(_desc->key_down_key_up); - eet_data_descriptor_free(_desc->key_down_key_up_with_keycode); - eet_data_descriptor_free(_desc->take_screenshot); - eet_data_descriptor_free(_desc->lists_descriptor); - eet_data_descriptor_free(_desc->variant_descriptor); - eet_data_descriptor_free(_desc->variant_unified_descriptor); - - free(_desc); - _desc = NULL; - /* FIXME: Should probably only init and shutdown once */ - } -} - -EAPI Exactness_Unit * -legacy_rec_file_read(const char *filename) -{ - Lists_st *vr_list; - Eina_List *itr; - Variant_st *v, *prev_v = NULL; - Exactness_Unit *unit = NULL; - Eet_File *fp = eet_open(filename, EET_FILE_MODE_READ); - if (!fp) - { - printf("Failed to open input file <%s>.\n", filename); - return NULL; - } - - /* Read events list */ - _data_descriptors_init(); - vr_list = eet_data_read(fp, _desc->lists_descriptor, CACHE_FILE_ENTRY); - eet_close(fp); - _data_descriptors_shutdown(); - - unit = calloc(1, sizeof(*unit)); - - EINA_LIST_FOREACH(vr_list->variant_list, itr, v) - { - Exactness_Action *act = calloc(1, sizeof(*act)); - Tsuite_Event_Type old_type = _event_mapping_type_get(v->t.type); - unsigned int vtm = _evt_time_get(0, v); - if (!vtm) continue; - switch (old_type) - { - case TSUITE_EVENT_MOUSE_IN: - { - mouse_in_mouse_out *d_i = v->data; - act->type = EXACTNESS_ACTION_MOUSE_IN; - act->n_evas = d_i->n_evas; - break; - } - case TSUITE_EVENT_MOUSE_OUT: - { - mouse_in_mouse_out *d_i = v->data; - act->type = EXACTNESS_ACTION_MOUSE_OUT; - act->n_evas = d_i->n_evas; - break; - } - case TSUITE_EVENT_MOUSE_DOWN: - case TSUITE_EVENT_MOUSE_UP: - { - mouse_down_mouse_up *d_i = v->data; - Exactness_Action_Multi_Event *d_o = calloc(1, sizeof(*d_o)); - d_o->b = d_i->b; - d_o->flags = d_i->flags; - if (old_type == TSUITE_EVENT_MOUSE_DOWN) - act->type = EXACTNESS_ACTION_MULTI_DOWN; - else - act->type = EXACTNESS_ACTION_MULTI_UP; - act->n_evas = d_i->n_evas; - act->data = d_o; - break; - } - case TSUITE_EVENT_MOUSE_MOVE: - { - mouse_move *d_i = v->data; - Exactness_Action_Multi_Move *d_o = calloc(1, sizeof(*d_o)); - d_o->x = d_i->x; - d_o->y = d_i->y; - act->type = EXACTNESS_ACTION_MULTI_MOVE; - act->n_evas = d_i->n_evas; - act->data = d_o; - break; - } - case TSUITE_EVENT_MOUSE_WHEEL: - { - mouse_wheel *d_i = v->data; - Exactness_Action_Mouse_Wheel *d_o = calloc(1, sizeof(*d_o)); - d_o->direction = d_i->direction; - d_o->z = d_i->z; - act->type = EXACTNESS_ACTION_MOUSE_WHEEL; - act->n_evas = d_i->n_evas; - act->data = d_o; - break; - } - case TSUITE_EVENT_MULTI_DOWN: - case TSUITE_EVENT_MULTI_UP: - { - multi_event *d_i = v->data; - Exactness_Action_Multi_Event *d_o = calloc(1, sizeof(*d_o)); - d_o->d = d_i->d; - d_o->b = d_i->b; - d_o->x = d_i->x; - d_o->y = d_i->y; - d_o->rad = d_i->rad; - d_o->radx = d_i->radx; - d_o->rady = d_i->rady; - d_o->pres = d_i->pres; - d_o->ang = d_i->ang; - d_o->fx = d_i->fx; - d_o->fy = d_i->fy; - d_o->flags = d_i->flags; - if (old_type == TSUITE_EVENT_MULTI_DOWN) - act->type = EXACTNESS_ACTION_MULTI_DOWN; - else - act->type = EXACTNESS_ACTION_MULTI_UP; - act->n_evas = d_i->n_evas; - act->data = d_o; - break; - } - case TSUITE_EVENT_MULTI_MOVE: - { - multi_move *d_i = v->data; - Exactness_Action_Multi_Move *d_o = calloc(1, sizeof(*d_o)); - d_o->d = d_i->d; - d_o->x = d_i->x; - d_o->y = d_i->y; - d_o->rad = d_i->rad; - d_o->radx = d_i->radx; - d_o->rady = d_i->rady; - d_o->pres = d_i->pres; - d_o->ang = d_i->ang; - d_o->fx = d_i->fx; - d_o->fy = d_i->fy; - act->type = EXACTNESS_ACTION_MULTI_MOVE; - act->n_evas = d_i->n_evas; - act->data = d_o; - break; - } - case TSUITE_EVENT_KEY_DOWN: - case TSUITE_EVENT_KEY_UP: - { - key_down_key_up *d_i = v->data; - Exactness_Action_Key_Down_Up *d_o = calloc(1, sizeof(*d_o)); - d_o->keyname = d_i->keyname; - d_o->key = d_i->key; - d_o->string = d_i->string; - d_o->compose = d_i->compose; - if (old_type == TSUITE_EVENT_KEY_DOWN) - act->type = EXACTNESS_ACTION_KEY_DOWN; - else - act->type = EXACTNESS_ACTION_KEY_UP; - act->n_evas = d_i->n_evas; - act->data = d_o; - break; - } - case TSUITE_EVENT_KEY_DOWN_WITH_KEYCODE: - case TSUITE_EVENT_KEY_UP_WITH_KEYCODE: - { - key_down_key_up_with_keycode *d_i = v->data; - Exactness_Action_Key_Down_Up *d_o = calloc(1, sizeof(*d_o)); - d_o->keyname = d_i->keyname; - d_o->key = d_i->key; - d_o->string = d_i->string; - d_o->compose = d_i->compose; - d_o->keycode = d_i->keycode; - if (old_type == TSUITE_EVENT_KEY_DOWN_WITH_KEYCODE) - act->type = EXACTNESS_ACTION_KEY_DOWN; - else - act->type = EXACTNESS_ACTION_KEY_UP; - act->n_evas = d_i->n_evas; - act->data = d_o; - break; - } - case TSUITE_EVENT_TAKE_SHOT: - { - take_screenshot *d_i = v->data; - act->type = EXACTNESS_ACTION_TAKE_SHOT; - act->n_evas = d_i->n_evas; - break; - } - default: break; - } - if (!prev_v) - { - if (vr_list->first_timestamp) - act->delay_ms = _evt_time_get(0, v) - vr_list->first_timestamp; - else - act->delay_ms = 0; - } - else - { - if (vtm > _evt_time_get(0, prev_v)) - act->delay_ms = vtm - _evt_time_get(0, prev_v); - else act->delay_ms = 0; - } - unit->actions = eina_list_append(unit->actions, act); - prev_v = v; - } -#ifdef DEBUG_TSUITE - printf("%s number of actions in the scenario <%d>\n", __func__, eina_list_count(unit->actions)); -#endif - _free_events(vr_list); - - return unit; -} diff --git a/src/lib/exactness/meson.build b/src/lib/exactness/meson.build index 82929b301d..11ba1173a4 100644 --- a/src/lib/exactness/meson.build +++ b/src/lib/exactness/meson.build @@ -4,7 +4,6 @@ exactness_deps = [] exactness_src = [ 'Exactness.h', 'exactness_private.h', - 'legacy_file.c', 'unit.c' ]