From 35c577578a22362f0628fe52332f14ad4b9ea3ff Mon Sep 17 00:00:00 2001 From: Stefan Schmidt Date: Mon, 7 Mar 2016 23:40:37 +0100 Subject: [PATCH] tests eolian: add test cases for type stub generations While we had the functionality to generate type stubs header we never had these tested in our unit test setup. Adding to simple cases for struct and typedef which we already use for normal header generation tests. --- src/Makefile_Eolian.am | 2 ++ src/tests/eolian/data/struct_ref_stub.c | 13 +++++++++++++ src/tests/eolian/data/typedef_ref_stub.c | 15 +++++++++++++++ src/tests/eolian/eolian_generation.c | 5 +++++ 4 files changed, 35 insertions(+) create mode 100644 src/tests/eolian/data/struct_ref_stub.c create mode 100644 src/tests/eolian/data/typedef_ref_stub.c diff --git a/src/Makefile_Eolian.am b/src/Makefile_Eolian.am index 50fcc4f..2f4554c 100644 --- a/src/Makefile_Eolian.am +++ b/src/Makefile_Eolian.am @@ -132,7 +132,9 @@ EXTRA_DIST += \ tests/eolian/data/object_impl_ref.c \ tests/eolian/data/object_impl_add_ref.c \ tests/eolian/data/typedef_ref.c \ +tests/eolian/data/typedef_ref_stub.c \ tests/eolian/data/struct_ref.c \ +tests/eolian/data/struct_ref_stub.c \ tests/eolian/data/class_simple_ref.c \ tests/eolian/data/override_ref.c \ tests/eolian/data/class_simple_ref_eo.h \ diff --git a/src/tests/eolian/data/struct_ref_stub.c b/src/tests/eolian/data/struct_ref_stub.c new file mode 100644 index 0000000..3ad9709 --- /dev/null +++ b/src/tests/eolian/data/struct_ref_stub.c @@ -0,0 +1,13 @@ +#ifndef _TYPES_OUTPUT_C_STUBS +#define _TYPES_OUTPUT_C_STUBS + +typedef Eo Struct; + +typedef struct _Named Named; + +typedef struct _Another Another; + +typedef struct _Opaque Opaque; + + +#endif diff --git a/src/tests/eolian/data/typedef_ref_stub.c b/src/tests/eolian/data/typedef_ref_stub.c new file mode 100644 index 0000000..fe9200a --- /dev/null +++ b/src/tests/eolian/data/typedef_ref_stub.c @@ -0,0 +1,15 @@ +#ifndef _TYPES_OUTPUT_C_STUBS +#define _TYPES_OUTPUT_C_STUBS + +typedef Eo Typedef; + +typedef int Evas_Coord; + +typedef Eina_List *List_Objects; + +typedef Evas_Coord Evas_Coord2; + +typedef Evas_Coord2 Evas_Coord3; + + +#endif diff --git a/src/tests/eolian/eolian_generation.c b/src/tests/eolian/eolian_generation.c index 9512e33..c63c641 100644 --- a/src/tests/eolian/eolian_generation.c +++ b/src/tests/eolian/eolian_generation.c @@ -116,6 +116,11 @@ START_TEST(eolian_types_generation) fail_if(!_files_compare(PACKAGE_DATA_DIR"/data/typedef_ref.c", output_filepath)); fail_if(0 != _eolian_gen_execute(PACKAGE_DATA_DIR"/data/struct.eo", "--gh", output_filepath)); fail_if(!_files_compare(PACKAGE_DATA_DIR"/data/struct_ref.c", output_filepath)); + + fail_if(0 != _eolian_gen_execute(PACKAGE_DATA_DIR"/data/typedef.eo", "--gs", output_filepath)); + fail_if(!_files_compare(PACKAGE_DATA_DIR"/data/typedef_ref_stub.c", output_filepath)); + fail_if(0 != _eolian_gen_execute(PACKAGE_DATA_DIR"/data/struct.eo", "--gs", output_filepath)); + fail_if(!_files_compare(PACKAGE_DATA_DIR"/data/struct_ref_stub.c", output_filepath)); } END_TEST -- 2.7.4