diff mbox

[RFC,2/5] validation: common: add tests_global_init() function

Message ID 1417190740-1212-3-git-send-email-taras.kondratiuk@linaro.org
State New
Headers show

Commit Message

Taras Kondratiuk Nov. 28, 2014, 4:05 p.m. UTC
Signed-off-by: Taras Kondratiuk <taras.kondratiuk@linaro.org>
---
 test/validation/common/odp_cunit_common.c |    9 +++++++++
 test/validation/common/odp_cunit_common.h |   14 ++++++++++++++
 2 files changed, 23 insertions(+)
diff mbox

Patch

diff --git a/test/validation/common/odp_cunit_common.c b/test/validation/common/odp_cunit_common.c
index c87e103..14ba840 100644
--- a/test/validation/common/odp_cunit_common.c
+++ b/test/validation/common/odp_cunit_common.c
@@ -36,6 +36,11 @@  int odp_cunit_thread_exit(pthrd_arg *arg)
 	return 0;
 }
 
+__attribute__((__weak__)) int tests_global_init(void)
+{
+	return 0;
+}
+
 int main(void)
 {
 	int ret;
@@ -52,6 +57,10 @@  int main(void)
 		return -1;
 	}
 
+	ret = tests_global_init();
+	if (ret)
+		return ret;
+
 	CU_set_error_action(CUEA_ABORT);
 
 	CU_initialize_registry();
diff --git a/test/validation/common/odp_cunit_common.h b/test/validation/common/odp_cunit_common.h
index 9ce0df5..b367002 100644
--- a/test/validation/common/odp_cunit_common.h
+++ b/test/validation/common/odp_cunit_common.h
@@ -40,5 +40,19 @@  typedef struct {
 /** create thread fro start_routine function */
 extern int odp_cunit_thread_create(void *func_ptr(void *), pthrd_arg *arg);
 extern int odp_cunit_thread_exit(pthrd_arg *);
+/**
+ * Global tests initialization.
+ *
+ * Initialize global resources needed by all testsuites. Default weak definition
+ * do nothing. Test application can override it by defining a strong version.
+ * The function is called by the common main() just after ODP global/local
+ * initialization.
+ *
+ * @note: This function is a workaround for Crypto test and other applications
+ *        should try not to use it, because it will complicate migration to a
+ *        single test application in future. Normally each testsuite have to
+ *        prepare its environment in its own init function.
+ */
+extern int tests_global_init(void);
 
 #endif /* ODP_COMMON_H */