⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sahpi_struct_utils_test.c

📁 HIP 硬件设备管理标准接口
💻 C
📖 第 1 页 / 共 4 页
字号:
		expected_str = "22222222222222222222222222222222 Volts";		reading_test = reading_default;		reading_test.Type = SAHPI_SENSOR_READING_TYPE_BUFFER;		memset(reading_test.Value.SensorBuffer, 0x32, SAHPI_SENSOR_BUFFER_LENGTH);		format_test = format_default;		format_test.ReadingType = SAHPI_SENSOR_READING_TYPE_BUFFER;				err = oh_decode_sensorreading(reading_test, format_test, &buffer);		if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}		                if (strcmp(expected_str, buffer.Data)) {    			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received string=%s; Expected string=%s\n", 			       buffer.Data, expected_str);                        return -1;                             }		err = oh_encode_sensorreading(&buffer, format_test.ReadingType, &encode_reading);		if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}				if (memcmp((void *)&encode_reading, (void *)&reading_test, 			   sizeof(SaHpiSensorReadingTypeT))) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}	}	/***********************************          * oh_encode_sensorreading testcases	 ***********************************/	{		const char *str;		SaHpiTextBufferT buffer;		SaHpiSensorReadingT reading;		SaHpiInt64T   expected_int64;		/* SaHpiUint64T  expected_uint64; */		SaHpiFloat64T expected_float64;		/* oh_encode_sensorreading: Bad type testcase */		expected_err = SA_ERR_HPI_INVALID_PARAMS;		err = oh_encode_sensorreading(&buffer, BAD_TYPE, &reading);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}		/* oh_encode_sensorreading: Extra spaces testcase */		str = " + 20  Volts";		expected_int64 = 20;		oh_init_textbuffer(&buffer);		oh_append_textbuffer(&buffer, str);		err = oh_encode_sensorreading(&buffer, SAHPI_SENSOR_READING_TYPE_INT64, &reading);		if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}		if (reading.Value.SensorInt64 != expected_int64) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received value=%lld; Expected value=%lld\n", 			       reading.Value.SensorInt64, expected_int64);			return -1;		}		/* oh_encode_sensorreading: Extra non-digits/commas testcase */		str = "The, happy, %% result is ... +2,000Volts ,,... ";		expected_int64 = 2000;		oh_init_textbuffer(&buffer);		oh_append_textbuffer(&buffer, str);		err = oh_encode_sensorreading(&buffer, SAHPI_SENSOR_READING_TYPE_INT64, &reading);		if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}		if (reading.Value.SensorInt64 != expected_int64) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received value=%lld; Expected value=%lld\n", 			       reading.Value.SensorInt64, expected_int64);			return -1;		}		/* oh_encode_sensorreading: No digits testcase */		str = "There are no numbers in this string";		oh_init_textbuffer(&buffer);		oh_append_textbuffer(&buffer, str);		err = oh_encode_sensorreading(&buffer, SAHPI_SENSOR_READING_TYPE_INT64, &reading);		if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}		if (reading.Value.SensorInt64 != 0) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Expected Zero value; Received=%lld\n", reading.Value.SensorInt64);			return -1;		}		/* oh_encode_sensorreading: Decimal point testcase */		str = "-2.5volts";		expected_float64 = -2.5;		oh_init_textbuffer(&buffer);		oh_append_textbuffer(&buffer, str);		err = oh_encode_sensorreading(&buffer, SAHPI_SENSOR_READING_TYPE_FLOAT64, &reading);		if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}		if (reading.Value.SensorFloat64 != expected_float64) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received value=%le; Expected value=%le\n", 			       reading.Value.SensorFloat64, expected_float64);			return -1;		}		/* oh_encode_sensorreading: Too many decimal points testcase */		str = "1.000.000 volts";		expected_err = SA_ERR_HPI_INVALID_DATA;		oh_init_textbuffer(&buffer);		oh_append_textbuffer(&buffer, str);		err = oh_encode_sensorreading(&buffer, SAHPI_SENSOR_READING_TYPE_FLOAT64, &reading);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}		/* oh_encode_sensorreading: Too many signs */		str = "+-33e02";		expected_err = SA_ERR_HPI_INVALID_DATA;		oh_init_textbuffer(&buffer);		oh_append_textbuffer(&buffer, str);		err = oh_encode_sensorreading(&buffer, SAHPI_SENSOR_READING_TYPE_INT64, &reading);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}		/* oh_encode_sensorreading: Percentage testcase */		str = "33% RPM";		expected_float64 = 0.33;		oh_init_textbuffer(&buffer);		oh_append_textbuffer(&buffer, str);		err = oh_encode_sensorreading(&buffer, SAHPI_SENSOR_READING_TYPE_FLOAT64, &reading);		if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}		if (reading.Value.SensorFloat64 != expected_float64) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received value=%le; Expected value=%le\n", 			       reading.Value.SensorFloat64, expected_float64);			return -1;		}		/* oh_encode_sensorreading: Percentage bad type testcase */		str = "33% RPM";		expected_err = SA_ERR_HPI_INVALID_DATA;		oh_init_textbuffer(&buffer);		oh_append_textbuffer(&buffer, str);		err = oh_encode_sensorreading(&buffer, SAHPI_SENSOR_READING_TYPE_INT64, &reading);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}		/* oh_encode_sensorreading: Too big int64 testcase */		str = "99999999999999999999999999999999";		expected_err = SA_ERR_HPI_INVALID_DATA;		oh_init_textbuffer(&buffer);		oh_append_textbuffer(&buffer, str);		err = oh_encode_sensorreading(&buffer, SAHPI_SENSOR_READING_TYPE_INT64, &reading);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}		/* oh_encode_sensorreading: Too big uint64 testcase */		str = "99999999999999999999999999999999";		expected_err = SA_ERR_HPI_INVALID_DATA;		oh_init_textbuffer(&buffer);		oh_append_textbuffer(&buffer, str);		err = oh_encode_sensorreading(&buffer, SAHPI_SENSOR_READING_TYPE_UINT64, &reading);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}#if 0		/* oh_encode_sensorreading: Too big float64 testcase */		str = "99999999999999999999999999999999";		expected_err = SA_ERR_HPI_INVALID_DATA;		oh_init_textbuffer(&buffer);		oh_append_textbuffer(&buffer, str);		err = oh_encode_sensorreading(&buffer, SAHPI_SENSOR_READING_TYPE_FLOAT64, &reading);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}#endif	}	/***************************** 	 * oh_xxx_textbuffer testcases         *****************************/	{		char str[4] = "1234";		/* oh_init_textbuffer: NULL buffer testcase */		expected_err = SA_ERR_HPI_INVALID_PARAMS;				err = oh_init_textbuffer(0);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}				/* oh_append_textbuffer: NULL buffer testcase */		expected_err = SA_ERR_HPI_INVALID_PARAMS;		err = oh_append_textbuffer(0, str);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}		/* oh_append_textbuffer: NULL str testcase */		expected_err = SA_ERR_HPI_INVALID_PARAMS;		err = oh_append_textbuffer(&buffer, 0);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}		/* oh_append_textbuffer: Out of space testcase */		{ 			char bigstr[SAHPI_MAX_TEXT_BUFFER_LENGTH +1];						expected_err = SA_ERR_HPI_OUT_OF_SPACE;			memset(bigstr, 0x32, SAHPI_MAX_TEXT_BUFFER_LENGTH +1);						err = oh_append_textbuffer(&buffer, bigstr);			if (err != expected_err) {				printf("  Error! Testcase failed. Line=%d\n", __LINE__);				printf("  Received error=%d; Expected error=%d\n", err, expected_err);				return -1;			}		}		/* oh_copy_textbuffer: NULL buffer testcase */		expected_err = SA_ERR_HPI_INVALID_PARAMS;		err = oh_copy_textbuffer(0, 0);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}	}	/******************************************** 	 * oh_fprint_text/oh_fprint_bigtext testcases         ********************************************/	{		str = "OK - Printing Line 1\nOK - Printing Line 2";		oh_big_textbuffer big_buffer, big_bad_buffer;		/* Don't need this if expose the oh_xxx_bigtext routines */		big_buffer.DataType = SAHPI_TL_TYPE_TEXT;		big_buffer.Language = SAHPI_LANG_ENGLISH;		memset(big_buffer.Data, 0x32, SAHPI_MAX_TEXT_BUFFER_LENGTH + 2);		big_buffer.Data[SAHPI_MAX_TEXT_BUFFER_LENGTH + 2] = 0x00;		big_buffer.Data[SAHPI_MAX_TEXT_BUFFER_LENGTH + 1] = 0x33;		big_bad_buffer = big_buffer;		err = oh_init_textbuffer(&buffer);		if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}		err = oh_append_textbuffer(&buffer, str);			if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}		/* oh_fprint_text: oh_print_text MACRO testcase */		err = oh_print_text(&buffer);		if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}		err = oh_print_bigtext(&big_buffer);		if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}                /* Bad data type testcase */		expected_err = SA_ERR_HPI_INVALID_DATA;		err = oh_copy_textbuffer(&bad_buffer, &buffer);		if (err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d\n", err);			return -1;		}		bad_buffer.DataType = BAD_TYPE;		err = oh_print_text(&bad_buffer);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}		big_bad_buffer.DataType = BAD_TYPE;		err = oh_print_bigtext(&big_bad_buffer);		if (err != expected_err) {			printf("  Error! Testcase failed. Line=%d\n", __LINE__);			printf("  Received error=%d; Expected error=%d\n", err, expected_err);			return -1;		}#if 0		/* FIXME :: ??? Is there a way to force a bad FILE ID, without blowing up??? */		/* Bad file handler testcase */		expected_err = SA_ERR_HPI_INVALID_PARAMS;		err = oh_fprint_text(0, &buffer);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -