Jan Breuer
2018-01-29 79ca37aefec8e26a1a74b0b2b9c36e0c9af6d9c1
libscpi/test/test_parser.c
@@ -78,8 +78,14 @@
    { .pattern = "SYSTem:VERSion?", .callback = SCPI_SystemVersionQ,},
    { .pattern = "STATus:QUEStionable[:EVENt]?", .callback = SCPI_StatusQuestionableEventQ,},
    { .pattern = "STATus:QUEStionable:CONDition?", .callback = SCPI_StatusQuestionableConditionQ,},
    { .pattern = "STATus:QUEStionable:ENABle", .callback = SCPI_StatusQuestionableEnable,},
    { .pattern = "STATus:QUEStionable:ENABle?", .callback = SCPI_StatusQuestionableEnableQ,},
    {.pattern = "STATus:OPERation[:EVENt]?", .callback = SCPI_StatusOperationEventQ, },
    {.pattern = "STATus:OPERation:CONDition?", .callback = SCPI_StatusOperationConditionQ, },
    {.pattern = "STATus:OPERation:ENABle", .callback = SCPI_StatusOperationEnable, },
    {.pattern = "STATus:OPERation:ENABle?", .callback = SCPI_StatusOperationEnableQ, },
    { .pattern = "STATus:PRESet", .callback = SCPI_StatusPreset,},
@@ -434,11 +440,37 @@
    TEST_IEEE4882("STATus:QUEStionable:ENABle 2\r\n", "");
    TEST_IEEE4882_REG(SCPI_REG_QUESE, 2);
    TEST_IEEE4882("STATus:QUEStionable:CONDition?\r\n", "0\r\n");
    TEST_IEEE4882_REG_SET(SCPI_REG_QUESC, 1);
    TEST_IEEE4882("STATus:QUEStionable:CONDition?\r\n", "1\r\n");
    TEST_IEEE4882_REG(SCPI_REG_QUESC, 1);
    TEST_IEEE4882("STATus:QUEStionable:EVENt?\r\n", "1\r\n");
    TEST_IEEE4882_REG_SET(SCPI_REG_QUESC, 0);
    TEST_IEEE4882("STATus:QUEStionable:CONDition?\r\n", "0\r\n");
    TEST_IEEE4882("STATus:QUEStionable:EVENt?\r\n", "0\r\n");
    TEST_IEEE4882_REG_SET(SCPI_REG_QUES, 1);
    TEST_IEEE4882("STATus:QUEStionable:EVENt?\r\n", "1\r\n");
    TEST_IEEE4882_REG(SCPI_REG_QUES, 0);
    TEST_IEEE4882("STATus:QUEStionable:EVENt?\r\n", "0\r\n");
    TEST_IEEE4882_REG_SET(SCPI_REG_OPERE, 1);
    TEST_IEEE4882("STATus:OPERation:ENABle?\r\n", "1\r\n");
    TEST_IEEE4882_REG(SCPI_REG_OPERE, 1);
    TEST_IEEE4882("STATus:OPERation:ENABle 2\r\n", "");
    TEST_IEEE4882_REG(SCPI_REG_OPERE, 2);
    TEST_IEEE4882("STATus:OPERation:CONDition?\r\n", "0\r\n");
    TEST_IEEE4882_REG_SET(SCPI_REG_OPERC, 1);
    TEST_IEEE4882("STATus:OPERation:CONDition?\r\n", "1\r\n");
    TEST_IEEE4882_REG(SCPI_REG_OPERC, 1);
    TEST_IEEE4882("STATus:OPERation:EVENt?\r\n", "1\r\n");
    TEST_IEEE4882_REG_SET(SCPI_REG_OPERC, 0);
    TEST_IEEE4882("STATus:OPERation:CONDition?\r\n", "0\r\n");
    TEST_IEEE4882_REG(SCPI_REG_OPERC, 0);
    TEST_IEEE4882_REG_SET(SCPI_REG_OPER, 1);
    TEST_IEEE4882("STATus:OPERation:EVENt?\r\n", "1\r\n");
    TEST_IEEE4882_REG(SCPI_REG_OPER, 0);
    TEST_IEEE4882("STATus:OPERation:EVENt?\r\n", "0\r\n");
    TEST_IEEE4882("STUB\r\n", "");
    TEST_IEEE4882("STUB?\r\n", "0\r\n");
@@ -516,7 +548,7 @@
    TEST_ParamUInt32("#H101010", TRUE, 1052688, TRUE, 0);
    TEST_ParamUInt32("#Q10", TRUE, 8, TRUE, 0);
    TEST_ParamUInt32("", TRUE, 0, FALSE, SCPI_ERROR_MISSING_PARAMETER); /* missing parameter *
    TEST_ParamUInt32("", TRUE, 0, FALSE, SCPI_ERROR_MISSING_PARAMETER); /* missing parameter */
    TEST_ParamUInt32("abcd", TRUE, 0, FALSE, SCPI_ERROR_DATA_TYPE_ERROR); /* Data type error */
    TEST_ParamUInt32("10.5V", TRUE, 0, FALSE, SCPI_ERROR_SUFFIX_NOT_ALLOWED);
    TEST_ParamUInt32("10V", TRUE, 0, FALSE, SCPI_ERROR_SUFFIX_NOT_ALLOWED);
@@ -1013,8 +1045,8 @@
    CU_ASSERT_EQUAL(result, expected_result);                                           \
    if (expected_result) {                                                              \
        CU_ASSERT_EQUAL(value.special, expected_special);                               \
        if (value.special) CU_ASSERT_EQUAL(value.tag, expected_tag);                    \
        if (!value.special) CU_ASSERT_DOUBLE_EQUAL(value.value, expected_value, 0.000001);\
        if (value.special) CU_ASSERT_EQUAL(value.content.tag, expected_tag);                    \
        if (!value.special) CU_ASSERT_DOUBLE_EQUAL(value.content.value, expected_value, 0.000001);\
        CU_ASSERT_EQUAL(value.unit, expected_unit);                                     \
        CU_ASSERT_EQUAL(value.base, expected_base);                                     \
    }                                                                                   \
@@ -1419,7 +1451,7 @@
    number.base = 10;\
    number.special = (_special);\
    number.unit = (_unit);\
    if (number.special) { number.tag = (int)(_value); } else { number.value = (_value); }\
    if (number.special) { number.content.tag = (int)(_value); } else { number.content.value = (_value); }\
    char buffer[100 + 1];\
    size_t res_len;\
    res_len = SCPI_NumberToStr(&scpi_context, scpi_special_numbers_def, &number, buffer, 100);\
@@ -1432,7 +1464,7 @@
    number.base = 10;\
    number.special = (_special);\
    number.unit = (_unit);\
    if (number.special) { number.tag = (int)(_value); } else { number.value = (_value); }\
    if (number.special) { number.content.tag = (int)(_value); } else { number.content.value = (_value); }\
    char buffer[100];\
    memset(buffer, 0xaa, 100);\
    size_t res_len;\