From 06fac022bf42f11014b9605ba24155fc876447f5 Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周二, 14 4月 2015 05:46:09 +0800
Subject: [PATCH] Update test and correct IDN implementation

---
 libscpi/src/ieee488.c   |   12 ++++++++----
 libscpi/test/test_lib.c |   16 +++++++++-------
 2 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/libscpi/src/ieee488.c b/libscpi/src/ieee488.c
index f7ee532..7ed8bc8 100644
--- a/libscpi/src/ieee488.c
+++ b/libscpi/src/ieee488.c
@@ -250,10 +250,14 @@
  * @return 
  */
 scpi_result_t SCPI_CoreIdnQ(scpi_t * context) {
-    SCPI_ResultString(context, context->idn[0]);
-    SCPI_ResultString(context, context->idn[1]);
-    SCPI_ResultString(context, context->idn[2]);
-    SCPI_ResultString(context, context->idn[3]);
+    int i;
+    for (i = 0; i<4; i++) {
+        if (context->idn[i]) {
+            SCPI_ResultString(context, context->idn[i]);
+        } else {
+            SCPI_ResultString(context, "0");
+        }
+    }
     return SCPI_RES_OK;
 }
 
diff --git a/libscpi/test/test_lib.c b/libscpi/test/test_lib.c
index 1311db4..3fc74b8 100644
--- a/libscpi/test/test_lib.c
+++ b/libscpi/test/test_lib.c
@@ -32,15 +32,15 @@
     { .pattern = "*WAI", .callback = SCPI_CoreWai,},
 
     /* Required SCPI commands (SCPI std V1999.0 4.2.1) */
-    {.pattern = "SYSTem:ERRor[:NEXT]?", .callback = SCPI_SystemErrorNextQ,},
-    {.pattern = "SYSTem:ERRor:COUNt?", .callback = SCPI_SystemErrorCountQ,},
-    {.pattern = "SYSTem:VERSion?", .callback = SCPI_SystemVersionQ,},
+    { .pattern = "SYSTem:ERRor[:NEXT]?", .callback = SCPI_SystemErrorNextQ,},
+    { .pattern = "SYSTem:ERRor:COUNt?", .callback = SCPI_SystemErrorCountQ,},
+    { .pattern = "SYSTem:VERSion?", .callback = SCPI_SystemVersionQ,},
 
-    {.pattern = "STATus:QUEStionable[:EVENt]?", .callback = SCPI_StatusQuestionableEventQ,},
-    {.pattern = "STATus:QUEStionable:ENABle", .callback = SCPI_StatusQuestionableEnable,},
-    {.pattern = "STATus:QUEStionable:ENABle?", .callback = SCPI_StatusQuestionableEnableQ,},
+    { .pattern = "STATus:QUEStionable[:EVENt]?", .callback = SCPI_StatusQuestionableEventQ,},
+    { .pattern = "STATus:QUEStionable:ENABle", .callback = SCPI_StatusQuestionableEnable,},
+    { .pattern = "STATus:QUEStionable:ENABle?", .callback = SCPI_StatusQuestionableEnableQ,},
 
-    {.pattern = "STATus:PRESet", .callback = SCPI_StatusPreset,},
+    { .pattern = "STATus:PRESet", .callback = SCPI_StatusPreset,},
     
     SCPI_CMD_LIST_END
 };
@@ -163,6 +163,7 @@
     CU_ASSERT_STRING_EQUAL(output, output_buffer);              \
 }
     output_buffer_clear();
+    error_buffer_clear();
 
     /* Test single command */
     TEST_INPUT("*IDN?\r\n", "MA, IN, 0, VER\r\n");
@@ -312,3 +313,4 @@
     CU_cleanup_registry();
     return CU_get_error();
 }
+

--
Gitblit v1.9.1