From 47e79f04dce9109ae497c09f53eef70dfb9cb038 Mon Sep 17 00:00:00 2001 From: Martin Winkler Date: Fri, 7 Sep 2018 05:50:58 +0000 Subject: [PATCH] output with value for CU_ASSERT_EQUAL_OUTPUT --- src/stubser/stubser.c | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/src/stubser/stubser.c b/src/stubser/stubser.c index 4d1a7a3..27ef9fe 100644 --- a/src/stubser/stubser.c +++ b/src/stubser/stubser.c @@ -57,6 +57,26 @@ STATIC bool isDatatypeStandard(char *aDataType) return false; } +STATIC void addPrintfFormat(FILE *aFile, const char* aType) +{ + if (NULL != strstr(aType, "double")) + { + fprintf(aFile, ("\"%%e\"")); + } + else if (NULL != strstr(aType, "int32_t")) + { + fprintf(aFile, ("\"%%d\"")); + } + else if (NULL != strstr(aType, "32") || NULL != strstr(aType, "long")) + { + fprintf(aFile, ("\"%%ld\"")); + } + else + { + fprintf(aFile, ("\"%%d\"")); + } +} + STATIC void createVariableSpecificInit(const char* aVariableTemplate, FILE *aFile, cfile_variable_t *aVariable) { char *tempChar = NULL; @@ -150,7 +170,9 @@ STATIC void createVariableSpecificCheck(FILE *aFile, cfile_variable_t *aVariable } else if (isDatatypeStandard(aVariable->dataType)) { - fprintf(aFile, "\tCU_ASSERT_EQUAL(%s, "STUBVARIABLE_EXPECTED_S1");"NEWLINES, aVariable->name, aVariable->name); + fprintf(aFile, "\tCU_ASSERT_EQUAL_OUTPUT(%s, "STUBVARIABLE_EXPECTED_S1", ", aVariable->name, aVariable->name); + addPrintfFormat(aFile, aVariable->dataType); + fprintf(aFile, ");" NEWLINES); } else { @@ -231,9 +253,10 @@ STATIC void createParameterSpecificCheck(FILE *aFile, cfunction_t *aFunction, cf } else if (isDatatypeStandard(aParameter->dataType)) { - fprintf(aFile, "\tCU_ASSERT_EQUAL("); - fprintf(aFile, STUBINIT_PARAM_PARAMETER_S1", "STUBPARAMETER_STRUCT_S1"["STUBINSTANCE_S1"]."STUBPARAMETER_PARAM_S1, aParameterIndex, aFunction->name, + fprintf(aFile, "\tCU_ASSERT_EQUAL_OUTPUT("); + fprintf(aFile, STUBINIT_PARAM_PARAMETER_S1", "STUBPARAMETER_STRUCT_S1"["STUBINSTANCE_S1"]."STUBPARAMETER_PARAM_S1", ", aParameterIndex, aFunction->name, aFunction->name, aParameterIndex); + addPrintfFormat(aFile, aParameter->dataType); fprintf(aFile, ");"NEWLINES); fprintf(aFile, "\t"STUBPARAMETER_STRUCT_S1"["STUBINSTANCE_S1"]."STUBPARAMETER_PARAM_S1" = (%s) "STUBDEFAULT_VALUE_VARIABLE_S";" NEWLINES, aFunction->name, aFunction->name, aParameterIndex, aParameter->dataType);