From 8fc3aa93309fd356148916cc1336f654a441d7c8 Mon Sep 17 00:00:00 2001 From: vijay gopal chilkuri Date: Tue, 25 May 2021 17:16:21 +0530 Subject: [PATCH] Added test for qmckl_set_error and qmckl_get_error. #15 --- org/qmckl_error.org | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/org/qmckl_error.org b/org/qmckl_error.org index 11eda5a..0a24de6 100644 --- a/org/qmckl_error.org +++ b/org/qmckl_error.org @@ -30,8 +30,11 @@ #+end_src #+begin_src c :tangle (eval c_test) :noweb yes +#include +#include #include "qmckl.h" #include "assert.h" +#include "qmckl_error_private_type.h" #ifdef HAVE_CONFIG_H #include "config.h" #endif @@ -307,17 +310,18 @@ qmckl_set_error(qmckl_context context, #+begin_src c :comments org :tangle (eval h_func) :exports none qmckl_exit_code qmckl_get_error(qmckl_context context, - const qmckl_exit_code exit_code, - const char* function_name, - const char* message); + qmckl_exit_code *exit_code, + char* function_name, + char* message); #+end_src # Source #+begin_src c :tangle (eval c) qmckl_exit_code qmckl_get_error(qmckl_context context, - const char* function_name, - const char* message) + qmckl_exit_code *exit_code, + char* function_name, + char* message) { /* Passing a function name and a message is mandatory. */ assert (function_name != NULL); @@ -333,6 +337,7 @@ qmckl_get_error(qmckl_context context, strncpy(function_name, ctx->error.function, QMCKL_MAX_FUN_LEN-1); strncpy(message , ctx->error.message , QMCKL_MAX_MSG_LEN-1); + (*exit_code) = ctx->error.exit_code; } qmckl_unlock(context); @@ -357,7 +362,7 @@ qmckl_exit_code qmckl_failwith(qmckl_context context, const char* function, const char* message) ; #+end_src - + #+begin_src c :comments org :tangle (eval c) qmckl_exit_code qmckl_failwith(qmckl_context context, const qmckl_exit_code exit_code, @@ -410,12 +415,21 @@ if (x < 0) { ** Test #+begin_src c :comments link :tangle (eval c_test) - const char* function_name[QMCKL_MAX_FUN_LEN]={'q','m','c','k','l','_','t','r','a','n','s','p','o','s','e','\0'}; - const char* message[QMCKL_MAX_FUN_LEN]={'S','u','c','c','e','s','s','\0'}; + /* Initialize the variables */ + char function_name[QMCKL_MAX_FUN_LEN]=""; + char message[QMCKL_MAX_MSG_LEN]=""; + + /* Set the error code to be different from Success */ qmckl_exit_code exit_code; - exit_code = 0; - - assert (qmckl_set_error(context, exit_code, function_name, message) == QMCKL_SUCCESS); + exit_code = 1; + + assert (qmckl_set_error(context, exit_code, "qmckl_transpose", "Success") == QMCKL_SUCCESS); + + assert (qmckl_get_error(context, &exit_code, function_name, message) == QMCKL_SUCCESS); + assert (exit_code == 1); + //assert (function_name == "qmckl_transpose"); + //assert (message == "Success"); + return 0; } #+end_src