check_stack.c 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. /*
  2. ============================================================================
  3. Name : check_stack.c
  4. Author :
  5. Version :
  6. Copyright : Your copyright notice
  7. Description :
  8. ============================================================================
  9. */
  10. #include <stdio.h>
  11. #include <stdlib.h>
  12. #include "opcua.h"
  13. #include "opcua_transportLayer.h"
  14. #include "check.h"
  15. START_TEST(test_getPacketType_validParameter)
  16. {
  17. char buf[] = {'C','L','O'};
  18. UA_Int32 pos = 0;
  19. UA_ByteString msg;
  20. msg.data = buf;
  21. msg.length = 3;
  22. ck_assert_int_eq(TL_getPacketType(&msg, &pos),packetType_CLO);
  23. }
  24. END_TEST
  25. /*
  26. START_TEST(decodeRequestHeader_test_validParameter)
  27. {
  28. char testMessage = {0x00,0x00,0x72,0xf1,0xdc,0xc9,0x87,0x0b,
  29. 0xcf,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
  30. 0x00,0x00,0xff,0xff,0xff,0xff,0x00,0x00,
  31. 0x00,0x00,0x00,0x00,0x00};
  32. UA_ByteString rawMessage;
  33. rawMessage.data = &testMessage;
  34. rawMessage.length = 29;
  35. Int32 position = 0;
  36. T_RequestHeader requestHeader;
  37. decodeRequestHeader(rawMessage,&position,&requestHeader);
  38. ck_assert_int_eq(requestHeader.authenticationToken.EncodingByte,0);
  39. ck_assert_int_eq(requestHeader.returnDiagnostics,0);
  40. ck_assert_int_eq(requestHeader.authenticationToken.EncodingByte,0);
  41. }
  42. END_TEST
  43. */
  44. START_TEST(encode_builtInDatatypeArray_test_String)
  45. {
  46. UA_Int32 noElements = 2;
  47. UA_ByteString s1 = { 6, "OPC UA" };
  48. UA_ByteString s2 = { -1, NULL };
  49. UA_ByteString* array[] = { &s1, &s2 };
  50. UA_Int32 pos = 0, i;
  51. char buf[256];
  52. char result[] = {
  53. 0x02, 0x00, 0x00, 0x00, // noElements
  54. 0x06, 0x00, 0x00, 0x00, // s1.Length
  55. 'O', 'P', 'C', ' ', 'U', 'A', // s1.Data
  56. 0xFF, 0xFF, 0xFF, 0xFF // s2.Length
  57. };
  58. UA_Array_encode((void const**)array, noElements, UA_ByteString, &pos, buf);
  59. // check size
  60. ck_assert_int_eq(pos, 4 + 4 + 6 + 4);
  61. // check result
  62. for (i=0; i< sizeof(result); i++) {
  63. ck_assert_int_eq(buf[i],result[i]);
  64. }
  65. }
  66. END_TEST
  67. Suite *testSuite_getPacketType(void)
  68. {
  69. Suite *s = suite_create("getPacketType");
  70. TCase *tc_core = tcase_create("Core");
  71. tcase_add_test(tc_core,test_getPacketType_validParameter);
  72. suite_add_tcase(s,tc_core);
  73. return s;
  74. }
  75. Suite* testSuite_encode_builtInDatatypeArray()
  76. {
  77. Suite *s = suite_create("encode_builtInDatatypeArray");
  78. TCase *tc_core = tcase_create("Core");
  79. tcase_add_test(tc_core, encode_builtInDatatypeArray_test_String);
  80. suite_add_tcase(s,tc_core);
  81. return s;
  82. }
  83. /*
  84. Suite* TL_<TESTSUITENAME>(void)
  85. {
  86. Suite *s = suite_create("<TESTSUITENAME>");
  87. TCase *tc_core = tcase_create("Core");
  88. tcase_add_test(tc_core,<TEST_NAME>);
  89. suite_add_tcase(s,tc_core);
  90. return s;
  91. }
  92. */
  93. int main (void)
  94. {
  95. int number_failed = 0;
  96. Suite *s = testSuite_getPacketType();
  97. SRunner *sr = srunner_create(s);
  98. srunner_run_all(sr,CK_NORMAL);
  99. number_failed = srunner_ntests_failed(sr);
  100. srunner_free(sr);
  101. s = testSuite_encode_builtInDatatypeArray();
  102. sr = srunner_create(s);
  103. srunner_run_all(sr,CK_NORMAL);
  104. number_failed += srunner_ntests_failed(sr);
  105. srunner_free(sr);
  106. /* <TESTSUITE_TEMPLATE>
  107. s = <TESTSUITENAME>;
  108. sr = srunner_create(s);
  109. srunner_run_all(sr,CK_NORMAL);
  110. number_failed += srunner_ntests_failed(sr);
  111. srunner_free(sr);
  112. */
  113. return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
  114. }