[svn] commit: r120 - in /branches/f2f200910: ./ src/lib/dns/

BIND 10 source code commits bind10-changes at lists.isc.org
Tue Oct 27 01:47:31 UTC 2009


Author: jinmei
Date: Tue Oct 27 01:47:31 2009
New Revision: 120

Log:
ported minimal set of RR-related API for rapid prototyping and some test cases.

Added:
    branches/f2f200910/src/lib/dns/rrset.cc
    branches/f2f200910/src/lib/dns/rrset.h
Modified:
    branches/f2f200910/configure
    branches/f2f200910/configure.ac
    branches/f2f200910/src/lib/dns/Makefile.am
    branches/f2f200910/src/lib/dns/Makefile.in
    branches/f2f200910/src/lib/dns/buffer.h
    branches/f2f200910/src/lib/dns/name.cc
    branches/f2f200910/src/lib/dns/name.h
    branches/f2f200910/src/lib/dns/name_unittest.cc
    branches/f2f200910/src/lib/dns/run_unittests.cc

Modified: branches/f2f200910/configure
==============================================================================
--- branches/f2f200910/configure (original)
+++ branches/f2f200910/configure Tue Oct 27 01:47:31 2009
@@ -691,6 +691,7 @@
 ac_user_opts='
 enable_option_checking
 enable_dependency_tracking
+with_boost
 with_gtest
 '
       ac_precious_vars='build_alias
@@ -1326,6 +1327,7 @@
 Optional Packages:
   --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
   --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-boost=PATH       specify a path to the boost if it's not automatically found
   --with-gtest=PATH       specify a path to Gtest header files (PATH/include) and library (PATH/lib)
 
 Some influential environment variables:
@@ -4474,6 +4476,22 @@
 
 fi
 
+
+#
+# Check availablity of boost
+#
+
+# Check whether --with-boost was given.
+if test "${with_boost+set}" = set; then :
+  withval=$with_boost; boost_path="$withval"
+else
+  boost_path="no"
+fi
+
+if test "$boost_path" != "no"
+then
+	CPPFLAGS="$CPPFLAGS -I$boost_path"
+fi
 
 #
 # Check availablity of gtest, which might be used for unit tests.

Modified: branches/f2f200910/configure.ac
==============================================================================
--- branches/f2f200910/configure.ac (original)
+++ branches/f2f200910/configure.ac Tue Oct 27 01:47:31 2009
@@ -19,6 +19,17 @@
 # Checks for typedefs, structures, and compiler characteristics.
 AC_HEADER_STDBOOL
 AC_TYPE_SIZE_T
+
+#
+# Check availablity of boost
+#
+AC_ARG_WITH(boost,
+[  --with-boost=PATH       specify a path to the boost if it's not automatically found],
+    boost_path="$withval", boost_path="no")
+if test "$boost_path" != "no"
+then
+	CPPFLAGS="$CPPFLAGS -I$boost_path"	
+fi
 
 #
 # Check availablity of gtest, which might be used for unit tests.

Modified: branches/f2f200910/src/lib/dns/Makefile.am
==============================================================================
--- branches/f2f200910/src/lib/dns/Makefile.am (original)
+++ branches/f2f200910/src/lib/dns/Makefile.am Tue Oct 27 01:47:31 2009
@@ -1,12 +1,12 @@
 AM_CPPFLAGS = -I$(top_srcdir)/src/lib
 
 lib_LIBRARIES = libdns.a
-libdns_a_SOURCES = name.cc buffer.cc name.h buffer.h
+libdns_a_SOURCES = name.cc buffer.cc rrset.cc name.h buffer.h rrset.h
 
 TESTS =
 if HAVE_GTEST
 TESTS += run_unittests
-run_unittests_SOURCES = name_unittest.cc
+run_unittests_SOURCES = run_unittests.cc name_unittest.cc rrset_unittest.cc
 run_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES)
 run_unittests_LDFLAGS = $(GTEST_LDFLAGS)
 run_unittests_LDADD = ./libdns.a $(GTEST_LDADD)

Modified: branches/f2f200910/src/lib/dns/Makefile.in
==============================================================================
--- branches/f2f200910/src/lib/dns/Makefile.in (original)
+++ branches/f2f200910/src/lib/dns/Makefile.in Tue Oct 27 01:47:31 2009
@@ -73,14 +73,17 @@
 ARFLAGS = cru
 libdns_a_AR = $(AR) $(ARFLAGS)
 libdns_a_LIBADD =
-am_libdns_a_OBJECTS = name.$(OBJEXT) buffer.$(OBJEXT)
+am_libdns_a_OBJECTS = name.$(OBJEXT) buffer.$(OBJEXT) rrset.$(OBJEXT)
 libdns_a_OBJECTS = $(am_libdns_a_OBJECTS)
 @HAVE_GTEST_TRUE at am__EXEEXT_1 = run_unittests$(EXEEXT)
 am__EXEEXT_2 = $(am__EXEEXT_1)
 PROGRAMS = $(noinst_PROGRAMS)
-am__run_unittests_SOURCES_DIST = name_unittest.cc
+am__run_unittests_SOURCES_DIST = run_unittests.cc name_unittest.cc \
+	rrset_unittest.cc
 @HAVE_GTEST_TRUE at am_run_unittests_OBJECTS =  \
- at HAVE_GTEST_TRUE@	run_unittests-name_unittest.$(OBJEXT)
+ at HAVE_GTEST_TRUE@	run_unittests-run_unittests.$(OBJEXT) \
+ at HAVE_GTEST_TRUE@	run_unittests-name_unittest.$(OBJEXT) \
+ at HAVE_GTEST_TRUE@	run_unittests-rrset_unittest.$(OBJEXT)
 run_unittests_OBJECTS = $(am_run_unittests_OBJECTS)
 am__DEPENDENCIES_1 =
 @HAVE_GTEST_TRUE at run_unittests_DEPENDENCIES = ./libdns.a \
@@ -203,8 +206,8 @@
 top_srcdir = @top_srcdir@
 AM_CPPFLAGS = -I$(top_srcdir)/src/lib
 lib_LIBRARIES = libdns.a
-libdns_a_SOURCES = name.cc buffer.cc name.h buffer.h
- at HAVE_GTEST_TRUE@run_unittests_SOURCES = name_unittest.cc
+libdns_a_SOURCES = name.cc buffer.cc rrset.cc name.h buffer.h rrset.h
+ at HAVE_GTEST_TRUE@run_unittests_SOURCES = run_unittests.cc name_unittest.cc rrset_unittest.cc
 @HAVE_GTEST_TRUE at run_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES)
 @HAVE_GTEST_TRUE at run_unittests_LDFLAGS = $(GTEST_LDFLAGS)
 @HAVE_GTEST_TRUE at run_unittests_LDADD = ./libdns.a $(GTEST_LDADD)
@@ -293,7 +296,10 @@
 
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/buffer.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/name.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/rrset.Po at am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/run_unittests-name_unittest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/run_unittests-rrset_unittest.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote at ./$(DEPDIR)/run_unittests-run_unittests.Po at am__quote@
 
 .cc.o:
 @am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@@ -309,6 +315,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
+run_unittests-run_unittests.o: run_unittests.cc
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_unittests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT run_unittests-run_unittests.o -MD -MP -MF $(DEPDIR)/run_unittests-run_unittests.Tpo -c -o run_unittests-run_unittests.o `test -f 'run_unittests.cc' || echo '$(srcdir)/'`run_unittests.cc
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/run_unittests-run_unittests.Tpo $(DEPDIR)/run_unittests-run_unittests.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='run_unittests.cc' object='run_unittests-run_unittests.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_unittests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o run_unittests-run_unittests.o `test -f 'run_unittests.cc' || echo '$(srcdir)/'`run_unittests.cc
+
+run_unittests-run_unittests.obj: run_unittests.cc
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_unittests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT run_unittests-run_unittests.obj -MD -MP -MF $(DEPDIR)/run_unittests-run_unittests.Tpo -c -o run_unittests-run_unittests.obj `if test -f 'run_unittests.cc'; then $(CYGPATH_W) 'run_unittests.cc'; else $(CYGPATH_W) '$(srcdir)/run_unittests.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/run_unittests-run_unittests.Tpo $(DEPDIR)/run_unittests-run_unittests.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='run_unittests.cc' object='run_unittests-run_unittests.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_unittests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o run_unittests-run_unittests.obj `if test -f 'run_unittests.cc'; then $(CYGPATH_W) 'run_unittests.cc'; else $(CYGPATH_W) '$(srcdir)/run_unittests.cc'; fi`
+
 run_unittests-name_unittest.o: name_unittest.cc
 @am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_unittests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT run_unittests-name_unittest.o -MD -MP -MF $(DEPDIR)/run_unittests-name_unittest.Tpo -c -o run_unittests-name_unittest.o `test -f 'name_unittest.cc' || echo '$(srcdir)/'`name_unittest.cc
 @am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/run_unittests-name_unittest.Tpo $(DEPDIR)/run_unittests-name_unittest.Po
@@ -322,6 +342,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='name_unittest.cc' object='run_unittests-name_unittest.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_unittests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o run_unittests-name_unittest.obj `if test -f 'name_unittest.cc'; then $(CYGPATH_W) 'name_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/name_unittest.cc'; fi`
+
+run_unittests-rrset_unittest.o: rrset_unittest.cc
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_unittests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT run_unittests-rrset_unittest.o -MD -MP -MF $(DEPDIR)/run_unittests-rrset_unittest.Tpo -c -o run_unittests-rrset_unittest.o `test -f 'rrset_unittest.cc' || echo '$(srcdir)/'`rrset_unittest.cc
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/run_unittests-rrset_unittest.Tpo $(DEPDIR)/run_unittests-rrset_unittest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='rrset_unittest.cc' object='run_unittests-rrset_unittest.o' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_unittests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o run_unittests-rrset_unittest.o `test -f 'rrset_unittest.cc' || echo '$(srcdir)/'`rrset_unittest.cc
+
+run_unittests-rrset_unittest.obj: rrset_unittest.cc
+ at am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_unittests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT run_unittests-rrset_unittest.obj -MD -MP -MF $(DEPDIR)/run_unittests-rrset_unittest.Tpo -c -o run_unittests-rrset_unittest.obj `if test -f 'rrset_unittest.cc'; then $(CYGPATH_W) 'rrset_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/rrset_unittest.cc'; fi`
+ at am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/run_unittests-rrset_unittest.Tpo $(DEPDIR)/run_unittests-rrset_unittest.Po
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='rrset_unittest.cc' object='run_unittests-rrset_unittest.obj' libtool=no @AMDEPBACKSLASH@
+ at AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+ at am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(run_unittests_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o run_unittests-rrset_unittest.obj `if test -f 'rrset_unittest.cc'; then $(CYGPATH_W) 'rrset_unittest.cc'; else $(CYGPATH_W) '$(srcdir)/rrset_unittest.cc'; fi`
 
 ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
 	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \

Modified: branches/f2f200910/src/lib/dns/buffer.h
==============================================================================
--- branches/f2f200910/src/lib/dns/buffer.h (original)
+++ branches/f2f200910/src/lib/dns/buffer.h Tue Oct 27 01:47:31 2009
@@ -66,7 +66,7 @@
     }
     void write_data(const void *data, size_t len)
     {
-        const uint8_t* cp = static_cast<const uint8_t*>(cp);
+        const uint8_t* cp = static_cast<const uint8_t*>(data);
         buf_.insert(buf_.end(), cp, cp + len);
     }
     void write_uint32(uint32_t data)

Modified: branches/f2f200910/src/lib/dns/name.cc
==============================================================================
--- branches/f2f200910/src/lib/dns/name.cc (original)
+++ branches/f2f200910/src/lib/dns/name.cc Tue Oct 27 01:47:31 2009
@@ -266,7 +266,7 @@
     length_ = nused;
 }
 
-Name::Name(NameDecompressor& decompressor, Buffer& buffer)
+Name::Name(Buffer& buffer, NameDecompressor& decompressor)
 {
     unsigned int nused, labels, n, nmax;
     unsigned int current;

Modified: branches/f2f200910/src/lib/dns/name.h
==============================================================================
--- branches/f2f200910/src/lib/dns/name.h (original)
+++ branches/f2f200910/src/lib/dns/name.h Tue Oct 27 01:47:31 2009
@@ -54,7 +54,7 @@
 public:
     Name() : length_(0), labels_(0) {}
     explicit Name(const std::string& namestr);
-    explicit Name(NameDecompressor& decompressor, Buffer& buffer);
+    explicit Name(Buffer& buffer, NameDecompressor& decompressor);
     // copy constructor (default cp-ctor should work fine)
     //Name(const Name& orig);
     // destructor (default dtor should work fine)

Modified: branches/f2f200910/src/lib/dns/name_unittest.cc
==============================================================================
--- branches/f2f200910/src/lib/dns/name_unittest.cc (original)
+++ branches/f2f200910/src/lib/dns/name_unittest.cc Tue Oct 27 01:47:31 2009
@@ -79,15 +79,7 @@
     ISC::DNS::NameDecompressor decompressor;
 
     example_name->to_wire(buffer, compressor);
-
-    Name name2(decompressor, buffer);
-    EXPECT_EQ(true, *example_name == name2);
+    EXPECT_EQ(std::string("www.example.com."),
+              Name(buffer, decompressor).to_text(false));
 }
 }
-
-int
-main(int argc, char* argv[])
-{
-    ::testing::InitGoogleTest(&argc, argv);
-    return (RUN_ALL_TESTS());
-}

Modified: branches/f2f200910/src/lib/dns/run_unittests.cc
==============================================================================
--- branches/f2f200910/src/lib/dns/run_unittests.cc (original)
+++ branches/f2f200910/src/lib/dns/run_unittests.cc Tue Oct 27 01:47:31 2009
@@ -14,49 +14,11 @@
 
 // $Id$
 
-#include <iostream>
-#include <stdexcept>
-
-#include <cppunit/CompilerOutputter.h>
-#include <cppunit/TestCase.h>
-#include <cppunit/TestResult.h>
-#include <cppunit/TestResultCollector.h>
-#include <cppunit/TestRunner.h>
-#include <cppunit/TextTestProgressListener.h>
-
-#include <dns/name_unittest.h>
+#include <gtest/gtest.h>
 
 int
 main(int argc, char* argv[])
 {
-    CppUnit::TestRunner runner;
-    CppUnit::TestResult controller;
-
-    // Add a listener that collects test result
-    CppUnit::TestResultCollector result;
-    controller.addListener( &result );        
-
-    // Add a listener that print dots as test run.
-    CppUnit::TextTestProgressListener progress;
-    controller.addListener(&progress);
-
-    runner.addTest(NameTest::suite());
-
-    try {
-        std::cout << "Running ";
-        runner.run(controller, "");
-
-        std::cerr << std::endl;
-
-        // Print test in a compiler compatible format.
-        CppUnit::CompilerOutputter outputter(&result, std::cerr);
-        outputter.write();                      
-    } catch (std::invalid_argument& e) {  // Test path not resolved
-        std::cerr  <<  std::endl  
-                   <<  "ERROR: "  <<  e.what()
-                   << std::endl;
-        return 0;
-    }
-
-    return (result.wasSuccessful() ? 0 : 1);
+    ::testing::InitGoogleTest(&argc, argv);
+    return (RUN_ALL_TESTS());
 }




More information about the bind10-changes mailing list