From 3a89e9db383d1a0d388c6c542d25ec9d98e0611c Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周三, 11 11月 2015 22:55:38 +0800
Subject: [PATCH] Merge pull request #64 from bitwigglers/master

---
 libscpi/test/test_parser.c |   29 +++++++++++++++++------------
 1 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/libscpi/test/test_parser.c b/libscpi/test/test_parser.c
index bf79478..990ea62 100644
--- a/libscpi/test/test_parser.c
+++ b/libscpi/test/test_parser.c
@@ -241,19 +241,24 @@
     output_buffer_clear();
     error_buffer_clear();
 
-#define TEST_ERROR(data, output, err_num) {                     \
+#define TEST_ERROR(data, output, expected_result, err_num) {    \
     output_buffer_clear();                                      \
     error_buffer_clear();                                       \
-    SCPI_Input(&scpi_context, data, strlen(data));              \
+    scpi_bool_t result = SCPI_Input(&scpi_context, data, strlen(data)); \
     CU_ASSERT_STRING_EQUAL(output, output_buffer);              \
-    CU_ASSERT_EQUAL(err_buffer[0], err_num)                     \
+    CU_ASSERT_EQUAL(err_buffer[0], err_num);                    \
+    CU_ASSERT_EQUAL(result, expected_result);                   \
 }
 
-    TEST_ERROR("*IDN?\r\n", "MA,IN,0,VER\r\n", 0);
-    TEST_ERROR("IDN?\r\n", "", SCPI_ERROR_UNDEFINED_HEADER);
-    TEST_ERROR("*ESE\r\n", "", SCPI_ERROR_MISSING_PARAMETER);
-    TEST_ERROR("*IDN? 12\r\n", "MA,IN,0,VER\r\n", SCPI_ERROR_PARAMETER_NOT_ALLOWED);
-    TEST_ERROR("TEXT? \"PARAM1\", \"PARAM2\"\r\n", "\"PARAM2\"\r\n", 0);
+    TEST_ERROR("*IDN?\r\n", "MA,IN,0,VER\r\n", TRUE, 0);
+    TEST_ERROR("IDN?\r\n", "", FALSE, SCPI_ERROR_UNDEFINED_HEADER);
+    TEST_ERROR("*ESE\r\n", "", FALSE, SCPI_ERROR_MISSING_PARAMETER);
+    TEST_ERROR("*IDN? 12\r\n", "MA,IN,0,VER\r\n", FALSE, SCPI_ERROR_PARAMETER_NOT_ALLOWED);
+    TEST_ERROR("TEXT? \"PARAM1\", \"PARAM2\"\r\n", "\"PARAM2\"\r\n", TRUE, 0);
+    TEST_ERROR("ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ"
+               "ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ"
+               "ABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJABCDEFGHIJ",
+               "", FALSE, SCPI_ERROR_INPUT_BUFFER_OVERRUN);
 
     // TODO: SCPI_ERROR_INVALID_SEPARATOR
     // TODO: SCPI_ERROR_INVALID_SUFFIX
@@ -387,8 +392,8 @@
     TEST_ParamUInt32("10V", TRUE, 0, FALSE, -138);
 
     // test range
-    TEST_ParamUInt32("2147483647", TRUE, 2147483647, TRUE, 0);
-    TEST_ParamUInt32("4294967295", TRUE, 4294967295, TRUE, 0);
+    TEST_ParamUInt32("2147483647", TRUE, 2147483647ULL, TRUE, 0);
+    TEST_ParamUInt32("4294967295", TRUE, 4294967295ULL, TRUE, 0);
 }
 
 #define TEST_ParamInt64(data, mandatory, expected_value, expected_result, expected_error_code) \
@@ -467,8 +472,8 @@
     TEST_ParamUInt64("10V", TRUE, 0, FALSE, -138);
 
     // test range
-    TEST_ParamUInt64("2147483647", TRUE, 2147483647, TRUE, 0);
-    TEST_ParamUInt64("4294967295", TRUE, 4294967295, TRUE, 0);
+    TEST_ParamUInt64("2147483647", TRUE, 2147483647ULL, TRUE, 0);
+    TEST_ParamUInt64("4294967295", TRUE, 4294967295ULL, TRUE, 0);
     TEST_ParamUInt64("9223372036854775807", TRUE, 9223372036854775807ULL, TRUE, 0);
     TEST_ParamUInt64("18446744073709551615", TRUE, 18446744073709551615ULL, TRUE, 0);
 }

--
Gitblit v1.9.1