cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d86ed2a46c5f6a7a76fceff7d33ed934f87bb714
commit d86ed2a46c5f6a7a76fceff7d33ed934f87bb714 Author: vivek <vivek.el...@samsung.com> Date: Wed Apr 22 14:52:55 2015 +0200 eio: add testcases for various eio_xattr types set and get functions. Summary: Added test cases for eio_file_xattr_string_set, eio_file_xattr_string_get, eio_file_xattr_int_set, eio_file_xattr_int_get, eio_file_xattr_double_get, eio_file_xattr_double set functions Signed-off-by: vivek <vivek.el...@samsung.com> Reviewers: cedric Reviewed By: cedric Differential Revision: https://phab.enlightenment.org/D2380 Signed-off-by: Cedric BAIL <ced...@osg.samsung.com> --- src/tests/eio/eio_test_xattr.c | 103 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/src/tests/eio/eio_test_xattr.c b/src/tests/eio/eio_test_xattr.c index a9a3582..f28d04f 100644 --- a/src/tests/eio/eio_test_xattr.c +++ b/src/tests/eio/eio_test_xattr.c @@ -13,6 +13,13 @@ #include "eio_suite.h" +static char *str_attr = "user.name"; +static char *str_data = "Vivek Ellur"; +static char *int_attr = "user.id"; +static int int_data = 1234; +static char *double_attr = "user.size"; +static double double_data = 123.456; + const char *attribute[] = { "user.comment1", @@ -85,6 +92,30 @@ _done_get_cb(void *data, Eio_File *handler EINA_UNUSED, const char *name, unsign } static void +_done_string_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED, const char *xattr_string) +{ + fail_if(strcmp(xattr_string, str_data) != 0); + + ecore_main_loop_quit(); +} + +static void +_done_int_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED, int xattr_int) +{ + fail_if(xattr_int != int_data); + + ecore_main_loop_quit(); +} + +static void +_done_double_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED, double xattr_double) +{ + fail_if(xattr_double != double_data); + + ecore_main_loop_quit(); +} + +static void _error_cb(void *data EINA_UNUSED, Eio_File *handler EINA_UNUSED, int error) { @@ -152,12 +183,84 @@ START_TEST(eio_test_xattr_set) ecore_shutdown(); } END_TEST + +START_TEST(eio_test_xattr_types_set) +{ + char *filename = "eio-tmpfile"; + + Eina_Tmpstr *test_file_path; + int fd, num_of_attr=0; + Eio_File *fp; + + ecore_init(); + eina_init(); + eio_init(); + + test_file_path = get_file_path(XATTR_TEST_DIR, filename); + fd = open(test_file_path, + O_WRONLY | O_CREAT | O_TRUNC, + S_IRWXU | S_IRWXG | S_IRWXO); + fail_if(fd == 0); + fp = eio_file_xattr_string_set(test_file_path, str_attr, + str_data, EINA_XATTR_INSERT, + _done_once_cb, _error_cb, &num_of_attr); + + fail_if(num_of_attr != 0); // test asynchronous + fail_if(!fp); + + ecore_main_loop_begin(); + + fp = eio_file_xattr_string_get(test_file_path, str_attr, + _done_string_cb, _error_cb, NULL); + fail_if(!fp); + + ecore_main_loop_begin(); + + fp = eio_file_xattr_int_set(test_file_path, int_attr, + int_data, EINA_XATTR_INSERT, + _done_once_cb, _error_cb, &num_of_attr); + + fail_if(num_of_attr != 0); // test asynchronous + fail_if(!fp); + + ecore_main_loop_begin(); + + fp = eio_file_xattr_int_get(test_file_path, int_attr, + _done_int_cb, _error_cb, NULL); + fail_if(!fp); + + ecore_main_loop_begin(); + + fp = eio_file_xattr_double_set(test_file_path, double_attr, + double_data, EINA_XATTR_INSERT, + _done_once_cb, _error_cb, &num_of_attr); + + fail_if(num_of_attr != 0); // test asynchronous + fail_if(!fp); + + ecore_main_loop_begin(); + + fp = eio_file_xattr_double_get(test_file_path, double_attr, + _done_double_cb, _error_cb, NULL); + fail_if(!fp); + + ecore_main_loop_begin(); + + close(fd); + unlink(test_file_path); + eina_tmpstr_del(test_file_path); + eio_shutdown(); + eina_shutdown(); + ecore_shutdown(); +} +END_TEST #endif void eio_test_xattr(TCase *tc) { #ifdef XATTR_TEST_DIR tcase_add_test(tc, eio_test_xattr_set); + tcase_add_test(tc, eio_test_xattr_types_set); #else (void)tc; #endif --