summaryrefslogtreecommitdiff
path: root/src/tests/eio/eio_test_manager.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/eio/eio_test_manager.c')
-rw-r--r--src/tests/eio/eio_test_manager.c128
1 files changed, 53 insertions, 75 deletions
diff --git a/src/tests/eio/eio_test_manager.c b/src/tests/eio/eio_test_manager.c
index 2e396c1ad6..0a849adcc8 100644
--- a/src/tests/eio/eio_test_manager.c
+++ b/src/tests/eio/eio_test_manager.c
@@ -19,26 +19,19 @@ static Eina_Bool direct = EINA_FALSE;
#define DONE_CALLED 0xdeadbeef
static void
-_access_cb(void *data, Eina_Accessor *access)
+_access_cb(void *data, Eina_Array *paths)
{
uint64_t *number_of_listed_files = data;
- Eina_Stringshare *s;
- unsigned int count;
- EINA_ACCESSOR_FOREACH(access, count, s)
- {
- (*number_of_listed_files)++;
- }
+ *number_of_listed_files += eina_array_count(paths);
}
static void
-_progress_cb(void *data, const Efl_Event *ev)
+_progress_cb(void *data, Eina_Array *entries)
{
- Efl_Future_Event_Progress *p = ev->info;
- const Eina_Array *batch = p->progress;
uint64_t *number_of_listed_files = data;
- (*number_of_listed_files) += eina_array_count(batch);
+ (*number_of_listed_files) += eina_array_count(entries);
}
static Eina_Value
@@ -71,27 +64,42 @@ _future_cb(void *data,
return file;
}
-static void
-_done_cb(void *data, const Efl_Event *ev)
+static Eina_Value
+_done_cb(void *data,
+ const Eina_Value file,
+ const Eina_Future *dead EINA_UNUSED)
{
- Efl_Future_Event_Success *success = ev->info;
- uint64_t *files_count = success->value;
uint64_t *number_of_listed_files = data;
- fail_if((*number_of_listed_files) != test_count);
- fail_if(*files_count != test_count);
- *number_of_listed_files = DONE_CALLED;
- ecore_main_loop_quit();
-}
+ if (eina_value_type_get(&file) == EINA_VALUE_TYPE_ERROR)
+ {
+ Eina_Error err = 0;
+ const char *msg;
-static void
-_error_cb(void *data EINA_UNUSED, const Efl_Event *ev)
-{
- Efl_Future_Event_Failure *failure = ev->info;
- const char *msg = eina_error_msg_get(failure->error);
+ eina_value_error_get(&file, &err);
+ msg = eina_error_msg_get(err);
+
+ EINA_LOG_ERR("error: %s", msg);
+ abort();
+ }
+ else
+ {
+ Eina_Value convert = EINA_VALUE_EMPTY;
+ uint64_t files_count = 0;
+
+ eina_value_setup(&convert, EINA_VALUE_TYPE_ULONG);
+ eina_value_convert(&file, &convert);
+ eina_value_ulong_get(&convert, &files_count);
+
+ fail_if((*number_of_listed_files) != test_count);
+ fail_if(files_count != test_count);
+
+ *number_of_listed_files = DONE_CALLED;
+ }
- EINA_LOG_ERR("error: %s", msg);
ecore_main_loop_quit();
+
+ return file;
}
static Eina_Value
@@ -152,29 +160,30 @@ _stat_done_cb(void *data,
}
static void
-_test_ls(Efl_Future *(*func)(Eo *obj, const char *path, Eina_Bool recursive),
+_test_ls(Eina_Future *(*func)(const Eo *obj, const char *path, Eina_Bool recursive,
+ void *info_data, EflIoDirectInfo info, Eina_Free_Cb info_free_cb),
uint64_t expected_test_count,
const char* test_dirname)
{
Efl_Io_Manager *job = efl_add(EFL_IO_MANAGER_CLASS, efl_main_loop_get());
- Efl_Future *f = NULL;
+ Eina_Future *f = NULL;
uint64_t main_files = 0;
fail_if(!job);
- f = func(job, test_dirname, EINA_FALSE);
+ f = func(job, test_dirname, EINA_FALSE, &main_files, _progress_cb, NULL);
fail_if(!f);
test_count = expected_test_count;
- efl_future_then(f, &_done_cb, &_error_cb, &_progress_cb, &main_files);
+ eina_future_then(f, &_done_cb, &main_files);
ecore_main_loop_begin();
fail_if(main_files != DONE_CALLED);
main_files = 0;
- f = func(job, test_dirname, EINA_TRUE);
+ f = func(job, test_dirname, EINA_TRUE, &main_files, _progress_cb, NULL);
test_count = expected_test_count + 4;
- efl_future_then(f, &_done_cb, &_error_cb, &_progress_cb, &main_files);
+ eina_future_then(f, &_done_cb, &main_files);
ecore_main_loop_begin();
@@ -183,7 +192,7 @@ _test_ls(Efl_Future *(*func)(Eo *obj, const char *path, Eina_Bool recursive),
efl_del(job);
}
-START_TEST(efl_io_manager_test_stat)
+EFL_START_TEST(efl_io_manager_test_stat)
{
Eina_Tmpstr *test_dirname;
Eina_Tmpstr *nested_dirname;
@@ -193,12 +202,6 @@ START_TEST(efl_io_manager_test_stat)
Eina_Bool is_dir = EINA_TRUE;
int ret;
- ret = ecore_init();
- fail_if(ret < 1);
- ret = eio_init();
- fail_if(ret < 1);
- ret = eina_init();
- fail_if(ret < 1);
ret = ecore_file_init();
fail_if(ret < 1);
@@ -227,13 +230,10 @@ START_TEST(efl_io_manager_test_stat)
eina_tmpstr_del(test_dirname);
eina_tmpstr_del(nested_filename);
ecore_file_shutdown();
- eina_shutdown();
- eio_shutdown();
- ecore_shutdown();
}
-END_TEST
+EFL_END_TEST
-START_TEST(efl_io_manager_test_ls)
+EFL_START_TEST(efl_io_manager_test_ls)
{
Eina_Tmpstr *test_dirname;
Eina_Tmpstr *nested_dirname;
@@ -243,12 +243,6 @@ START_TEST(efl_io_manager_test_ls)
uint64_t main_files = 0;
int ret;
- ret = ecore_init();
- fail_if(ret < 1);
- ret = eio_init();
- fail_if(ret < 1);
- ret = eina_init();
- fail_if(ret < 1);
ret = ecore_file_init();
fail_if(ret < 1);
@@ -282,13 +276,10 @@ START_TEST(efl_io_manager_test_ls)
eina_tmpstr_del(test_dirname);
eina_tmpstr_del(nested_filename);
ecore_file_shutdown();
- eina_shutdown();
- eio_shutdown();
- ecore_shutdown();
}
-END_TEST
+EFL_END_TEST
-START_TEST(efl_io_manager_test_open)
+EFL_START_TEST(efl_io_manager_test_open)
{
Eina_Tmpstr *test_dirname;
Eina_Tmpstr *nested_dirname;
@@ -298,14 +289,8 @@ START_TEST(efl_io_manager_test_open)
Eina_Bool opened_file = EINA_FALSE;
int ret;
- ret = ecore_init();
- fail_if(ret < 1);
- ret = eina_init();
- fail_if(ret < 1);
ret = ecore_file_init();
fail_if(ret < 1);
- ret = eio_init();
- fail_if(ret < 1);
test_dirname = get_eio_test_file_tmp_dir();
nested_dirname = create_test_dirs(test_dirname);
@@ -326,33 +311,26 @@ START_TEST(efl_io_manager_test_open)
eina_tmpstr_del(nested_dirname);
eina_tmpstr_del(test_dirname);
- eio_shutdown();
eina_tmpstr_del(nested_filename);
ecore_file_shutdown();
- eina_shutdown();
- ecore_shutdown();
}
-END_TEST
+EFL_END_TEST
-START_TEST(efl_io_instantiated)
+EFL_START_TEST(efl_io_test_instantiated)
{
Efl_Io_Manager *manager;
+ ck_assert_int_eq(eio_shutdown(), 0);
ecore_init();
-
fail_if(efl_provider_find(efl_main_loop_get(), EFL_IO_MANAGER_CLASS) != NULL);
-
- eio_init();
+ ecore_shutdown();
+ ck_assert_int_eq(eio_init(), 1);
manager = efl_provider_find(efl_main_loop_get(), EFL_IO_MANAGER_CLASS);
fail_if(manager == NULL);
fail_if(!efl_isa(manager, EFL_IO_MANAGER_CLASS));
-
- eio_shutdown();
-
- ecore_shutdown();
}
-END_TEST
+EFL_END_TEST
void
eio_test_job(TCase *tc)
@@ -360,5 +338,5 @@ eio_test_job(TCase *tc)
tcase_add_test(tc, efl_io_manager_test_ls);
tcase_add_test(tc, efl_io_manager_test_stat);
tcase_add_test(tc, efl_io_manager_test_open);
- tcase_add_test(tc, efl_io_instantiated);
+ tcase_add_test(tc, efl_io_test_instantiated);
}