bool initConfigAndLogger(int argc, char** argv, SPConfig* config) { char *configFilename, *loggerFilename; SP_CONFIG_MSG configMsg = SP_CONFIG_SUCCESS; SP_LOGGER_LEVEL loggerLevel; SP_LOGGER_MSG loggerMsg; if (!(configFilename = getConfigFilename(argc, argv))) { printf(INVALID_CMD_LINE); return false; } if (!(*config = getConfigFromFile(configFilename, &configMsg)) || configMsg != SP_CONFIG_SUCCESS) { printf(ERROR_AT_GET_CONFIG_FROM_FILE, configMsgToStr(configMsg)); return false; } loggerFilename = spConfigGetLoggerFilename(*config, &configMsg); if (loggerFilename == NULL || configMsg != SP_CONFIG_SUCCESS) { printf(ERROR_AT_GET_LOGGER_FILENAME_FROM_CONFIG, configMsgToStr(configMsg)); return false; } loggerLevel = spConfigGetLoggerLevel(*config, &configMsg); if (configMsg != SP_CONFIG_SUCCESS) { printf(ERROR_AT_GET_LOGGER_LEVEL_FROM_CONFIG, configMsgToStr(configMsg)); return false; } loggerMsg = spLoggerCreate(!strcmp(loggerFilename, STDOUT) ? NULL : loggerFilename, loggerLevel); if (loggerMsg != SP_LOGGER_SUCCESS) { printf(ERROR_AT_CREATE_LOGGER, loggerMsgToStr(loggerMsg)); return false; } spLoggerSafePrintDebug(DEBUG_LOGGER_HAS_BEEN_CREATED, __FILE__, __FUNCTION__, __LINE__); return true; }
bool runConfigTest(CONFIG_TEST_TYPE testType, int fileIndex, int expectedLine , SPConfig * config) { SP_CONFIG_MSG msg; char fileName[50] = {0}; char expectedStr[50]; spLoggerCreate(LOG_FILE_NAME, SP_LOGGER_DEBUG_INFO_WARNING_ERROR_LEVEL); switch(testType) { case FAIL_CONSTRAINT: { getNextConfigConstraintPath(fileIndex, fileName); sprintf(expectedStr, "Constraint: %d" , expectedLine); break; } case FAIL_INVALID_LINE: { getNextConfigInvalidLinePath(fileIndex, fileName); sprintf(expectedStr, "Invalid line: %d" , expectedLine); break; } case FAIL_PARAMETER_NOT_SET: { getNextConfigParameterNotSetPath(fileIndex, fileName); char nonDefaultFieldName[MAX_NONDEFAULT_FIELD_NAME_LEN]; switch(expectedLine) { case 1: { strcpy(nonDefaultFieldName, FIELD_NAME_ImgDir); break; } case 2: { strcpy(nonDefaultFieldName, FIELD_NAME_ImgPre); break; } case 3: { strcpy(nonDefaultFieldName, FIELD_NAME_ImgSuf); break; } case 4: { strcpy(nonDefaultFieldName, FIELD_NAME_NumImg); break; } default: { printf("Invalid non default parameter number (the options are 1-4)"); return false; } } sprintf(expectedStr, "Non default: %s" , nonDefaultFieldName); break; } case SUCCESS: { getNextConfigSuccessPath(fileIndex, fileName); break; } } *config = spConfigCreate(fileName, &msg); /******************** * expected success * ********************/ if (testType == SUCCESS) { ASSERT_FALSE(NULL == *config); spLoggerDestroy(); return true; } /****************** * expected error * ******************/ ASSERT_TRUE(NULL == *config); spLoggerDestroy(); /* compare expected error to logged error s*/ return compareFirstLineWithStr(LOG_FILE_NAME, expectedStr); }