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

Function runOverrunTest

tests/DCPS/Serializer/SerializerTest.cpp:737–817  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

735const int chainCaps[] = {2, 4, 4};
736
737bool runOverrunTest()
738{
739 std::cout << "\nRunning overrun test..." << std::endl;
740
741 for (size_t i = 0; i < encoding_count; ++i) {
742 ACE_Message_Block* chain = getchain(sizeof(chainCaps)/sizeof(chainCaps[0]), chainCaps);
743
744 // Overrun write
745 Serializer s1(chain, encodings[i]);
746 ACE_CDR::ULong ul = 1234;
747 if (!(s1 << ul)) {
748 std::cerr << "runOverrunTest: 1st insert ulong using "
749 << encodings[i].to_string() << " failed" << std::endl;
750 chain->release();
751 return false;
752 }
753 ACE_CDR::Float flt = 3.14f;
754 if (!(s1 << flt)) {
755 std::cerr << "runOverrunTest: 1st insert float using "
756 << encodings[i].to_string() << " failed" << std::endl;
757 chain->release();
758 return false;
759 }
760 ACE_CDR::LongLong ll = 987654321;
761 if (s1 << ll) {
762 std::cerr << "runOverrunTest: 1st insert long long using "
763 << encodings[i].to_string()
764 << " succeeded when it should've failed" << std::endl;
765 chain->release();
766 return false;
767 }
768 chain->release();
769
770 chain = getchain(sizeof(chainCaps)/sizeof(chainCaps[0]), chainCaps);
771 Serializer s2(chain, encodings[i]);
772 if (!(s2 << ul)) {
773 std::cerr << "runOverrunTest: 2nd insert ulong using "
774 << encodings[i].to_string() << " failed" << std::endl;
775 chain->release();
776 return false;
777 }
778 if (!(s2 << flt)) {
779 std::cerr << "runOverrunTest: 2nd insert float using "
780 << encodings[i].to_string() << " failed" << std::endl;
781 chain->release();
782 return false;
783 }
784 ACE_CDR::UShort us = 12;
785 if (!(s2 << us)) {
786 std::cerr << "runOverrunTest: 2nd insert ushort using "
787 << encodings[i].to_string() << " failed" << std::endl;
788 chain->release();
789 return false;
790 }
791
792 // Overrun read
793 Serializer s3(chain, encodings[i]);
794 if (!(s3 >> ul)) {

Callers 1

ACE_TMAINFunction · 0.85

Calls 3

getchainFunction · 0.85
to_stringMethod · 0.45
releaseMethod · 0.45

Tested by

no test coverage detected