From d685f88573daa2fba2054472f1423d09f6243992 Mon Sep 17 00:00:00 2001 From: heck Date: Wed, 27 Jan 2021 05:00:39 +0100 Subject: [PATCH] lib_test - c tests for char and struct double/tripple pointer functions (ret,arg) --- examples/lib/lib_test/main.c | 104 ++++++++++++++++++++++++++++++----- 1 file changed, 91 insertions(+), 13 deletions(-) diff --git a/examples/lib/lib_test/main.c b/examples/lib/lib_test/main.c index 8446da0..4fa11d9 100644 --- a/examples/lib/lib_test/main.c +++ b/examples/lib/lib_test/main.c @@ -61,11 +61,22 @@ int main() { assert(ret == 'A'); } { - printf("testing: func_V_args_pPc\n"); + printf("testing: func_pPcStr_args_V\n"); + char* ret = func_pPcStr_args_V(); + assert(!strcmp(ret,"pEp")); + } + { + printf("testing: func_V_args_pPcChr\n"); char c = 'a'; - func_V_args_pPc(&c); + func_V_args_pPcChr(&c); assert(c == 'A'); } + { + printf("testing: func_V_args_pPcStr\n"); + char c[4] = "pEp"; + func_V_args_pPcStr(c); + assert(!strcmp(c,"PEP")); + } { printf("testing: func_Pc_args_Pc_pPc_pPc\n"); char i = 'A'; @@ -108,27 +119,94 @@ int main() { char** ret = func_ppPc_args_V(); assert(!strcmp(*ret, "pEp")); } + { + printf("testing: func_ppPc_args_V\n"); + char*** ret = func_pppPc_args_V(); + assert(!strcmp(**ret, "pEp")); + } { printf("testing: func_V_args_ppPc\n"); - char* in = NULL; - func_V_args_ppPc(&in); - assert(!strcmp(in, "pEp")); + char* inout = NULL; + func_V_args_ppPc(&inout); + assert(!strcmp(inout,"pEp")); } { - printf("testing: func_ppPc_args_ppPc\n"); - char* in = NULL; - char** out = func_ppPc_args_ppPc(&in); - assert(!strcmp(in, "pEp")); - assert(!strcmp(*out, "pEp")); + printf("testing: func_pppPc_args_pppPc\n"); + char* inout = NULL; + char **pp_inout = &inout; + char*** ret = func_pppPc_args_pppPc(&pp_inout); + assert(!strcmp(**ret,"pEp")); + assert(!strcmp(inout,"pEp")); } { - printf("testing: func_ppPc_args_ppPc_ppPc\n"); + printf("testing: func_pppPc_args_pppPc_ppPc\n"); char* in = NULL; + char** pp_in = ∈ char* in2 = NULL; - char** out = func_ppPc_args_ppPc_ppPc(&in,&in2); + char*** ret = func_pppPc_args_pppPc_ppPc(&pp_in,&in2); + assert(!strcmp(**ret, "pEp")); assert(!strcmp(in, "pEp")); assert(!strcmp(in2, "pEp")); - assert(!strcmp(*out, "pEp")); } + { + printf("testing: func__PS_args_V\n"); + struct _PS ret = func__PS_args_V(); + assert(ret.field__P_1 == 23); + assert(ret.field__P_2 == 23); + } + { + printf("testing: func_TTAPS_args_V\n"); + TTAPS ret = func_TTAPS_args_V(); + assert(ret.field__P_1 == 23); + assert(ret.field__P_2 == 23); + } + { + printf("testing: func_pTAPS_args_V\n"); + TAPS* iret = func_pTAPS_args_V(); + TAPS ret = *iret; + assert(ret.field__P_1 == 23); + assert(ret.field__P_2 == 23); + } + { + printf("testing: func_ppTAPS_args_V\n"); + TAPS** iret = func_ppTAPS_args_V(); + TAPS ret = **iret; + assert(ret.field__P_1 == 23); + assert(ret.field__P_2 == 23); + } + { + printf("testing: func_pppTAPS_args_V\n"); + TAPS*** iret = func_pppTAPS_args_V(); + TAPS ret = ***iret; + assert(ret.field__P_1 == 23); + assert(ret.field__P_2 == 23); + } + { + printf("testing: func_V_args_pTAPS\n"); + TAPS inout; + func_V_args_pTAPS(&inout); + assert(inout.field__P_1 == 23); + assert(inout.field__P_2 == 23); + } + { + printf("testing: func_ppTAPS_args_ppTAPS\n"); + TAPS* inout; + TAPS** pp_ret = func_ppTAPS_args_ppTAPS(&inout); + TAPS* ret = *pp_ret; + assert(ret->field__P_1 == 23); + assert(inout->field__P_1 == 23); + assert(inout->field__P_2 == 23); + } + { + printf("testing: func_pppTAPS_args_pppTAPS\n"); + TAPS* inout; + TAPS** pp_inout = &inout; + TAPS*** ppp_ret = func_pppTAPS_args_pppTAPS(&pp_inout); + TAPS* ret = **ppp_ret; + assert(ret->field__P_1 == 23); + assert(inout->field__P_1 == 23); + assert(inout->field__P_2 == 23); + } + }