tests CHANGE redesign mechanism to add particular tests

Define cmake function to add a test into the ctest instead of adding
particular parameters of each test into several lists.
diff --git a/tests/utests/schema/test_schema.c b/tests/utests/schema/test_schema.c
index 559b193..ffb7195 100644
--- a/tests/utests/schema/test_schema.c
+++ b/tests/utests/schema/test_schema.c
@@ -12,6 +12,8 @@
  *     https://opensource.org/licenses/BSD-3-Clause
  */
 
+#include "test_schema.h"
+
 #include <stdarg.h>
 #include <stddef.h>
 #include <stdio.h>
@@ -20,23 +22,17 @@
 
 #include <string.h>
 
-#include "../../../src/common.h"
-#include "../../../src/context.h"
-#include "../../../src/log.h"
-#include "../../../src/parser_yin.h"
-#include "../../../src/tree_schema.h"
-#include "../../../src/tree_schema_internal.h"
-#include "../../../src/xml.h"
+#include "config.h"
+#include "log.h"
+#include "parser_schema.h"
+#include "tree_schema.h"
 
+#if ENABLE_LOGGER_CHECKING
 
 #define BUFSIZE 1024
 char logbuf[BUFSIZE] = {0};
 int store = -1; /* negative for infinite logging, positive for limited logging */
 
-/* set to 0 to printing error messages to stderr instead of checking them in code */
-#define ENABLE_LOGGER_CHECKING 1
-
-#if ENABLE_LOGGER_CHECKING
 static void
 logger(LY_LOG_LEVEL level, const char *msg, const char *path)
 {
@@ -82,20 +78,34 @@
 void
 logbuf_clean(void)
 {
+#if ENABLE_LOGGER_CHECKING
     logbuf[0] = '\0';
+#endif
 }
 
-#if ENABLE_LOGGER_CHECKING
-#   define logbuf_assert(str) assert_string_equal(logbuf, str)
-#else
-#   define logbuf_assert(str)
-#endif
+LY_ERR
+test_imp_clb(const char *UNUSED(mod_name), const char *UNUSED(mod_rev), const char *UNUSED(submod_name),
+             const char *UNUSED(sub_rev), void *user_data, LYS_INFORMAT *format,
+             const char **module_data, void (**free_module_data)(void *model_data, void *user_data))
+{
+    *module_data = user_data;
+    *format = LYS_IN_YANG;
+    *free_module_data = NULL;
+    return LY_SUCCESS;
+}
 
 /**
- * INCLUDE OTHER SCHEMA TESTS
+ * DECLARE OTHER SCHEMA TESTS
  */
-#include "test_schema_common.c"
-#include "test_schema_stmts.c"
+/* test_schema_common.c */
+void test_getnext(void **state);
+void test_date(void **state);
+void test_revisions(void **state);
+void test_typedef(void **state);
+
+/* test_schema_stmts.c */
+void test_identity(void **state);
+void test_feature(void **state);
 
 int main(void)
 {
diff --git a/tests/utests/schema/macros.h b/tests/utests/schema/test_schema.h
similarity index 78%
rename from tests/utests/schema/macros.h
rename to tests/utests/schema/test_schema.h
index 4a0424f..b6f1929 100644
--- a/tests/utests/schema/macros.h
+++ b/tests/utests/schema/test_schema.h
@@ -11,8 +11,29 @@
  *
  *     https://opensource.org/licenses/BSD-3-Clause
  */
-#ifndef TESTS_UTESTS_SCHEMA_MACROS_H_
-#define TESTS_UTESTS_SCHEMA_MACROS_H_
+#ifndef TESTS_UTESTS_SCHEMA_TEST_SCHEMA_H_
+#define TESTS_UTESTS_SCHEMA_TEST_SCHEMA_H_
+
+#include "config.h"
+#include "log.h"
+#include "parser_schema.h"
+
+/* set to 0 to printing error messages to stderr instead of checking them in code */
+#define ENABLE_LOGGER_CHECKING 1
+
+#if ENABLE_LOGGER_CHECKING
+    extern char logbuf[];
+#   define logbuf_assert(str) assert_string_equal(logbuf, str)
+#else
+#   define logbuf_assert(str)
+#endif
+
+void logbuf_clean(void);
+
+LY_ERR test_imp_clb(const char *UNUSED(mod_name), const char *UNUSED(mod_rev), const char *UNUSED(submod_name),
+                    const char *UNUSED(sub_rev), void *user_data, LYS_INFORMAT *format,
+                    const char **module_data, void (**free_module_data)(void *model_data, void *user_data));
+
 
 #define TEST_YANG_MODULE_10(MOD_NAME, MOD_PREFIX, MOD_NS, CONTENT) \
     "module "MOD_NAME" { namespace "MOD_NS"; prefix "MOD_PREFIX"; "CONTENT"}"
@@ -69,4 +90,4 @@
 #define TEST_STMT_SUBSTM_ERR(CTX, RFC7950, STMT, SUBSTMT, VALUE); \
         TEST_SCHEMA_ERR(CTX, RFC7950, 0, "inv", STMT" test {"SUBSTMT" "VALUE";}", "Invalid keyword \""SUBSTMT"\" as a child of \""STMT"\". Line number 1.");
 
-#endif /* TESTS_UTESTS_SCHEMA_MACROS_H_ */
+#endif /* TESTS_UTESTS_SCHEMA_TEST_SCHEMA_H_ */
diff --git a/tests/utests/schema/test_schema_common.c b/tests/utests/schema/test_schema_common.c
index 9b2bc6b..1623905 100644
--- a/tests/utests/schema/test_schema_common.c
+++ b/tests/utests/schema/test_schema_common.c
@@ -20,7 +20,14 @@
 
 #include <string.h>
 
-static void
+#include "context.h"
+#include "log.h"
+#include "tree_schema.h"
+#include "tree_schema_internal.h"
+
+#include "test_schema.h"
+
+void
 test_getnext(void **state)
 {
     *state = test_getnext;
@@ -138,7 +145,7 @@
     *state = NULL;
     ly_ctx_destroy(ctx, NULL);
 }
-static void
+void
 test_date(void **state)
 {
     *state = test_date;
@@ -169,7 +176,7 @@
     *state = NULL;
 }
 
-static void
+void
 test_revisions(void **state)
 {
     (void) state; /* unused */
@@ -198,17 +205,7 @@
     LY_ARRAY_FREE(revs);
 }
 
-LY_ERR test_imp_clb(const char *UNUSED(mod_name), const char *UNUSED(mod_rev), const char *UNUSED(submod_name),
-                    const char *UNUSED(sub_rev), void *user_data, LYS_INFORMAT *format,
-                    const char **module_data, void (**free_module_data)(void *model_data, void *user_data))
-{
-    *module_data = user_data;
-    *format = LYS_IN_YANG;
-    *free_module_data = NULL;
-    return LY_SUCCESS;
-}
-
-static void
+void
 test_typedef(void **state)
 {
     *state = test_typedef;
diff --git a/tests/utests/schema/test_schema_stmts.c b/tests/utests/schema/test_schema_stmts.c
index eab21c9..a588e42 100644
--- a/tests/utests/schema/test_schema_stmts.c
+++ b/tests/utests/schema/test_schema_stmts.c
@@ -20,10 +20,14 @@
 
 #include <string.h>
 
-#include "macros.h"
+#include "log.h"
+#include "context.h"
+#include "test_schema.h"
+#include "tree_schema.h"
 
+#include "test_schema.h"
 
-static void
+void
 test_identity(void **state)
 {
     *state = test_identity;
@@ -136,7 +140,7 @@
 }
 
 
-static void
+void
 test_feature(void **state)
 {
     *state = test_feature;