[svn] commit: r1359 - in /trunk/src/lib/config: ccsession.cc ccsession.h unittests/Makefile.am unittests/ccsession_unittests.cc unittests/fake_session.cc unittests/fake_session.h

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Mar 12 11:16:18 UTC 2010


Author: jelte
Date: Fri Mar 12 11:16:18 2010
New Revision: 1359

Log:
added tests for ModuleCCSession class (with a fake Session object)
added a few function declarations in ccsession.h that were missing (but were already implemented in ccsession.cc)
fixed 1 bug in ccsession.cc, other ones are pending (tests already exist but commented out right now)

Added:
    trunk/src/lib/config/unittests/ccsession_unittests.cc
    trunk/src/lib/config/unittests/fake_session.cc
    trunk/src/lib/config/unittests/fake_session.h
Modified:
    trunk/src/lib/config/ccsession.cc
    trunk/src/lib/config/ccsession.h
    trunk/src/lib/config/unittests/Makefile.am

Modified: trunk/src/lib/config/ccsession.cc
==============================================================================
--- trunk/src/lib/config/ccsession.cc (original)
+++ trunk/src/lib/config/ccsession.cc Fri Mar 12 11:16:18 2010
@@ -213,6 +213,7 @@
     ) throw (isc::cc::SessionError)
 {
     module_specification_ = readModuleSpecification(spec_file_name);
+    setModuleSpec(module_specification_);
     sleep(1);
 
     module_name_ = module_specification_.getFullSpec()->get("module_name")->stringValue();
@@ -239,7 +240,7 @@
         std::cerr << "[" << module_name_ << "] Error in specification: " << answer << std::endl;
     }
     
-    config_ = Element::createFromString("{}");
+    setLocalConfig(Element::createFromString("{}"));
     // get any stored configuration from the manager
     if (config_handler_) {
         ElementPtr cmd = Element::createFromString("{ \"command\": [\"get_config\", {\"module_name\":\"" + module_name_ + "\"} ] }");
@@ -279,7 +280,9 @@
         int rcode;
         parseAnswer(rcode, answer);
         if (rcode == 0) {
-            isc::data::merge(config_, new_config);
+            ElementPtr local_config = getLocalConfig();
+            isc::data::merge(local_config, new_config);
+            setLocalConfig(local_config);
         }
     }
     return answer;

Modified: trunk/src/lib/config/ccsession.h
==============================================================================
--- trunk/src/lib/config/ccsession.h (original)
+++ trunk/src/lib/config/ccsession.h Fri Mar 12 11:16:18 2010
@@ -32,6 +32,15 @@
 
 namespace isc {
 namespace config {
+
+ElementPtr createAnswer(const int rcode);
+ElementPtr createAnswer(const int rcode, const ElementPtr arg);
+ElementPtr createAnswer(const int rcode, const std::string& arg);
+ElementPtr parseAnswer(int &rcode, const ElementPtr msg);
+
+ElementPtr createCommand(const std::string& command, ElementPtr arg);
+const std::string parseCommand(ElementPtr& arg, const ElementPtr command);
+
 
 ///
 /// \brief A standard cc session exception that is thrown if a function
@@ -153,7 +162,6 @@
     std::string module_name_;
     isc::cc::Session session_;
     ModuleSpec module_specification_;
-    isc::data::ElementPtr config_;
     ElementPtr handleConfigUpdate(ElementPtr new_config);
 
     isc::data::ElementPtr(*config_handler_)(isc::data::ElementPtr new_config);
@@ -163,10 +171,6 @@
     void updateRemoteConfig(const std::string& module_name, ElementPtr new_config);
 };
 
-ElementPtr createAnswer(const int rcode);
-ElementPtr createAnswer(const int rcode, const ElementPtr arg);
-ElementPtr createAnswer(const int rcode, const std::string& arg);
-
 }
 }
 #endif // __CCSESSION_H

Modified: trunk/src/lib/config/unittests/Makefile.am
==============================================================================
--- trunk/src/lib/config/unittests/Makefile.am (original)
+++ trunk/src/lib/config/unittests/Makefile.am Fri Mar 12 11:16:18 2010
@@ -2,15 +2,22 @@
 
 CLEANFILES = *.gcno *.gcda
 
+lib_LTLIBRARIES = libfake_session.la
+libfake_session_la_SOURCES = fake_session.h fake_session.cc
+
 TESTS =
 if HAVE_GTEST
 TESTS += run_unittests
-run_unittests_SOURCES = module_spec_unittests.cc config_data_unittests.cc run_unittests.cc
+#run_unittests_SOURCES = ccsession_unittests.cc module_spec_unittests.cc config_data_unittests.cc run_unittests.cc
+run_unittests_SOURCES = ccsession_unittests.cc run_unittests.cc
+
 run_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES)
 run_unittests_LDFLAGS = $(AM_LDFLAGS) $(GTEST_LDFLAGS)
-run_unittests_LDADD =  $(top_builddir)/src/lib/config/libcfgclient.la $(GTEST_LDADD)
+run_unittests_LDADD =  $(GTEST_LDADD)
 run_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libexceptions.la
-run_unittests_LDADD += $(top_builddir)/src/lib/cc/libcc.a
+run_unittests_LDADD += $(top_builddir)/src/lib/config/libcfgclient.la
+run_unittests_LDADD += $(top_builddir)/src/lib/cc/data.o
+run_unittests_LDADD += libfake_session.la
 
 if HAVE_BOOSTLIB
 run_unittests_LDFLAGS += $(AM_LDFLAGS) $(BOOST_LDFLAGS)




More information about the bind10-changes mailing list