diff options
author | msmit <msmit@remedy.nl> | 2012-05-31 06:33:43 +0000 |
---|---|---|
committer | msmit <msmit@remedy.nl> | 2012-05-31 06:33:43 +0000 |
commit | 4fa463b5f485e7ae7e76982175ac939739cd8199 (patch) | |
tree | 51032088bd492d8dc8fe1714b01740c387d0353e /CIAO | |
parent | 584d11f87005ef156be43e47fbd5d207203ec552 (diff) | |
download | ATCD-4fa463b5f485e7ae7e76982175ac939739cd8199.tar.gz |
Thu May 31 06:32:23 UTC 2012 Marcel Smit <msmit@remedy.nl>
* connectors/dds4ccm/tests/QoS/dump:
* connectors/dds4ccm/tests/QoS/dump/dds4ccm_qos_dump.mpc:
* connectors/dds4ccm/tests/QoS/dump/qos.xml:
* connectors/dds4ccm/tests/QoS/dump/qos_dump.cpp:
* connectors/dds4ccm/tests/QoS/dump/run_test.pl:
Added basic QOS XML test. This test just dumps the
IDL QOS structure after parsing.
Diffstat (limited to 'CIAO')
-rw-r--r-- | CIAO/ChangeLog | 10 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/tests/QoS/dump/dds4ccm_qos_dump.mpc | 12 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/tests/QoS/dump/qos.xml | 277 | ||||
-rw-r--r-- | CIAO/connectors/dds4ccm/tests/QoS/dump/qos_dump.cpp | 70 | ||||
-rwxr-xr-x | CIAO/connectors/dds4ccm/tests/QoS/dump/run_test.pl | 25 |
5 files changed, 394 insertions, 0 deletions
diff --git a/CIAO/ChangeLog b/CIAO/ChangeLog index 1fe3fc71251..cce090d568d 100644 --- a/CIAO/ChangeLog +++ b/CIAO/ChangeLog @@ -1,3 +1,13 @@ +Thu May 31 06:32:23 UTC 2012 Marcel Smit <msmit@remedy.nl> + + * connectors/dds4ccm/tests/QoS/dump: + * connectors/dds4ccm/tests/QoS/dump/dds4ccm_qos_dump.mpc: + * connectors/dds4ccm/tests/QoS/dump/qos.xml: + * connectors/dds4ccm/tests/QoS/dump/qos_dump.cpp: + * connectors/dds4ccm/tests/QoS/dump/run_test.pl: + Added basic QOS XML test. This test just dumps the + IDL QOS structure after parsing. + Wed May 30 13:24:42 UTC 2012 Marcel Smit <msmit@remedy.nl> * connectors/dds4ccm/docs/schema: diff --git a/CIAO/connectors/dds4ccm/tests/QoS/dump/dds4ccm_qos_dump.mpc b/CIAO/connectors/dds4ccm/tests/QoS/dump/dds4ccm_qos_dump.mpc new file mode 100644 index 00000000000..e930c1d6931 --- /dev/null +++ b/CIAO/connectors/dds4ccm/tests/QoS/dump/dds4ccm_qos_dump.mpc @@ -0,0 +1,12 @@ +// $Id$ + +project : taoexe, xerces, dds4ccm_qos_xml_handler, dds4ccm_logger, dds4ccm { + exename = qos_dump + + requires += dds4ccm_opendds + + Source_Files { + qos_dump.cpp + } +} + diff --git a/CIAO/connectors/dds4ccm/tests/QoS/dump/qos.xml b/CIAO/connectors/dds4ccm/tests/QoS/dump/qos.xml new file mode 100644 index 00000000000..5196e09f815 --- /dev/null +++ b/CIAO/connectors/dds4ccm/tests/QoS/dump/qos.xml @@ -0,0 +1,277 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- $Id$ --> +<dds xmlns="http://www.omg.org/dds" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.omg.org/dds ../../../docs/schema/dds_qos.xsd"> + <qos_profile name="TestProfile"> + <datareader_qos> + <durability> + <kind>VOLATILE_DURABILITY_QOS</kind> + </durability> + <deadline> + <period> + <sec>DURATION_INFINITE_SEC</sec> + <nanosec>DURATION_INFINITE_NSEC</nanosec> + </period> + </deadline> + <latency_budget> + <duration> + <sec>0</sec> + <nanosec>0</nanosec> + </duration> + </latency_budget> + <liveliness> + <kind>AUTOMATIC_LIVELINESS_QOS</kind> + <lease_duration> + <sec>DURATION_INFINITE_SEC</sec> + <nanosec>DURATION_INFINITE_NSEC</nanosec> + </lease_duration> + </liveliness> + <reliability> + <kind>BEST_EFFORT_RELIABILITY_QOS</kind> + <max_blocking_time> + <sec>0</sec> + <nanosec>100000000</nanosec> + </max_blocking_time> + </reliability> + <destination_order> + <kind>BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS</kind> + </destination_order> + <history> + <kind>KEEP_LAST_HISTORY_QOS</kind> + <depth>1</depth> + </history> + <resource_limits> + <max_samples>LENGTH_UNLIMITED</max_samples> + <max_instances>LENGTH_UNLIMITED</max_instances> + <max_samples_per_instance>LENGTH_UNLIMITED</max_samples_per_instance> + </resource_limits> + <!--user_data> + <value></value> + </user_data--> + <ownership> + <kind>SHARED_OWNERSHIP_QOS</kind> + </ownership> + <time_based_filter> + <minimum_separation> + <sec>0</sec> + <nanosec>0</nanosec> + </minimum_separation> + </time_based_filter> + <reader_data_lifecycle> + <autopurge_nowriter_samples_delay> + <sec>DURATION_INFINITE_SEC</sec> + <nanosec>DURATION_INFINITE_NSEC</nanosec> + </autopurge_nowriter_samples_delay> + <autopurge_disposed_samples_delay> + <sec>DURATION_INFINITE_SEC</sec> + <nanosec>DURATION_INFINITE_NSEC</nanosec> + </autopurge_disposed_samples_delay> + </reader_data_lifecycle> + </datareader_qos> + <datawriter_qos> + <durability> + <kind>VOLATILE_DURABILITY_QOS</kind> + </durability> + <durability_service> + <service_cleanup_delay> + <sec>0</sec> + <nanosec>0</nanosec> + </service_cleanup_delay> + <history_kind>KEEP_LAST_HISTORY_QOS</history_kind> + <history_depth>1</history_depth> + <max_samples>LENGTH_UNLIMITED</max_samples> + <max_instances>LENGTH_UNLIMITED</max_instances> + <max_samples_per_instance>LENGTH_UNLIMITED</max_samples_per_instance> + </durability_service> + <deadline> + <period> + <sec>DURATION_INFINITE_SEC</sec> + <nanosec>DURATION_INFINITE_NSEC</nanosec> + </period> + </deadline> + <latency_budget> + <duration> + <sec>0</sec> + <nanosec>0</nanosec> + </duration> + </latency_budget> + <liveliness> + <kind>AUTOMATIC_LIVELINESS_QOS</kind> + <lease_duration> + <sec>DURATION_INFINITE_SEC</sec> + <nanosec>DURATION_INFINITE_NSEC</nanosec> + </lease_duration> + </liveliness> + <reliability> + <kind>RELIABLE_RELIABILITY_QOS</kind> + <max_blocking_time> + <sec>0</sec> + <nanosec>100000000</nanosec> + </max_blocking_time> + </reliability> + <destination_order> + <kind>BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS</kind> + </destination_order> + <history> + <kind>KEEP_LAST_HISTORY_QOS</kind> + <depth>1</depth> + </history> + <resource_limits> + <max_samples>LENGTH_UNLIMITED</max_samples> + <max_instances>LENGTH_UNLIMITED</max_instances> + <max_samples_per_instance>LENGTH_UNLIMITED</max_samples_per_instance> + </resource_limits> + <transport_priority> + <value>0</value> + </transport_priority> + <lifespan> + <duration> + <sec>DURATION_INFINITE_SEC</sec> + <nanosec>DURATION_INFINITE_NSEC</nanosec> + </duration> + </lifespan> + <!--user_data> + <value></value> + </user_data--> + <ownership> + <kind>SHARED_OWNERSHIP_QOS</kind> + </ownership> + <ownership_strength> + <value>0</value> + </ownership_strength> + <writer_data_lifecycle> + <autodispose_unregistered_instances>true</autodispose_unregistered_instances> + </writer_data_lifecycle> + </datawriter_qos> + <domainparticipant_qos> + <!--user_data> + <value></value> + </user_data--> + <entity_factory> + <autoenable_created_entities>true</autoenable_created_entities> + </entity_factory> + </domainparticipant_qos> + <subscriber_qos> + <presentation> + <access_scope>INSTANCE_PRESENTATION_QOS</access_scope> + <coherent_access>false</coherent_access> + <ordered_access>false</ordered_access> + </presentation> + <partition> + <name> + <element>ABC</element> + <element>DEF</element> + <element>GHI</element> + <element>JKL</element> + <element>MNO</element> + <element>PQR</element> + <element>STU</element> + <element>VW</element> + <element>XYZ</element> + </name> + </partition> + <!--group_data> + <value></value> + </group_data--> + <entity_factory> + <autoenable_created_entities>true</autoenable_created_entities> + </entity_factory> + </subscriber_qos> + <publisher_qos> + <presentation> + <access_scope>INSTANCE_PRESENTATION_QOS</access_scope> + <coherent_access>false</coherent_access> + <ordered_access>false</ordered_access> + </presentation> + <partition> + <name> + <element>XYZ</element> + <element>VW</element> + <element>STU</element> + <element>PQR</element> + <element>MNO</element> + <element>JKL</element> + <element>GHI</element> + <element>DEF</element> + <element>ABC</element> + </name> + </partition> + <!--group_data> + <value></value> + </group_data--> + <entity_factory> + <autoenable_created_entities>true</autoenable_created_entities> + </entity_factory> + </publisher_qos> + <topic_qos> + <!--topic_data> + <value></value> + </topic_data--> + <durability> + <kind>VOLATILE_DURABILITY_QOS</kind> + </durability> + <durability_service> + <service_cleanup_delay> + <sec>0</sec> + <nanosec>0</nanosec> + </service_cleanup_delay> + <history_kind>KEEP_LAST_HISTORY_QOS</history_kind> + <history_depth>1</history_depth> + <max_samples>LENGTH_UNLIMITED</max_samples> + <max_instances>LENGTH_UNLIMITED</max_instances> + <max_samples_per_instance>LENGTH_UNLIMITED</max_samples_per_instance> + </durability_service> + <deadline> + <period> + <sec>DURATION_INFINITE_SEC</sec> + <nanosec>DURATION_INFINITE_NSEC</nanosec> + </period> + </deadline> + <latency_budget> + <duration> + <sec>0</sec> + <nanosec>0</nanosec> + </duration> + </latency_budget> + <liveliness> + <kind>AUTOMATIC_LIVELINESS_QOS</kind> + <lease_duration> + <sec>DURATION_INFINITE_SEC</sec> + <nanosec>DURATION_INFINITE_NSEC</nanosec> + </lease_duration> + </liveliness> + <reliability> + <kind>BEST_EFFORT_RELIABILITY_QOS</kind> + <max_blocking_time> + <sec>0</sec> + <nanosec>100000000</nanosec> + </max_blocking_time> + </reliability> + <destination_order> + <kind>BY_RECEPTION_TIMESTAMP_DESTINATIONORDER_QOS</kind> + </destination_order> + <history> + <kind>KEEP_LAST_HISTORY_QOS</kind> + <depth>1</depth> + </history> + <resource_limits> + <max_samples>LENGTH_UNLIMITED</max_samples> + <max_instances>LENGTH_UNLIMITED</max_instances> + <max_samples_per_instance>LENGTH_UNLIMITED</max_samples_per_instance> + </resource_limits> + <transport_priority> + <value>0</value> + </transport_priority> + <lifespan> + <duration> + <sec>DURATION_INFINITE_SEC</sec> + <nanosec>DURATION_INFINITE_NSEC</nanosec> + </duration> + </lifespan> + <ownership> + <kind>SHARED_OWNERSHIP_QOS</kind> + </ownership> + </topic_qos> + </qos_profile> +</dds> diff --git a/CIAO/connectors/dds4ccm/tests/QoS/dump/qos_dump.cpp b/CIAO/connectors/dds4ccm/tests/QoS/dump/qos_dump.cpp new file mode 100644 index 00000000000..6516faa5fb6 --- /dev/null +++ b/CIAO/connectors/dds4ccm/tests/QoS/dump/qos_dump.cpp @@ -0,0 +1,70 @@ +// $Id$ + +#include "QOS_XML_Loader.h" +#include "dds4ccm/idl/dds_rtf2_dcpsC.h" +#include "dds4ccm/impl/logger/Log_Macros.h" + +int ACE_TMAIN (int argc, ACE_TCHAR * argv[]) +{ + try + { + DDS4CCM_debug_level = 10; + + if (argc < 1) + { + ACE_ERROR ((LM_ERROR, + ACE_TEXT ("Incorrect count of arguments. ") + ACE_TEXT ("Path to deployment plan has not been specified.\n"))); + return 1; + } + + DDS4CCM::QOS_XML_Loader xml_loader; + if (xml_loader.init (argv[1])) + { + ::DDS::DataWriterQos dw_qos; + xml_loader.get_datawriter_qos (dw_qos, + ACE_TEXT ("TestProfile"), + "TopicName"); + //dump + + ::DDS::DataReaderQos dr_qos; + xml_loader.get_datareader_qos (dr_qos, + ACE_TEXT ("TestProfile"), + "TopicName"); + //dump + + ::DDS::TopicQos tp_qos; + xml_loader.get_topic_qos (tp_qos, + ACE_TEXT ("TestProfile"), + "TopicName"); + //dump + + ::DDS::PublisherQos pub_qos; + xml_loader.get_publisher_qos (pub_qos, + ACE_TEXT ("TestProfile")); + //dump + + ::DDS::SubscriberQos sub_qos; + xml_loader.get_subscriber_qos (sub_qos, + ACE_TEXT ("TestProfile")); + //dump + + ::DDS::DomainParticipantQos dp_qos; + xml_loader.get_participant_qos (dp_qos, + ACE_TEXT ("TestProfile")); + //dump + } + } + catch (const CORBA::Exception& ex) + { + ex._tao_print_exception ("DDS4CCM_QOS_Dump::main\n"); + return -1; + } + catch (...) + { + ACE_ERROR ((LM_ERROR, ACE_TEXT ("Unexpected exception\n"))); + return 1; + } + + return 0; +} diff --git a/CIAO/connectors/dds4ccm/tests/QoS/dump/run_test.pl b/CIAO/connectors/dds4ccm/tests/QoS/dump/run_test.pl new file mode 100755 index 00000000000..759999e186c --- /dev/null +++ b/CIAO/connectors/dds4ccm/tests/QoS/dump/run_test.pl @@ -0,0 +1,25 @@ +eval '(exit $?0)' && eval 'exec perl -S $0 ${1+"$@"}' + & eval 'exec perl -S $0 $argv:q' + if 0; + +# $Id$ +# -*- perl -*- + +use lib "$ENV{ACE_ROOT}/bin"; +use PerlACE::TestTarget; + +my $program = PerlACE::TestTarget::create_target (1) || die "Create target 1 failed\n"; + +$PROG = $program->CreateProcess ("qos_dump", "qos.xml"); +$program_status = $PROG->Spawn (); + +if ($program_status != 0) { + print STDERR "ERROR: qos_dump returned $program_status\n"; + exit 1; +} + +sleep ($program->ProcessStartWaitInterval()); + +$program_status = $PROG->Kill (); + +exit 0; |