summaryrefslogtreecommitdiff
path: root/CIAO
diff options
context:
space:
mode:
authormsmit <msmit@remedy.nl>2012-05-31 06:33:43 +0000
committermsmit <msmit@remedy.nl>2012-05-31 06:33:43 +0000
commit4fa463b5f485e7ae7e76982175ac939739cd8199 (patch)
tree51032088bd492d8dc8fe1714b01740c387d0353e /CIAO
parent584d11f87005ef156be43e47fbd5d207203ec552 (diff)
downloadATCD-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/ChangeLog10
-rw-r--r--CIAO/connectors/dds4ccm/tests/QoS/dump/dds4ccm_qos_dump.mpc12
-rw-r--r--CIAO/connectors/dds4ccm/tests/QoS/dump/qos.xml277
-rw-r--r--CIAO/connectors/dds4ccm/tests/QoS/dump/qos_dump.cpp70
-rwxr-xr-xCIAO/connectors/dds4ccm/tests/QoS/dump/run_test.pl25
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;