Use Eolian to generate the Eo classes for the tests. This should fix T2940.
@fix
tests/eina_cxx/eina_cxx_test_accessor.cc \
tests/eina_cxx/eina_cxx_test_thread.cc \
tests/eina_cxx/eina_cxx_test_optional.cc \
-tests/eina_cxx/eina_cxx_test_value.cc
+tests/eina_cxx/eina_cxx_test_value.cc \
+tests/eina_cxx/simple.c
-tests_eina_cxx_eina_cxx_suite_CXXFLAGS = -I$(top_builddir)/src/lib/efl \
+tests/eina_cxx/tests_eina_cxx_eina_cxx_suite-eina_cxx_test_accessor.$(OBJEXT): tests/eina_cxx/simple.eo.hh tests/eina_cxx/simple.eo.h
+tests/eina_cxx/tests_eina_cxx_eina_cxx_suite-eina_cxx_test_ptrarray.$(OBJEXT): tests/eina_cxx/simple.eo.hh tests/eina_cxx/simple.eo.h
+tests/eina_cxx/tests_eina_cxx_eina_cxx_suite-eina_cxx_test_ptrlist.$(OBJEXT): tests/eina_cxx/simple.eo.hh tests/eina_cxx/simple.eo.h
+
+tests/eina_cxx/tests_eina_cxx_eina_cxx_suite-simple.$(OBJEXT): tests/eina_cxx/simple.eo.c tests/eina_cxx/simple.eo.h
+
+CLEANFILES += \
+tests/eina_cxx/simple.eo.c \
+tests/eina_cxx/simple.eo.h \
+tests/eina_cxx/simple.eo.hh \
+tests/eina_cxx/simple.eo.impl.hh
+
+EXTRA_DIST += \
+tests/eina_cxx/simple.eo
+
+tests_eina_cxx_eina_cxx_suite_CPPFLAGS = -I$(top_builddir)/src/lib/efl \
-DTESTS_WD=\"`pwd`\" \
-DTESTS_SRC_DIR=\"$(top_srcdir)/src/tests/eina_cxx\" \
-DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)/src/tests/eina_cxx\" \
-DTESTS_BUILD_DIR=\"$(top_builddir)/src/tests/eina_cxx\" \
+-I$(top_builddir)/src/lib/efl \
+-I$(top_builddir)/src/lib/efl/interfaces \
+-I$(top_srcdir)/src/bin/eina_cxx \
+-I$(top_builddir)/src/tests/eina_cxx \
@CHECK_CFLAGS@ \
@EO_CFLAGS@ \
@ECORE_CFLAGS@ \
endif
endif
-
#include <check.h>
-
-const Eo_Class *simple_class_get(void);
-#define MY_CLASS simple_class_get()
+extern "C" {
+#include "simple.eo.h"
+}
struct wrapper : efl::eo::concrete
{
efl::eina::list<wrapper> list;
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
- wrapper const w4(eo_add(MY_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w4(eo_add(SIMPLE_CLASS, NULL));
list.push_back(w1);
list.push_back(w2);
efl::eina::list<wrapper> list;
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
- wrapper const w4(eo_add(MY_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w4(eo_add(SIMPLE_CLASS, NULL));
list.push_back(w1);
list.push_back(w2);
#include <algorithm>
#include <check.h>
-
-const Eo_Class *simple_class_get(void);
-#define MY_CLASS simple_class_get()
+extern "C" {
+#include "simple.eo.h"
+}
struct wrapper : efl::eo::concrete
{
int result[] = {5, 10, 15};
int rresult[] = {15, 10, 5};
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
{
efl::eina::ptr_array<int> array;
ck_assert(std::equal(array.rbegin(), array.rend(), rresult));
}
{
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
efl::eina::array<wrapper> array;
ck_assert(std::equal(array.begin(), array.end(), array4.begin()));
}
{
- wrapper const w0(eo_add(MY_CLASS, NULL));
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
- wrapper const w4(eo_add(MY_CLASS, NULL));
+ wrapper const w0(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w4(eo_add(SIMPLE_CLASS, NULL));
efl::eina::array<wrapper> array;
ck_assert(std::distance(array.begin(), array.end()) == 0u);
efl::eina::eina_init eina_init;
efl::eo::eo_init eo_init;
- wrapper const w1(eo_add(MY_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
{
efl::eina::ptr_array<int> array1;
ck_assert(array1.back() == 25);
}
{
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
- wrapper const w4(eo_add(MY_CLASS, NULL));
- wrapper const w5(eo_add(MY_CLASS, NULL));
- wrapper const w6(eo_add(MY_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w4(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w5(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w6(eo_add(SIMPLE_CLASS, NULL));
efl::eina::array<wrapper> array1;
}
{
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
- wrapper const w4(eo_add(MY_CLASS, NULL));
- wrapper const w5(eo_add(MY_CLASS, NULL));
- wrapper const w6(eo_add(MY_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w4(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w5(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w6(eo_add(SIMPLE_CLASS, NULL));
efl::eina::array<wrapper> array;
array.push_back(w1);
#include <check.h>
-const Eo_Class *simple_class_get(void);
-#define MY_CLASS simple_class_get()
-
-static Eo *
-_constructor(Eo *obj, void *class_data EINA_UNUSED)
-{
- return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor());
-}
-
-static void
-_destructor(Eo *obj, void *class_data EINA_UNUSED)
-{
- eo_do_super(obj, MY_CLASS, eo_destructor());
+extern "C" {
+#include "simple.eo.h"
}
-static Eo_Op_Description op_descs[] = {
- EO_OP_FUNC_OVERRIDE(reinterpret_cast<void*>(&eo_constructor), reinterpret_cast<void*>(&_constructor))
- , EO_OP_FUNC_OVERRIDE(reinterpret_cast<void*>(&eo_destructor), reinterpret_cast<void*>(&_destructor))
-};
-
-static const Eo_Class_Description class_desc = {
- EO_VERSION,
- "Simple",
- EO_CLASS_TYPE_REGULAR,
- EO_CLASS_DESCRIPTION_OPS(op_descs),
- NULL,
- 0,
- 0,
- 0
-};
-
-EO_DEFINE_CLASS(simple_class_get, &class_desc, EO_CLASS, NULL);
-
struct wrapper : efl::eo::concrete
{
explicit wrapper(Eo* o)
int result[] = {5, 10, 15};
int rresult[] = {15, 10, 5};
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
{
efl::eina::ptr_list<int> list;
int result[] = {5, 10};
int rresult[] = {10, 5};
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
{
efl::eina::ptr_list<int> list;
ck_assert(std::equal(list.rbegin(), list.rend(), rresult));
}
{
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
efl::eina::list<wrapper> list;
int result[] = {10, 5};
int rresult[] = {5, 10};
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
{
efl::eina::ptr_list<int> list;
ck_assert(std::equal(list.begin(), list.end(), list4.begin()));
}
{
- wrapper const w0(eo_add(MY_CLASS, NULL));
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
- wrapper const w4(eo_add(MY_CLASS, NULL));
+ wrapper const w0(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w4(eo_add(SIMPLE_CLASS, NULL));
efl::eina::list<wrapper> list;
ck_assert(list2 == list4);
}
{
- wrapper const w0(eo_add(MY_CLASS, NULL));
- wrapper const w1(eo_add(MY_CLASS, NULL));
- wrapper const w2(eo_add(MY_CLASS, NULL));
- wrapper const w3(eo_add(MY_CLASS, NULL));
- wrapper const w4(eo_add(MY_CLASS, NULL));
+ wrapper const w0(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w1(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w2(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w3(eo_add(SIMPLE_CLASS, NULL));
+ wrapper const w4(eo_add(SIMPLE_CLASS, NULL));
efl::eina::list<wrapper> list1;
ck_assert(list1.empty());
--- /dev/null
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <Eo.h>
+#include <Ecore.h>
+
+#include <stdlib.h>
+
+#include "simple.eo.h"
+
+#define MY_CLASS SIMPLE_CLASS
+
+static Eo *_simple_eo_base_constructor(Eo *obj, void *pd EINA_UNUSED)
+{
+ return eo_do_super_ret(obj, MY_CLASS, obj, eo_constructor());
+}
+
+#include "simple.eo.c"
+
--- /dev/null
+class Simple (Eo.Base)
+{
+ legacy_prefix: null;
+ data: null;
+ implements {
+ Eo.Base.constructor;
+ }
+}