--- /dev/null
+#include "eina_suite.h"
+#include "eina_error.h"
+
+START_TEST(eina_error_init_shutdown)
+{
+ eina_error_init();
+ eina_error_init();
+ eina_error_shutdown();
+ eina_error_init();
+ eina_error_init();
+ eina_error_shutdown();
+ eina_error_shutdown();
+ eina_error_shutdown();
+}
+END_TEST
+
+#define TEST_TEXT "The big test\n"
+
+#include <stdio.h>
+
+START_TEST(eina_error_errno)
+{
+ int test;
+
+ eina_error_init();
+
+ test = eina_error_register(TEST_TEXT);
+ fail_if(!eina_error_msg_get(test));
+ fail_if(strcmp(eina_error_msg_get(test), TEST_TEXT) != 0);
+
+ eina_error_set(test);
+ fail_if(eina_error_get() != test);
+
+ eina_error_shutdown();
+}
+END_TEST
+
+START_TEST(eina_error_macro)
+{
+ eina_error_log_level_set(EINA_ERROR_LEVEL_DBG);
+
+ EINA_ERROR_PERR("An error\n");
+ EINA_ERROR_PINFO("An info\n");
+ EINA_ERROR_PWARN("A warning\n");
+ EINA_ERROR_PDBG("A debug\n");
+}
+END_TEST
+
+void
+eina_test_error(TCase *tc)
+{
+ tcase_add_test(tc, eina_error_init_shutdown);
+ tcase_add_test(tc, eina_error_errno);
+ tcase_add_test(tc, eina_error_macro);
+}
--- /dev/null
+#include <stdlib.h>
+
+#include "eina_suite.h"
+#include "eina_magic.h"
+
+START_TEST(eina_magic_string_init_shutdown)
+{
+ eina_magic_string_init();
+ eina_magic_string_init();
+ eina_magic_string_shutdown();
+ eina_magic_string_init();
+ eina_magic_string_init();
+ eina_magic_string_shutdown();
+ eina_magic_string_shutdown();
+ eina_magic_string_shutdown();
+}
+END_TEST
+
+#define EINA_MAGIC_TEST 0x7781fee7
+#define EINA_MAGIC_TEST2 0x42241664
+#define EINA_MAGIC_STRING "Eina Magic Test"
+
+typedef struct _Eina_Magic_Struct Eina_Magic_Struct;
+struct _Eina_Magic_Struct
+{
+ EINA_MAGIC
+};
+
+START_TEST(eina_magic_simple)
+{
+ Eina_Magic_Struct *ems = NULL;
+
+ eina_magic_string_init();
+
+ eina_magic_string_set(EINA_MAGIC_TEST, EINA_MAGIC_STRING);
+ eina_magic_string_set(EINA_MAGIC_TEST2, NULL);
+ eina_magic_string_set(EINA_MAGIC_TEST2, NULL);
+ eina_magic_string_set(EINA_MAGIC_TEST2, EINA_MAGIC_STRING);
+
+ fail_if(eina_magic_string_get(EINA_MAGIC_TEST) == NULL);
+ fail_if(strcmp(eina_magic_string_get(EINA_MAGIC_TEST), EINA_MAGIC_STRING) != 0);
+
+ fail_if(EINA_MAGIC_CHECK(ems, EINA_MAGIC_TEST));
+ EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST);
+
+ ems = malloc(sizeof (Eina_Magic_Struct));
+ fail_if(!ems);
+ EINA_MAGIC_SET(ems, EINA_MAGIC_TEST);
+
+ fail_if(!EINA_MAGIC_CHECK(ems, EINA_MAGIC_TEST));
+
+ EINA_MAGIC_SET(ems, EINA_MAGIC_NONE);
+ EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST);
+
+ EINA_MAGIC_SET(ems, 42424242);
+ EINA_MAGIC_FAIL(ems, EINA_MAGIC_TEST);
+
+ eina_magic_string_shutdown();
+}
+END_TEST
+
+void eina_test_magic(TCase *tc)
+{
+ tcase_add_test(tc, eina_magic_string_init_shutdown);
+ tcase_add_test(tc, eina_magic_simple);
+}
+