Andre Haupt
2015-11-11 5f6fa3a6961ac8366ac3aa9ec36ce5eb0ad33a05
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);
}