[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