Пример #1
0
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;
}
Пример #2
0
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);
}