jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=8d18e2db3c1c91b51bf40126306efd333a5584dc

commit 8d18e2db3c1c91b51bf40126306efd333a5584dc
Author: Daniel Zaoui <daniel.za...@samsung.com>
Date:   Thu May 1 15:05:33 2014 +0300

    Eolian/Tests: move parsing tests to a specific file
---
 src/Makefile_Eolian.am                             |   1 +
 .../eolian/{eolian_suite.c => eolian_parsing.c}    |  99 +-------
 src/tests/eolian/eolian_suite.c                    | 272 +--------------------
 src/tests/eolian/eolian_suite.h                    |   3 +-
 4 files changed, 5 insertions(+), 370 deletions(-)

diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am
index a9baa38..db8ebc9 100644
--- a/src/Makefile_Eolian.am
+++ b/src/Makefile_Eolian.am
@@ -63,6 +63,7 @@ check_PROGRAMS += \
 tests/eolian/eolian_suite
 
 tests_eolian_eolian_suite_SOURCES = \
+tests/eolian/eolian_parsing.c \
 tests/eolian/eolian_suite.c \
 tests/eolian/eolian_suite.h
 
diff --git a/src/tests/eolian/eolian_suite.c b/src/tests/eolian/eolian_parsing.c
similarity index 85%
copy from src/tests/eolian/eolian_suite.c
copy to src/tests/eolian/eolian_parsing.c
index 648bd07..2f9afc9 100644
--- a/src/tests/eolian/eolian_suite.c
+++ b/src/tests/eolian/eolian_parsing.c
@@ -5,17 +5,10 @@
 #include <stdlib.h>
 #include <stdio.h>
 
+#include<Eina.h>
 #include "Eolian.h"
 #include "eolian_suite.h"
 
-typedef struct _Eolian_Test_Case Eolian_Test_Case;
-
-struct _Eolian_Test_Case
-{
-   const char *test_case;
-   void      (*build)(TCase *tc);
-};
-
 START_TEST(eolian_ctor_dtor)
 {
    const char *class_name = "Ctor_Dtor";
@@ -277,7 +270,7 @@ START_TEST(eolian_simple_parsing)
 }
 END_TEST
 
-static void eolian_parsing_test(TCase *tc)
+void eolian_parsing_test(TCase *tc)
 {
    tcase_add_test(tc, eolian_simple_parsing);
    tcase_add_test(tc, eolian_ctor_dtor);
@@ -286,91 +279,3 @@ static void eolian_parsing_test(TCase *tc)
    tcase_add_test(tc, eolian_typedef);
 }
 
-static const Eolian_Test_Case etc[] = {
-  { "Eolian Parsing", eolian_parsing_test},
-  { NULL, NULL }
-};
-
-static void
-_list_tests(void)
-{
-  const Eolian_Test_Case *itr;
-
-   itr = etc;
-   fputs("Available Test Cases:\n", stderr);
-   for (; itr->test_case; itr++)
-     fprintf(stderr, "\t%s\n", itr->test_case);
-}
-
-static Eina_Bool
-_use_test(int argc, const char **argv, const char *test_case)
-{
-   if (argc < 1)
-     return 1;
-
-   for (; argc > 0; argc--, argv++)
-     if (strcmp(test_case, *argv) == 0)
-       return 1;
-   return 0;
-}
-
-static Suite *
-eolian_suite_build(int argc, const char **argv)
-{
-   TCase *tc;
-   Suite *s;
-   int i;
-
-   s = suite_create("Eolian");
-
-   for (i = 0; etc[i].test_case; ++i)
-     {
-       if (!_use_test(argc, argv, etc[i].test_case)) continue;
-       tc = tcase_create(etc[i].test_case);
-
-       etc[i].build(tc);
-
-       suite_add_tcase(s, tc);
-       tcase_set_timeout(tc, 0);
-     }
-
-   return s;
-}
-
-int
-main(int argc, char **argv)
-{
-   Suite *s;
-   SRunner *sr;
-   int i, failed_count;
-   setenv("CK_FORK", "no", 0);
-
-   for (i = 1; i < argc; i++)
-     if ((strcmp(argv[i], "-h") == 0) ||
-        (strcmp(argv[i], "--help") == 0))
-       {
-         fprintf(stderr, "Usage:\n\t%s [test_case1 .. [test_caseN]]\n",
-                 argv[0]);
-         _list_tests();
-         return 0;
-       }
-     else if ((strcmp(argv[i], "-l") == 0) ||
-             (strcmp(argv[i], "--list") == 0))
-       {
-         _list_tests();
-         return 0;
-       }
-
-   putenv("EFL_RUN_IN_TREE=1");
-
-   s = eolian_suite_build(argc - 1, (const char **)argv + 1);
-   sr = srunner_create(s);
-
-   srunner_set_xml(sr, TESTS_BUILD_DIR "/check-results.xml");
-
-   srunner_run_all(sr, CK_ENV);
-   failed_count = srunner_ntests_failed(sr);
-   srunner_free(sr);
-
-   return (failed_count == 0) ? 0 : 255;
-}
diff --git a/src/tests/eolian/eolian_suite.c b/src/tests/eolian/eolian_suite.c
index 648bd07..e976940 100644
--- a/src/tests/eolian/eolian_suite.c
+++ b/src/tests/eolian/eolian_suite.c
@@ -5,7 +5,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 
-#include "Eolian.h"
+#include<Eina.h>
 #include "eolian_suite.h"
 
 typedef struct _Eolian_Test_Case Eolian_Test_Case;
@@ -16,276 +16,6 @@ struct _Eolian_Test_Case
    void      (*build)(TCase *tc);
 };
 
-START_TEST(eolian_ctor_dtor)
-{
-   const char *class_name = "Ctor_Dtor";
-   const char *base_name = "Base";
-   const Eina_List *impls = NULL;
-   const char *impl_class = NULL, *impl_func = NULL;
-
-   eolian_init();
-   /* Parsing */
-   fail_if(!eolian_directory_scan(PACKAGE_DATA_DIR"/data"));
-   fail_if(!eolian_eo_file_parse(PACKAGE_DATA_DIR"/data/ctor_dtor.eo"));
-
-   /* Class ctor/dtor */
-   fail_if(!eolian_class_ctor_enable_get(class_name));
-   fail_if(!eolian_class_dtor_enable_get(class_name));
-
-   /* Base ctor/dtor */
-   fail_if(!(impls = eolian_class_implements_list_get(class_name)));
-   fail_if(eina_list_count(impls) != 2);
-   fail_if(!eolian_implement_information_get(eina_list_nth(impls, 0), 
&impl_class, &impl_func, NULL));
-   fail_if(strcmp(impl_class, base_name));
-   fail_if(strcmp(impl_func, "constructor"));
-   fail_if(!eolian_implement_information_get(eina_list_nth(impls, 1), 
&impl_class, &impl_func, NULL));
-   fail_if(strcmp(impl_class, base_name));
-   fail_if(strcmp(impl_func, "destructor"));
-
-   /* Custom ctors/dtors */
-   fail_if(!eolian_class_function_find_by_name(base_name, "constructor", 
EOLIAN_METHOD));
-   fail_if(!eolian_class_function_find_by_name(base_name, "destructor", 
EOLIAN_METHOD));
-   fail_if(!eolian_class_function_find_by_name(class_name, 
"custom_constructor_1", EOLIAN_CTOR));
-   fail_if(!eolian_class_function_find_by_name(class_name, 
"custom_constructor_2", EOLIAN_CTOR));
-
-   eolian_shutdown();
-}
-END_TEST
-
-START_TEST(eolian_typedef)
-{
-   Eolian_Type types_list = NULL;
-   const char *type_name = NULL;
-   Eina_Bool own = EINA_FALSE;
-
-   eolian_init();
-   /* Parsing */
-   fail_if(!eolian_eo_file_parse(PACKAGE_DATA_DIR"/data/typedef.eo"));
-
-   /* Check that the class Dummy is still readable */
-   fail_if(!eolian_class_function_find_by_name("Dummy", "foo", EOLIAN_METHOD));
-
-   /* Basic type */
-   fail_if(!(types_list = eolian_type_find_by_alias("Evas_Coord")));
-   fail_if(eolian_type_information_get(types_list, &type_name, &own));
-   fail_if(strcmp(type_name, "int"));
-   fail_if(own != EINA_FALSE);
-
-   /* Complex type */
-   fail_if(!(types_list = eolian_type_find_by_alias("List_Objects")));
-   fail_if(!(types_list = eolian_type_information_get(types_list, &type_name, 
&own)));
-   fail_if(strcmp(type_name, "Eina_List *"));
-   fail_if(own != EINA_TRUE);
-   fail_if(eolian_type_information_get(types_list, &type_name, &own));
-   fail_if(strcmp(type_name, "Eo *"));
-   fail_if(own != EINA_FALSE);
-
-   eolian_shutdown();
-}
-END_TEST
-
-START_TEST(eolian_complex_type)
-{
-   Eolian_Function fid = NULL;
-   Eolian_Function_Parameter param = NULL;
-   const Eina_List *params_list = NULL;
-   const char *class_name = "Complex_Type";
-   Eolian_Type types_list = NULL;
-   const char *type_name = NULL;
-   Eina_Bool own = EINA_FALSE;
-
-   eolian_init();
-   /* Parsing */
-   fail_if(!eolian_eo_file_parse(PACKAGE_DATA_DIR"/data/complex_type.eo"));
-
-   /* Properties return type */
-   fail_if(!(fid = eolian_class_function_find_by_name(class_name, "a", 
EOLIAN_PROPERTY)));
-   fail_if(!(types_list = eolian_function_return_types_list_get(fid, 
EOLIAN_PROP_SET)));
-   fail_if(!(types_list = eolian_type_information_get(types_list, &type_name, 
&own)));
-   fail_if(strcmp(type_name, "Eina_List *"));
-   fail_if(own != EINA_TRUE);
-   fail_if(!(types_list = eolian_type_information_get(types_list, &type_name, 
&own)));
-   fail_if(strcmp(type_name, "Eina_Array *"));
-   fail_if(own != EINA_FALSE);
-   fail_if(eolian_type_information_get(types_list, &type_name, &own));
-   fail_if(strcmp(type_name, "Eo **"));
-   fail_if(own != EINA_TRUE);
-   /* Properties parameter type */
-   fail_if(!(params_list = eolian_parameters_list_get(fid)));
-   fail_if(eina_list_count(params_list) != 1);
-   fail_if(!(param = eina_list_nth(params_list, 0)));
-   fail_if(strcmp(eolian_parameter_name_get(param), "value"));
-   fail_if(!(types_list = eolian_parameter_types_list_get(param)));
-   fail_if(!(types_list = eolian_type_information_get(types_list, &type_name, 
&own)));
-   fail_if(strcmp(type_name, "Eina_List *"));
-   fail_if(own != EINA_TRUE);
-   fail_if(eolian_type_information_get(types_list, &type_name, &own));
-   fail_if(strcmp(type_name, "int"));
-   fail_if(own != EINA_FALSE);
-
-   /* Methods return type */
-   fail_if(!(fid = eolian_class_function_find_by_name(class_name, "foo", 
EOLIAN_METHOD)));
-   fail_if(!(types_list = eolian_function_return_types_list_get(fid, 
EOLIAN_METHOD)));
-   fail_if(!(types_list = eolian_type_information_get(types_list, &type_name, 
&own)));
-   fail_if(strcmp(type_name, "Eina_List *"));
-   fail_if(own != EINA_TRUE);
-   fail_if(eolian_type_information_get(types_list, &type_name, &own));
-   fail_if(strcmp(type_name, "Eina_Stringshare *"));
-   fail_if(own != EINA_FALSE);
-   /* Methods parameter type */
-   fail_if(!(params_list = eolian_parameters_list_get(fid)));
-   fail_if(eina_list_count(params_list) != 1);
-   fail_if(!(param = eina_list_nth(params_list, 0)));
-   fail_if(strcmp(eolian_parameter_name_get(param), "buf"));
-   fail_if(!(types_list = eolian_parameter_types_list_get(param)));
-   fail_if(eolian_type_information_get(types_list, &type_name, &own));
-   fail_if(strcmp(type_name, "char *"));
-   fail_if(own != EINA_TRUE);
-
-   eolian_shutdown();
-}
-END_TEST
-
-START_TEST(eolian_scope)
-{
-   Eolian_Function fid = NULL;
-   const char *class_name = "Simple";
-
-   eolian_init();
-   /* Parsing */
-   fail_if(!eolian_eo_file_parse(PACKAGE_DATA_DIR"/data/scope.eo"));
-
-   /* Property scope */
-   fail_if(!(fid = eolian_class_function_find_by_name(class_name, "a", 
EOLIAN_PROPERTY)));
-   fail_if(eolian_function_scope_get(fid) != EOLIAN_SCOPE_PROTECTED);
-   fail_if(!(fid = eolian_class_function_find_by_name(class_name, "b", 
EOLIAN_PROPERTY)));
-   fail_if(eolian_function_scope_get(fid) != EOLIAN_SCOPE_PUBLIC);
-   fail_if(!(fid = eolian_class_function_find_by_name(class_name, "c", 
EOLIAN_PROPERTY)));
-   fail_if(eolian_function_scope_get(fid) != EOLIAN_SCOPE_PUBLIC);
-
-   /* Method scope */
-   fail_if(!(fid = eolian_class_function_find_by_name(class_name, "foo", 
EOLIAN_METHOD)));
-   fail_if(eolian_function_scope_get(fid) != EOLIAN_SCOPE_PUBLIC);
-   fail_if(!(fid = eolian_class_function_find_by_name(class_name, "bar", 
EOLIAN_METHOD)));
-   fail_if(eolian_function_scope_get(fid) != EOLIAN_SCOPE_PROTECTED);
-   fail_if(!(fid = eolian_class_function_find_by_name(class_name, "foobar", 
EOLIAN_METHOD)));
-   fail_if(eolian_function_scope_get(fid) != EOLIAN_SCOPE_PUBLIC);
-
-   eolian_shutdown();
-}
-END_TEST
-
-START_TEST(eolian_simple_parsing)
-{
-   Eolian_Function fid = NULL;
-   const char *string = NULL, *ptype = NULL, *pname = NULL;
-   Eolian_Parameter_Dir dir = EOLIAN_IN_PARAM;
-   const char *class_name = "Simple";
-   const Eina_List *list = NULL;
-   Eolian_Function_Parameter param = NULL;
-
-   eolian_init();
-   /* Parsing */
-   fail_if(!eolian_eo_file_parse(PACKAGE_DATA_DIR"/data/class_simple.eo"));
-   
fail_if(strcmp(eolian_class_find_by_file(PACKAGE_DATA_DIR"/data/class_simple.eo"),
 class_name));
-   fail_if(strcmp(eolian_class_file_get(class_name), 
PACKAGE_DATA_DIR"/data/class_simple.eo"));
-
-   /* Class */
-   fail_if(!eolian_class_exists(class_name));
-   fail_if(eolian_class_type_get(class_name) != EOLIAN_CLASS_REGULAR);
-   string = eolian_class_description_get(class_name);
-   fail_if(!string);
-   fail_if(strcmp(string, "Class Desc Simple"));
-   fail_if(eolian_class_inherits_list_get(class_name) != NULL);
-   fail_if(strcmp(eolian_class_legacy_prefix_get(class_name), 
"evas_object_simple"));
-   fail_if(strcmp(eolian_class_eo_prefix_get(class_name), "evas_obj_simple"));
-   fail_if(strcmp(eolian_class_data_type_get(class_name), "Evas_Simple_Data"));
-
-   /* Property */
-   fail_if(!(fid = eolian_class_function_find_by_name(class_name, "a", 
EOLIAN_PROPERTY)));
-   fail_if(strcmp(eolian_function_name_get(fid), "a"));
-   string = eolian_function_description_get(fid, EOLIAN_COMMENT_SET);
-   fail_if(!string);
-   fail_if(strcmp(string, "comment a::set"));
-   string = eolian_function_description_get(fid, EOLIAN_COMMENT_GET);
-   fail_if(string);
-   /* Set return */
-   string = eolian_function_return_type_get(fid, EOLIAN_PROP_SET);
-   fail_if(!string);
-   fail_if(strcmp(string, "Eina_Bool"));
-   string = eolian_function_return_dflt_value_get(fid, EOLIAN_PROP_SET);
-   fail_if(!string);
-   fail_if(strcmp(string, "EINA_TRUE"));
-   string = eolian_function_return_comment_get(fid, EOLIAN_PROP_SET);
-   fail_if(!string);
-   fail_if(strcmp(string, "comment for property set return"));
-   /* Get return */
-   string = eolian_function_return_type_get(fid, EOLIAN_PROP_GET);
-   fail_if(string);
-   string = eolian_function_return_comment_get(fid, EOLIAN_PROP_GET);
-   fail_if(string);
-
-   /* Function parameters */
-   fail_if(eolian_property_keys_list_get(fid) != NULL);
-   fail_if(!(list = eolian_property_values_list_get(fid)));
-   fail_if(eina_list_count(list) != 1);
-   fail_if(!(param = eina_list_data_get(list)));
-   eolian_parameter_information_get(param, NULL, &ptype, &pname, &string);
-   fail_if(strcmp(ptype, "int"));
-   fail_if(strcmp(pname, "value"));
-   fail_if(strcmp(string, "Value description"));
-
-   /* Method */
-   fail_if(!(fid = eolian_class_function_find_by_name(class_name, "foo", 
EOLIAN_METHOD)));
-   string = eolian_function_description_get(fid, EOLIAN_COMMENT);
-   fail_if(!string);
-   fail_if(strcmp(string, "comment foo"));
-   /* Function return */
-   string = eolian_function_return_type_get(fid, EOLIAN_METHOD);
-   fail_if(!string);
-   fail_if(strcmp(string, "char *"));
-   string = eolian_function_return_dflt_value_get(fid, EOLIAN_METHOD);
-   fail_if(!string);
-   fail_if(strcmp(string, "NULL"));
-   string = eolian_function_return_comment_get(fid, EOLIAN_METHOD);
-   fail_if(!string);
-   fail_if(strcmp(string, "comment for method return"));
-
-   /* Function parameters */
-   fail_if(!(list = eolian_parameters_list_get(fid)));
-   fail_if(eina_list_count(list) != 3);
-   fail_if(!(param = eina_list_nth(list, 0)));
-   eolian_parameter_information_get(param, &dir, &ptype, &pname, &string);
-   fail_if(dir != EOLIAN_IN_PARAM);
-   fail_if(strcmp(ptype, "int"));
-   fail_if(strcmp(pname, "a"));
-   fail_if(!string || strcmp(string, "a"));
-   fail_if(!(param = eina_list_nth(list, 1)));
-   eolian_parameter_information_get(param, &dir, &ptype, &pname, &string);
-   fail_if(dir != EOLIAN_INOUT_PARAM);
-   fail_if(strcmp(ptype, "char *"));
-   fail_if(strcmp(pname, "b"));
-   fail_if(string);
-   fail_if(!(param = eina_list_nth(list, 2)));
-   eolian_parameter_information_get(param, &dir, &ptype, &pname, &string);
-   fail_if(dir != EOLIAN_OUT_PARAM);
-   fail_if(strcmp(ptype, "double"));
-   fail_if(strcmp(pname, "c"));
-   fail_if(string);
-
-   eolian_shutdown();
-}
-END_TEST
-
-static void eolian_parsing_test(TCase *tc)
-{
-   tcase_add_test(tc, eolian_simple_parsing);
-   tcase_add_test(tc, eolian_ctor_dtor);
-   tcase_add_test(tc, eolian_scope);
-   tcase_add_test(tc, eolian_complex_type);
-   tcase_add_test(tc, eolian_typedef);
-}
-
 static const Eolian_Test_Case etc[] = {
   { "Eolian Parsing", eolian_parsing_test},
   { NULL, NULL }
diff --git a/src/tests/eolian/eolian_suite.h b/src/tests/eolian/eolian_suite.h
index 210b301..fef23e1 100644
--- a/src/tests/eolian/eolian_suite.h
+++ b/src/tests/eolian/eolian_suite.h
@@ -3,8 +3,7 @@
 
 #include <check.h>
 
-void eolian_test_init(TCase *tc);
-void eolian_test_general(TCase *tc);
+void eolian_parsing_test(TCase *tc);
 
 #endif /* _EOLIAN_SUITE_H */
 

-- 


Reply via email to