[openrtm-commit:01285] r2480 - in branches/work_ForDoil/OpenRTM-aist/src/lib/doil/utils/omniidl_be/tests: . RTObjectProxy
openrtm @ openrtm.org
openrtm @ openrtm.org
2014年 2月 13日 (木) 01:48:15 JST
Author: win-ei
Date: 2014-02-13 01:48:15 +0900 (Thu, 13 Feb 2014)
New Revision: 2480
Added:
branches/work_ForDoil/OpenRTM-aist/src/lib/doil/utils/omniidl_be/tests/RTObjectProxy/
branches/work_ForDoil/OpenRTM-aist/src/lib/doil/utils/omniidl_be/tests/RTObjectProxy/Makefile.am
branches/work_ForDoil/OpenRTM-aist/src/lib/doil/utils/omniidl_be/tests/RTObjectProxy/RTObjectProxyTests.cpp
Log:
Added the test code of Proxy.
Added: branches/work_ForDoil/OpenRTM-aist/src/lib/doil/utils/omniidl_be/tests/RTObjectProxy/Makefile.am
===================================================================
--- branches/work_ForDoil/OpenRTM-aist/src/lib/doil/utils/omniidl_be/tests/RTObjectProxy/Makefile.am (rev 0)
+++ branches/work_ForDoil/OpenRTM-aist/src/lib/doil/utils/omniidl_be/tests/RTObjectProxy/Makefile.am 2014-02-12 16:48:15 UTC (rev 2480)
@@ -0,0 +1,146 @@
+# -*- Makefile -*-
+#------------------------------------------------------------
+# @file Makefile.am
+# @brief Makefile.am for RTObjectProxy unit test
+# @date $Date$
+# @author Noriaki Ando <n-ando at aist.go.jp>
+#
+# $Id$
+#
+#------------------------------------------------------------
+
+#
+# $Log$
+#
+
+
+AUTOMAKE_OPTIONS = 1.9
+
+IDLC = @IDLC@
+IDLFLAGS = @IDL_FLAGS@
+LIBS = @LIBS@
+
+
+AM_CPPFLAGS= -I. \
+ -I$(includedir) \
+ -I$(top_builddir) \
+ -I. \
+ -I../ \
+ -I$(top_builddir)/../../../../ \
+ -I../../../../ \
+ -I../../../../../ \
+ -I../../../../../rtm \
+ -I../../../../../coil/include \
+ -I../../../../../rtc/corba/idl \
+ -I../../../../../rtc/corba \
+ -I/usr/include/ \
+ -I/usr/include/omniORB4/
+
+AM_LDFLAGS= -L. \
+ -L$(top_builddir) \
+ -L$(top_builddir)/../../../../coil/lib
+
+
+IDL_SOURCES = \
+ ../../../../../rtc/corba/idl/SDOPackage.idl \
+ ../../../../../rtc/corba/idl/RTC.idl \
+ ../../../../../rtc/corba/idl/OpenRTM.idl
+# $(top_builddir)/../../../../rtc/corba/idl/SDOPackage.idl \
+# $(top_builddir)/../../../../rtc/corba/idl/RTC.idl \
+# $(top_builddir)/../../../../rtc/corba/idl/OpenRTM.idl
+
+noinst_PROGRAMS = RTObjectProxyTests
+
+RTObjectProxyTests_SOURCES = \
+ ../TestRunner.cpp \
+ $(IDL_SOURCES:.idl=Skel.cpp) \
+ ../../../../../doil/corba/CORBAManager.cpp \
+ ../../../../../doil/ORBManager.cpp \
+ ../../../../../rtm/NVUtil.cpp \
+ ../RTCTypeConversion.cpp \
+ ../SDOPackageTypeConversion.cpp \
+ ../LightweightRTObjectProxy.cpp \
+ ../SDOProxy.cpp \
+ ../ComponentActionProxy.cpp \
+ ../SDOSystemElementProxy.cpp \
+ ../RTObjectProxy.cpp \
+ RTObjectProxyTests.cpp
+
+# $(top_builddir)/../../../../doil/corba/CORBAManager.cpp \
+# $(top_builddir)/../../../../doil/ORBManager.cpp \
+# $(top_builddir)/../../../../rtm/NVUtil.cpp \
+# $(top_builddir)/RTCTypeConversion.cpp \
+# $(top_builddir)/SDOPackageTypeConversion.cpp \
+# $(top_builddir)/RTObjectProxy.cpp \
+#
+
+RTObjectProxyTests_LDFLAGS = -L$(libdir)
+RTObjectProxyTests_LDADD = \
+ -lcppunit \
+ -lomniORB4 \
+ -lomnithread \
+ -lomniDynamic4 \
+ -lcoil
+
+TEST_SRC = $(RTObjectProxyTests_SOURCES)
+TEST_H =
+
+# all
+all: do-test
+
+# do tests
+do-test:
+ ./RTObjectProxyTests
+
+# clean-up
+clean-local:
+ rm -f *.o *.Po *.gch *.la
+ rm -f *~ *core
+ rm -f *.xml
+ rm -f Makefile.old
+ rm -f *.vcproj
+ rm -rf Release Debug
+
+#------------------------------------------------------------
+# vcproj file build rules
+#------------------------------------------------------------
+win32_builddir = .
+
+vcproj: RTObjectProxy_vc8.vcproj RTObjectProxy_vc9.vcproj RTObjectProxy_vc10.vcproj
+
+RTObjectProxy_vc8.vcproj:
+ $(top_builddir)/build/vcprojtool.py vcproj \
+ --projectname RTObjectProxyTest \
+ --type EXE \
+ --vcversion "8.00" \
+ --version $(COIL_VERSION) \
+ --out $(win32_builddir)/RTObjectProxy_vc8.vcproj \
+ --yaml ../coil_test.vcproj.yaml \
+ --source $(TEST_SRC)
+# --header $(TEST_H)
+ qkc -sm $(win32_builddir)/RTObjectProxy_vc8.vcproj
+
+RTObjectProxy_vc9.vcproj:
+ $(top_builddir)/build/vcprojtool.py vcproj \
+ --projectname RTObjectProxyTest \
+ --type EXE \
+ --vcversion "9.00" \
+ --version $(COIL_VERSION) \
+ --out $(win32_builddir)/RTObjectProxy_vc9.vcproj \
+ --yaml ../coil_test.vcproj.yaml \
+ --source $(TEST_SRC)
+# --header $(TEST_H)
+ qkc -sm $(win32_builddir)/RTObjectProxy_vc9.vcproj
+
+RTObjectProxy_vc10.vcproj:
+ $(top_builddir)/build/vcprojtool.py vcproj \
+ --projectname RTObjectProxyTest \
+ --type EXE \
+ --vcversion "10.00" \
+ --version $(COIL_VERSION) \
+ --out $(win32_builddir)/RTObjectProxy_vc10.vcproj \
+ --yaml ../coil_test.vcproj.yaml \
+ --source $(TEST_SRC)
+ qkc -sm $(win32_builddir)/RTObjectProxy_vc10.vcproj
+
+
Added: branches/work_ForDoil/OpenRTM-aist/src/lib/doil/utils/omniidl_be/tests/RTObjectProxy/RTObjectProxyTests.cpp
===================================================================
--- branches/work_ForDoil/OpenRTM-aist/src/lib/doil/utils/omniidl_be/tests/RTObjectProxy/RTObjectProxyTests.cpp (rev 0)
+++ branches/work_ForDoil/OpenRTM-aist/src/lib/doil/utils/omniidl_be/tests/RTObjectProxy/RTObjectProxyTests.cpp 2014-02-12 16:48:15 UTC (rev 2480)
@@ -0,0 +1,442 @@
+// -*- C++ -*-
+/*!
+ * @file RTObjectProxyTests.cpp
+ * @brief RTObjectProxy test class
+ * @date $Date$
+ * @author Noriaki Ando <n-ando at aist.go.jp>
+ *
+ * $Id$
+ *
+ */
+
+/*
+ * $Log$
+ *
+ */
+
+#ifndef RTObjectProxy_cpp
+#define RTObjectProxy_cpp
+
+#include <cppunit/ui/text/TestRunner.h>
+#include <cppunit/TextOutputter.h>
+#include <cppunit/extensions/TestFactoryRegistry.h>
+#include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/TestAssert.h>
+#include <string>
+#include <iostream>
+#include <idl/SDOPackageSkel.h>
+#include <idl/RTCSkel.h>
+#include <RTObjectProxy.h>
+#include <rtm/NVUtil.h>
+#include <ISDOService.h>
+#include <ISDOSystemElement.h>
+#include <IOrganization.h>
+#include <doil/corba/CORBAManager.h>
+
+
+/*!
+ * @class RTObjectProxyTests class
+ * @brief RTObjectProxy test
+ */
+namespace RTObjectProxy
+{
+ class Logger
+ {
+ public:
+ void log(const std::string& msg)
+ {
+ m_log.push_back(msg);
+ }
+
+ int countLog(const std::string& msg)
+ {
+ int count = 0;
+ for (int i = 0; i < (int) m_log.size(); ++i)
+ {
+ if (m_log[i] == msg) ++count;
+ }
+ return count;
+ }
+
+ private:
+ std::vector<std::string> m_log;
+ };
+
+ /*!
+ *
+ *
+ *
+ */
+ class RTObjectMock
+ : public virtual ::POA_RTC::RTObject
+ {
+ protected:
+ ::std::vector<std::string> m_log;
+ private:
+ public :
+ RTObjectMock(){}
+ virtual ~RTObjectMock()
+ {
+ }
+
+ void setLogger(Logger* logger)
+ {
+ m_logger = logger;
+ }
+
+ /*!
+ *
+ */
+ ::RTC::ComponentProfile* get_component_profile()
+ {
+ if (m_logger != NULL) m_logger->log("get_component_profile");
+ }
+ /*!
+ *
+ */
+ ::RTC::PortServiceList* get_ports()
+ {
+ if (m_logger != NULL) m_logger->log("get_ports");
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t on_initialize()
+ {
+ if (m_logger != NULL)
+ {
+ m_logger->log("on_initialize");
+ }
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t on_finalize()
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t on_startup(::RTC::ExecutionContextHandle_t exec_handle)
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t on_shutdown(::RTC::ExecutionContextHandle_t exec_handle)
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t on_activated(::RTC::ExecutionContextHandle_t exec_handle)
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t on_deactivated(::RTC::ExecutionContextHandle_t exec_handle)
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t on_aborting(::RTC::ExecutionContextHandle_t exec_handle)
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t on_error(::RTC::ExecutionContextHandle_t exec_handle)
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t on_reset(::RTC::ExecutionContextHandle_t exec_handle)
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t initialize()
+ {
+ if (m_logger != NULL)
+ {
+ m_logger->log("initialize");
+ }
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t finalize()
+ {
+ }
+ /*!
+ *
+ */
+ ::CORBA::Boolean is_alive(::RTC::ExecutionContext_ptr exec_context)
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t exit()
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ExecutionContextHandle_t attach_context(::RTC::ExecutionContext_ptr exec_context)
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ReturnCode_t detach_context(::RTC::ExecutionContextHandle_t exec_handle)
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ExecutionContext_ptr get_context(::RTC::ExecutionContextHandle_t exec_handle)
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ExecutionContextList* get_owned_contexts()
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ExecutionContextList* get_participating_contexts()
+ {
+ }
+ /*!
+ *
+ */
+ ::RTC::ExecutionContextHandle_t get_context_handle(::RTC::ExecutionContext_ptr cxt)
+ {
+ }
+ /*!
+ *
+ */
+ ::SDOPackage::OrganizationList* get_owned_organizations()
+ {
+ }
+ /*!
+ *
+ */
+ char* get_sdo_id()
+ {
+ }
+ /*!
+ *
+ */
+ char* get_sdo_type()
+ {
+ }
+ /*!
+ *
+ */
+ ::SDOPackage::DeviceProfile* get_device_profile()
+ {
+ }
+ /*!
+ *
+ */
+ ::SDOPackage::ServiceProfileList* get_service_profiles()
+ {
+ }
+ /*!
+ *
+ */
+ ::SDOPackage::ServiceProfile* get_service_profile(const char* id)
+ {
+ }
+ /*!
+ *
+ */
+ ::SDOPackage::SDOService_ptr get_sdo_service(const char* id)
+ {
+ }
+ /*!
+ *
+ */
+ ::SDOPackage::Configuration_ptr get_configuration()
+ {
+ }
+ /*!
+ *
+ */
+ ::SDOPackage::Monitoring_ptr get_monitoring()
+ {
+ }
+ /*!
+ *
+ */
+ ::SDOPackage::OrganizationList* get_organizations()
+ {
+ }
+ /*!
+ *
+ */
+ ::SDOPackage::NVList* get_status_list()
+ {
+ }
+ /*!
+ *
+ */
+ ::CORBA::Any* get_status(const char* nme)
+ {
+ }
+
+ /*!
+ *
+ */
+ ::SDOPackage::ServiceProfile* get_service_profile(char* id)
+ {
+ }
+ private:
+ Logger* m_logger;
+
+ };
+
+ class RTObjectProxyTests
+ : public CppUnit::TestFixture
+ {
+ CPPUNIT_TEST_SUITE(RTObjectProxyTests);
+ CPPUNIT_TEST(test_get_component_profile);
+ CPPUNIT_TEST(test_get_ports);
+ CPPUNIT_TEST_SUITE_END();
+
+ private:
+ CORBA::ORB_ptr m_pORB;
+ PortableServer::POA_ptr m_pPOA;
+
+ public:
+
+ /*!
+ * @brief Constructor
+ */
+ RTObjectProxyTests()
+ {
+ int argc = 0;
+ char** argv = NULL;
+ m_pORB = CORBA::ORB_init(argc, argv);
+ m_pPOA = PortableServer::POA::_narrow(
+ m_pORB->resolve_initial_references("RootPOA"));
+ m_pPOA->the_POAManager()->activate();
+ }
+
+ /*!
+ * @brief Destructor
+ */
+ ~RTObjectProxyTests()
+ {
+ }
+
+ /*!
+ * @brief Test initialization
+ */
+ virtual void setUp()
+ {
+ }
+
+ /*!
+ * @brief Test finalization
+ */
+ virtual void tearDown()
+ {
+ }
+
+ /*!
+ *
+ *
+ *
+ */
+ void test_get_component_profile()
+ {
+ RTObjectMock* obj = new RTObjectMock();
+ ::CORBA::Object_ptr ref = obj->_this();
+ if(::CORBA::is_nil(ref))
+ {
+ std::cout<<"ref is nil.Abort test."<<std::endl;
+ return;
+ }
+ ::RTC::CORBA::RTObjectProxy* ap
+ = new ::RTC::CORBA::RTObjectProxy(ref);
+
+ Logger logger;
+ obj->setLogger(&logger);
+
+ CPPUNIT_ASSERT_EQUAL(0, logger.countLog("get_component_profile"));
+ ::RTC::Local::ComponentProfile local_ret;
+ local_ret = ap->get_component_profile();
+ CPPUNIT_ASSERT_EQUAL(1, logger.countLog("get_component_profile"));
+
+
+
+ delete ap;
+ CORBA::release(ref);
+ }
+ /*!
+ *
+ *
+ *
+ */
+ void test_get_ports()
+ {
+ doil::CORBA::CORBAManager&
+ mgr(doil::CORBA::CORBAManager::instance());
+ //std::cout <<"Manager Name==>"<< mgr.name() << std::endl;
+
+ RTObjectMock* obj = new RTObjectMock();
+ ::CORBA::Object_ptr ref = obj->_this();
+ if(::CORBA::is_nil(ref))
+ {
+ std::cout<<"ref is nil.Abort test."<<std::endl;
+ return;
+ }
+
+ ::RTC::CORBA::RTObjectProxy* ap
+ = new ::RTC::CORBA::RTObjectProxy(ref);
+
+ Logger logger;
+ obj->setLogger(&logger);
+
+ CPPUNIT_ASSERT_EQUAL(0, logger.countLog("get_ports"));
+ ::RTC::Local::PortServiceList local_ret;
+ local_ret = ap->get_ports();
+ CPPUNIT_ASSERT_EQUAL(1, logger.countLog("get_ports"));
+
+ delete ap;
+ CORBA::release(ref);
+ }
+ /* test case */
+ void test_case0()
+ {
+ }
+ };
+}; // namespace RTObjectProxy
+
+/*
+ * Register test suite
+ */
+CPPUNIT_TEST_SUITE_REGISTRATION(RTObjectProxy::RTObjectProxyTests);
+
+#ifdef LOCAL_MAIN
+int main(int argc, char* argv[])
+{
+ CppUnit::TextUi::TestRunner runner;
+ runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());
+ CppUnit::Outputter* outputter =
+ new CppUnit::TextOutputter(&runner.result(), std::cout);
+ runner.setOutputter(outputter);
+ bool retcode = runner.run();
+ return !retcode;
+}
+#endif // MAIN
+#endif // RTObjectProxy_cpp
More information about the openrtm-commit
mailing list