MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / run_test

Function run_test

tests/DCPS/KeyTest/KeyMarshalling.cpp:51–422  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49}
50
51void run_test(const Encoding& encoding)
52{
53 {
54 Messenger1::Message message; // no key
55 message.from = "from";
56 message.subject = "subject";
57 message.subject_id = 1234;
58 message.text = "text";
59 message.count = 4321;
60
61 // Use Key-Only marshalling (no keys means it should be empty)
62 KeyOnly<const Messenger1::Message> ko_message(message);
63 const size_t size = serialized_size(encoding, ko_message);
64 ACE_Message_Block mb(size);
65 Serializer out_serializer(&mb, encoding);
66 TEST_CHECK(out_serializer << ko_message);
67 size_t key_length = mb.length();
68 TEST_CHECK(key_length == 0);
69 Serializer in_serializer(&mb, encoding);
70 Messenger1::Message dm_message;
71 dm_message.subject_id = 0; // avoid unitialized data
72 dm_message.count = 0;
73 TEST_CHECK(in_serializer >> KeyOnly<Messenger1::Message>(dm_message));
74 TEST_CHECK(strcmp(message.from, dm_message.from) != 0);
75 TEST_CHECK(strcmp(message.subject, dm_message.subject) != 0);
76 TEST_CHECK(message.subject_id != dm_message.subject_id);
77 TEST_CHECK(strcmp(message.text, dm_message.text) != 0);
78 TEST_CHECK(message.count != dm_message.count);
79 }
80
81 {
82 Messenger2::Message message;
83 message.from = "from";
84 message.subject = "subject";
85 message.subject_id = 1234; // key
86 message.text = "text";
87 message.count = 4321;
88
89 size_t full_length = 0;
90 size_t key_length = 0;
91 {
92 // Use normal messaging (all fields should be equal).
93 const size_t size = serialized_size(encoding, message);
94 ACE_Message_Block mb(size);
95 Serializer out_serializer(&mb, encoding);
96 TEST_CHECK(out_serializer << message);
97 full_length = mb.length();
98 Serializer in_serializer(&mb, encoding);
99 Messenger2::Message dm_message;
100 TEST_CHECK(in_serializer >> dm_message);
101 TEST_CHECK(strcmp(message.from, dm_message.from) == 0);
102 TEST_CHECK(strcmp(message.subject, dm_message.subject) == 0);
103 TEST_CHECK(message.subject_id == dm_message.subject_id);
104 TEST_CHECK(strcmp(message.text, dm_message.text) == 0);
105 TEST_CHECK(message.count == dm_message.count);
106 }
107
108 {

Callers 1

ACE_TMAINFunction · 0.70

Calls 3

key_hash_testFunction · 0.85
serialized_sizeFunction · 0.50
lengthMethod · 0.45

Tested by

no test coverage detected