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

Method test_case

tests/DCPS/DataRepresentation/DataRepresentation.cpp:189–230  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

187}
188
189void Test::test_case(const Dri& writer_dr, const Dri& reader_dr,
190 bool expect_writer, bool expect_reader, bool expect_match)
191{
192 if (!topic_) { add_result(false); return; }
193 // Create Writer and Reader
194 DDS::DataWriter_var writer = create_writer(writer_dr);
195 if (!writer) { add_result(!expect_writer); return; }
196 DDS::DataReader_var reader = create_reader(reader_dr);
197 if (!reader) { add_result(!expect_reader); return; }
198
199 // Check if they matched as expected
200 bool passed = false;
201 switch (check_match(reader, writer, expect_match)) {
202 case check_match_expected: passed = true; break;
203 case check_match_unexpected:
204 ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l test_case() ERROR: Test case failed:\n")
205 ACE_TEXT(" Topic: \"%C\"\n")
206 ACE_TEXT(" Writer Data Representation QoS: %C\n")
207 ACE_TEXT(" Reader Data Representation QoS: %C\n")
208 ACE_TEXT(" %Cxpected to match.\n"), topic_name_.c_str(),
209 to_string(writer_dr).c_str(),
210 to_string(reader_dr).c_str(),
211 expect_match ? "E" : "NOT e"));
212 break;
213 case check_match_error: break;
214 }
215
216 // Cleanup
217 DDS::ReturnCode_t rc = publisher_->delete_datawriter(writer);
218 if (rc != DDS::RETCODE_OK) {
219 ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l test_case() ERROR: Failed to delete writer: %C\n"),
220 retcode_to_string(rc)));
221 passed = false;
222 }
223 rc = subscriber_->delete_datareader(reader);
224 if (rc != DDS::RETCODE_OK) {
225 ACE_ERROR((LM_ERROR, ACE_TEXT("%N:%l test_case() ERROR: Failed to delete reader: %C\n"),
226 retcode_to_string(rc)));
227 passed = false;
228 }
229 add_result(passed);
230}
231
232void Test::test_default(bool expect_writer, bool expect_reader)
233{

Callers

nothing calls this directly

Calls 6

create_writerFunction · 0.85
create_readerFunction · 0.85
retcode_to_stringFunction · 0.85
delete_datawriterMethod · 0.80
to_stringFunction · 0.50
delete_datareaderMethod · 0.45

Tested by

no test coverage detected