eio: Fix eio_test_job_xattr test
Test wasn't enabled when modifications to function prototypes to eio_job_file_xattr_list and eio_job_file_xattr properties were made, so it got pushed inadvertidly without the necessary changes to user code.
This commit is contained in:
parent
ab23a53094
commit
ad0166f792
|
@ -6,16 +6,16 @@
|
||||||
#include "../efl_check.h"
|
#include "../efl_check.h"
|
||||||
|
|
||||||
static const Efl_Test_Case etc[] = {
|
static const Efl_Test_Case etc[] = {
|
||||||
/* {"Eio_Monitor", eio_test_monitor}, */
|
{"Eio_Monitor", eio_test_monitor},
|
||||||
/* {"Eio_Sentry", eio_test_sentry}, */
|
{"Eio_Sentry", eio_test_sentry},
|
||||||
/* {"Eio Model", eio_model_test_file}, */
|
{"Eio Model", eio_model_test_file},
|
||||||
/* {"Eio Model Monitor", eio_model_test_monitor_add}, */
|
{"Eio Model Monitor", eio_model_test_monitor_add},
|
||||||
/* {"Eio File", eio_test_file}, */
|
{"Eio File", eio_test_file},
|
||||||
{"Eio Job", eio_test_job},
|
{"Eio Job", eio_test_job},
|
||||||
/* #ifdef XATTR_TEST_DIR */
|
#ifdef XATTR_TEST_DIR
|
||||||
/* {"Eio_Xattr", eio_test_xattr}, */
|
{"Eio_Xattr", eio_test_xattr},
|
||||||
/* {"Eio Job Xattr", eio_test_job_xattr}, */
|
{"Eio Job Xattr", eio_test_job_xattr},
|
||||||
/* #endif */
|
#endif
|
||||||
{NULL, NULL}
|
{NULL, NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,10 @@
|
||||||
#include "eio_test_common.h"
|
#include "eio_test_common.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef XATTR_TEST_DIR
|
#ifndef XATTR_TEST_DIR
|
||||||
|
#define DISABLE_XATTR_TEST
|
||||||
|
#define XATTR_TEST_DIR ""
|
||||||
|
#endif
|
||||||
|
|
||||||
static const char *attribute[] =
|
static const char *attribute[] =
|
||||||
{
|
{
|
||||||
|
@ -30,12 +33,6 @@ static const char *attr_data[] =
|
||||||
"This file has extra attributes"
|
"This file has extra attributes"
|
||||||
};
|
};
|
||||||
|
|
||||||
struct eina_iterator
|
|
||||||
{
|
|
||||||
Eina_Iterator* success_iterator;
|
|
||||||
Eina_Iterator* failure_iterator;
|
|
||||||
};
|
|
||||||
|
|
||||||
int total_attributes = sizeof(attribute)/sizeof(attribute[0]);
|
int total_attributes = sizeof(attribute)/sizeof(attribute[0]);
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
|
@ -47,8 +44,9 @@ _filter_cb(void *data EINA_UNUSED, const Eo_Event *event)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_main_cb(void *data, const char *attr)
|
_main_cb(void *data, void *v)
|
||||||
{
|
{
|
||||||
|
const char* attr = v;
|
||||||
int *num_of_attr = (int *)data;
|
int *num_of_attr = (int *)data;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
|
@ -62,7 +60,7 @@ _main_cb(void *data, const char *attr)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_done_cb(void *data, void *value EINA_UNUSED)
|
_done_cb(void *data, void *value EINA_UNUSED, Eina_Promise* promise EINA_UNUSED)
|
||||||
|
|
||||||
{
|
{
|
||||||
int *num_of_attr = (int *)data;
|
int *num_of_attr = (int *)data;
|
||||||
|
@ -73,12 +71,13 @@ _done_cb(void *data, void *value EINA_UNUSED)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_done_get_cb(void *data EINA_UNUSED, struct eina_iterator* it)
|
_done_get_cb(void *data EINA_UNUSED, void* v, Eina_Promise* promise EINA_UNUSED)
|
||||||
{
|
{
|
||||||
|
Eina_Iterator** it = (Eina_Iterator**)v;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
Eio_Xattr_Data *get_data;
|
Eio_Xattr_Data *get_data;
|
||||||
|
|
||||||
while (eina_iterator_next(it->success_iterator, (void**)&get_data))
|
while (eina_iterator_next((*it), (void**)&get_data))
|
||||||
{
|
{
|
||||||
fail_if(!get_data);
|
fail_if(!get_data);
|
||||||
fail_if(strcmp(get_data->data, attr_data[i]) != 0);
|
fail_if(strcmp(get_data->data, attr_data[i]) != 0);
|
||||||
|
@ -91,11 +90,12 @@ _done_get_cb(void *data EINA_UNUSED, struct eina_iterator* it)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_done_set_cb(void *data, struct eina_iterator* it)
|
_done_set_cb(void *data, void* v, Eina_Promise* promise EINA_UNUSED)
|
||||||
{
|
{
|
||||||
|
Eina_Iterator** it = (Eina_Iterator**)v;
|
||||||
int *placeholder;
|
int *placeholder;
|
||||||
int *num_of_attr = data;
|
int *num_of_attr = data;
|
||||||
while(eina_iterator_next(it->success_iterator, (void**)&placeholder))
|
while(eina_iterator_next((*it), (void**)&placeholder))
|
||||||
*num_of_attr += 1;
|
*num_of_attr += 1;
|
||||||
|
|
||||||
fail_if(*num_of_attr != total_attributes);
|
fail_if(*num_of_attr != total_attributes);
|
||||||
|
@ -104,10 +104,10 @@ _done_set_cb(void *data, struct eina_iterator* it)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_error_cb(void *data EINA_UNUSED, Eina_Error *error)
|
_error_cb(void *data EINA_UNUSED, Eina_Error error, Eina_Promise* promise EINA_UNUSED)
|
||||||
|
|
||||||
{
|
{
|
||||||
fprintf(stderr, "Something has gone wrong:%s\n", strerror(*error));
|
fprintf(stderr, "Something has gone wrong:%s\n", eina_error_msg_get(error));
|
||||||
abort();
|
abort();
|
||||||
|
|
||||||
ecore_main_loop_quit();
|
ecore_main_loop_quit();
|
||||||
|
@ -127,6 +127,8 @@ START_TEST(eio_test_job_xattr_set)
|
||||||
eina_init();
|
eina_init();
|
||||||
eio_init();
|
eio_init();
|
||||||
|
|
||||||
|
fprintf(stderr, "eio_test_job_xattr_set\n"); fflush(stderr);
|
||||||
|
|
||||||
job = eo_add(EIO_JOB_CLASS, NULL);
|
job = eo_add(EIO_JOB_CLASS, NULL);
|
||||||
|
|
||||||
test_file_path = get_full_path(XATTR_TEST_DIR, filename);
|
test_file_path = get_full_path(XATTR_TEST_DIR, filename);
|
||||||
|
@ -135,20 +137,20 @@ START_TEST(eio_test_job_xattr_set)
|
||||||
S_IRWXU | S_IRWXG | S_IRWXO);
|
S_IRWXU | S_IRWXG | S_IRWXO);
|
||||||
fail_if(fd == 0);
|
fail_if(fd == 0);
|
||||||
|
|
||||||
attrib_promises = (Eina_Promise **)calloc(total_attributes + 1, sizeof(Eina_Promise*));
|
attrib_promises = (Eina_Promise**)calloc(total_attributes + 1, sizeof(Eina_Promise*));
|
||||||
attrib_promises[total_attributes] = NULL;
|
attrib_promises[total_attributes] = NULL;
|
||||||
|
|
||||||
for (i = 0; i < sizeof(attribute) / sizeof(attribute[0]); ++i)
|
for (i = 0; i < sizeof(attribute) / sizeof(attribute[0]); ++i)
|
||||||
{
|
{
|
||||||
eio_job_file_xattr_set(job, test_file_path, attribute[i],
|
attrib_promises[i] = eio_job_file_xattr_set
|
||||||
|
(job, test_file_path, attribute[i],
|
||||||
attr_data[i], strlen(attr_data[i]),
|
attr_data[i], strlen(attr_data[i]),
|
||||||
EINA_XATTR_INSERT,
|
EINA_XATTR_INSERT);
|
||||||
&attrib_promises[i]);
|
|
||||||
|
|
||||||
fail_if(num_of_attr != 0); // test asynchronous
|
fail_if(num_of_attr != 0); // test asynchronous
|
||||||
}
|
}
|
||||||
eina_promise_then(eina_promise_all(eina_carray_iterator_new((void**)attrib_promises)),
|
eina_promise_then(eina_promise_all(eina_carray_iterator_new((void**)attrib_promises)),
|
||||||
(Eina_Promise_Cb)_done_set_cb, (Eina_Promise_Error_Cb)_error_cb, &num_of_attr);
|
&_done_set_cb, _error_cb, &num_of_attr);
|
||||||
|
|
||||||
ecore_main_loop_begin();
|
ecore_main_loop_begin();
|
||||||
|
|
||||||
|
@ -156,25 +158,25 @@ START_TEST(eio_test_job_xattr_set)
|
||||||
|
|
||||||
num_of_attr = 0;
|
num_of_attr = 0;
|
||||||
|
|
||||||
attrib_promises = (Eina_Promise **)calloc(total_attributes + 1, sizeof(Eina_Promise*));
|
attrib_promises = (Eina_Promise**)calloc(total_attributes + 1, sizeof(Eina_Promise*));
|
||||||
attrib_promises[total_attributes] = NULL;
|
attrib_promises[total_attributes] = NULL;
|
||||||
|
|
||||||
for (i = 0; i < sizeof(attribute) / sizeof(attribute[0]); ++i)
|
for (i = 0; i < sizeof(attribute) / sizeof(attribute[0]); ++i)
|
||||||
{
|
{
|
||||||
eio_job_file_xattr_get(job, test_file_path, attribute[i], &attrib_promises[i]);
|
attrib_promises[i] = eio_job_file_xattr_get(job, test_file_path, attribute[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
eina_promise_then(eina_promise_all(eina_carray_iterator_new((void**)attrib_promises)),
|
eina_promise_then(eina_promise_all(eina_carray_iterator_new((void**)attrib_promises)),
|
||||||
(Eina_Promise_Cb)_done_get_cb, (Eina_Promise_Error_Cb)_error_cb, &num_of_attr);
|
_done_get_cb, _error_cb, &num_of_attr);
|
||||||
|
|
||||||
ecore_main_loop_begin();
|
ecore_main_loop_begin();
|
||||||
|
|
||||||
num_of_attr = 0;
|
num_of_attr = 0;
|
||||||
|
|
||||||
eo_event_callback_add(job, EIO_JOB_EVENT_XATTR, _filter_cb, NULL);
|
eo_event_callback_add(job, EIO_JOB_EVENT_XATTR, _filter_cb, NULL);
|
||||||
eio_job_file_xattr(job, test_file_path, &list_promise);
|
list_promise = eio_job_file_xattr_list_get(job, test_file_path);
|
||||||
eina_promise_progress_cb_add(list_promise, (Eina_Promise_Progress_Cb)_main_cb, &num_of_attr, NULL);
|
eina_promise_progress_cb_add(list_promise, _main_cb, &num_of_attr, NULL);
|
||||||
eina_promise_then(list_promise, (Eina_Promise_Cb)_done_cb, (Eina_Promise_Error_Cb)_error_cb, &num_of_attr);
|
eina_promise_then(list_promise, _done_cb, _error_cb, &num_of_attr);
|
||||||
|
|
||||||
fail_if(num_of_attr != 0);
|
fail_if(num_of_attr != 0);
|
||||||
|
|
||||||
|
@ -192,13 +194,12 @@ START_TEST(eio_test_job_xattr_set)
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void eio_test_job_xattr(TCase *tc)
|
void eio_test_job_xattr(TCase *tc)
|
||||||
{
|
{
|
||||||
#ifdef XATTR_TEST_DIR
|
#ifndef DISABLE_XATTR_TEST
|
||||||
tcase_add_test(tc, eio_test_job_xattr_set);
|
tcase_add_test(tc, eio_test_job_xattr_set);
|
||||||
#else
|
#else
|
||||||
|
(void)eio_test_job_xattr_set;
|
||||||
(void)tc;
|
(void)tc;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue