BIND 10 trac3360, updated. 991fea36336a0303a1f61f1ef0bcfe82d3a682ce [3360] Fix Memfile config string for Dhcp4 srv unit tests.

BIND 10 source code commits bind10-changes at lists.isc.org
Wed Mar 26 08:46:05 UTC 2014


The branch, trac3360 has been updated
       via  991fea36336a0303a1f61f1ef0bcfe82d3a682ce (commit)
       via  b96b77070dc8d204c34e69a42c371d59c5385c30 (commit)
       via  5d01646eef2fe130ddfa197bf116d16bd119acdf (commit)
       via  df6af6f3e337a9590f3aa26921e63025a74467f9 (commit)
      from  762f3c3996fa80214ea0f3650b00350800bf6c5b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 991fea36336a0303a1f61f1ef0bcfe82d3a682ce
Author: Marcin Siodelski <marcin at isc.org>
Date:   Wed Mar 26 09:19:44 2014 +0100

    [3360] Fix Memfile config string for Dhcp4 srv unit tests.

commit b96b77070dc8d204c34e69a42c371d59c5385c30
Author: Marcin Siodelski <marcin at isc.org>
Date:   Wed Mar 26 00:10:08 2014 +0100

    [3360] Dynamically create the lease file parsed by unit tests.

commit 5d01646eef2fe130ddfa197bf116d16bd119acdf
Author: Marcin Siodelski <marcin at isc.org>
Date:   Tue Mar 25 17:50:08 2014 +0100

    [3360] Added missing file to the Makefile.am

commit df6af6f3e337a9590f3aa26921e63025a74467f9
Author: Marcin Siodelski <marcin at isc.org>
Date:   Tue Mar 25 17:39:46 2014 +0100

    [3360] Use string object to compare the text in dbaccess_parser unit test.

-----------------------------------------------------------------------

Summary of changes:
 src/bin/dhcp4/tests/dhcp4_test_utils.h            |    3 ++-
 src/bin/dhcp6/tests/dhcp6_test_utils.h            |    2 +-
 src/lib/dhcpsrv/tests/Makefile.am                 |    2 +-
 src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc |   22 +++++++++++++++---
 src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc |   25 ++++++++++++++++++---
 src/lib/dhcpsrv/tests/dbaccess_parser_unittest.cc |    2 +-
 src/lib/dhcpsrv/tests/testdata/Makefile.am        |    5 +----
 src/lib/dhcpsrv/tests/testdata/leases4_0.csv      |    4 ----
 src/lib/dhcpsrv/tests/testdata/leases6_0.csv      |    5 -----
 9 files changed, 47 insertions(+), 23 deletions(-)
 delete mode 100644 src/lib/dhcpsrv/tests/testdata/leases4_0.csv
 delete mode 100644 src/lib/dhcpsrv/tests/testdata/leases6_0.csv

-----------------------------------------------------------------------
diff --git a/src/bin/dhcp4/tests/dhcp4_test_utils.h b/src/bin/dhcp4/tests/dhcp4_test_utils.h
index 48befdf..b978979 100644
--- a/src/bin/dhcp4/tests/dhcp4_test_utils.h
+++ b/src/bin/dhcp4/tests/dhcp4_test_utils.h
@@ -117,7 +117,8 @@ public:
     /// @param port port number to listen on; the default value 0 indicates
     /// that sockets should not be opened.
     NakedDhcpv4Srv(uint16_t port = 0)
-        : Dhcpv4Srv(port, "type=memfile", false, false) {
+        : Dhcpv4Srv(port, "type=memfile universe=4 persist=false",
+                    false, false) {
         // Create fixed server id.
         server_id_.reset(new Option4AddrLst(DHO_DHCP_SERVER_IDENTIFIER,
                                             asiolink::IOAddress("192.0.3.1")));
diff --git a/src/bin/dhcp6/tests/dhcp6_test_utils.h b/src/bin/dhcp6/tests/dhcp6_test_utils.h
index 9f6e018..707ee70 100644
--- a/src/bin/dhcp6/tests/dhcp6_test_utils.h
+++ b/src/bin/dhcp6/tests/dhcp6_test_utils.h
@@ -45,7 +45,7 @@ class NakedDhcpv6Srv: public isc::dhcp::Dhcpv6Srv {
 public:
     NakedDhcpv6Srv(uint16_t port) : isc::dhcp::Dhcpv6Srv(port) {
         // Open the "memfile" database for leases
-        std::string memfile = "type=memfile universe=6";
+        std::string memfile = "type=memfile universe=6 persist=false";
         isc::dhcp::LeaseMgrFactory::create(memfile);
     }
 
diff --git a/src/lib/dhcpsrv/tests/Makefile.am b/src/lib/dhcpsrv/tests/Makefile.am
index f00bf6b..a8a5e1c 100644
--- a/src/lib/dhcpsrv/tests/Makefile.am
+++ b/src/lib/dhcpsrv/tests/Makefile.am
@@ -65,7 +65,7 @@ libdhcpsrv_unittests_SOURCES += lease_file_io.cc lease_file_io.h
 libdhcpsrv_unittests_SOURCES += lease_unittest.cc
 libdhcpsrv_unittests_SOURCES += lease_mgr_factory_unittest.cc
 libdhcpsrv_unittests_SOURCES += lease_mgr_unittest.cc
-libdhcpsrv_unittests_SOURCES += generic_lease_mgr_unittest.cc
+libdhcpsrv_unittests_SOURCES += generic_lease_mgr_unittest.cc generic_lease_mgr_unittest.h
 libdhcpsrv_unittests_SOURCES += memfile_lease_mgr_unittest.cc
 libdhcpsrv_unittests_SOURCES += dhcp_parsers_unittest.cc
 if HAVE_MYSQL
diff --git a/src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc b/src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc
index fd29230..11e0065 100644
--- a/src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc
+++ b/src/lib/dhcpsrv/tests/csv_lease_file4_unittest.cc
@@ -54,6 +54,9 @@ public:
     /// @return Absolute path to the test file.
     static std::string absolutePath(const std::string& filename);
 
+    /// @brief Creates the lease file to be parsed by unit tests.
+    void writeSampleFile() const;
+
     /// @brief Name of the test lease file.
     std::string filename_;
 
@@ -69,15 +72,28 @@ CSVLeaseFile4Test::CSVLeaseFile4Test()
 std::string
 CSVLeaseFile4Test::absolutePath(const std::string& filename) {
     std::ostringstream s;
-    s << TEST_DATA_BUILDDIR << "/" << filename;
+    s << DHCP_DATA_DIR << "/" << filename;
     return (s.str());
 }
 
+void
+CSVLeaseFile4Test::writeSampleFile() const {
+    io_.writeFile("address,hwaddr,client_id,valid_lifetime,expire,subnet_id,"
+                  "fqdn_fwd,fqdn_rev,hostname\n"
+                  "192.0.2.1,06:07:08:09:0a:bc,,200,200,8,1,1,"
+                  "host.example.com\n"
+                  "192.0.2.1,,a:11:01:04,200,200,8,1,1,host.example.com\n"
+                  "192.0.3.15,dd:de:ba:0d:1b:2e:3e:4f,0a:00:01:04,100,100,7,"
+                  "0,0,\n");
+}
+
 // This test checks the capability to read and parse leases from the file.
 TEST_F(CSVLeaseFile4Test, parse) {
+    // Create a file to be parsed.
+    writeSampleFile();
+
     // Open the lease file.
-    boost::scoped_ptr<CSVLeaseFile4>
-        lf(new CSVLeaseFile4(absolutePath("leases4_0.csv")));
+    boost::scoped_ptr<CSVLeaseFile4> lf(new CSVLeaseFile4(filename_));
     ASSERT_NO_THROW(lf->open());
 
     Lease4Ptr lease;
diff --git a/src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc b/src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc
index 18f294b..c1bc5b6 100644
--- a/src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc
+++ b/src/lib/dhcpsrv/tests/csv_lease_file6_unittest.cc
@@ -60,6 +60,9 @@ public:
         return (DuidPtr(new DUID(duid, size)));
     }
 
+    /// @brief Create lease file that can be parsed by unit tests.
+    void writeSampleFile() const;
+
     /// @brief Name of the test lease file.
     std::string filename_;
 
@@ -75,15 +78,31 @@ CSVLeaseFile6Test::CSVLeaseFile6Test()
 std::string
 CSVLeaseFile6Test::absolutePath(const std::string& filename) {
     std::ostringstream s;
-    s << TEST_DATA_BUILDDIR << "/" << filename;
+    s << DHCP_DATA_DIR << "/" << filename;
     return (s.str());
 }
 
+void
+CSVLeaseFile6Test::writeSampleFile() const {
+    io_.writeFile("address,duid,valid_lifetime,expire,subnet_id,"
+                  "pref_lifetime,lease_type,iaid,prefix_len,fqdn_fwd,"
+                  "fqdn_rev,hostname\n"
+                  "2001:db8:1::1,00:01:02:03:04:05:06:0a:0b:0c:0d:0e:0f,"
+                  "200,200,8,100,0,7,0,1,1,host.example.com\n"
+                  "2001:db8:1::1,,200,200,8,100,0,7,0,1,1,host.example.com\n"
+                  "2001:db8:2::10,01:01:01:01:0a:01:02:03:04:05,300,300,6,150,"
+                  "0,8,0,0,0,\n"
+                  "3000:1::,00:01:02:03:04:05:06:0a:0b:0c:0d:0e:0f,0,200,8,0,2,"
+                  "16,64,0,0,\n");
+}
+
 // This test checks the capability to read and parse leases from the file.
 TEST_F(CSVLeaseFile6Test, parse) {
+    // Create a file to be parsed.
+    writeSampleFile();
+
     // Open the lease file.
-    boost::scoped_ptr<CSVLeaseFile6>
-        lf(new CSVLeaseFile6(absolutePath("leases6_0.csv")));
+    boost::scoped_ptr<CSVLeaseFile6> lf(new CSVLeaseFile6(filename_));
     ASSERT_NO_THROW(lf->open());
 
     Lease6Ptr lease;
diff --git a/src/lib/dhcpsrv/tests/dbaccess_parser_unittest.cc b/src/lib/dhcpsrv/tests/dbaccess_parser_unittest.cc
index 555b86b..55d0433 100644
--- a/src/lib/dhcpsrv/tests/dbaccess_parser_unittest.cc
+++ b/src/lib/dhcpsrv/tests/dbaccess_parser_unittest.cc
@@ -90,7 +90,7 @@ public:
             // The only parameter which is not quoted is persist as it
             // is a boolean value.
             result += quote + keyval[i] + quote + colon + space;
-            if (keyval[i] != "persist") {
+            if (std::string(keyval[i]) != "persist") {
                 result += quote + keyval[i + 1] + quote;
             } else {
                 result += keyval[i + 1];
diff --git a/src/lib/dhcpsrv/tests/testdata/Makefile.am b/src/lib/dhcpsrv/tests/testdata/Makefile.am
index b741b9f..e36578e 100644
--- a/src/lib/dhcpsrv/tests/testdata/Makefile.am
+++ b/src/lib/dhcpsrv/tests/testdata/Makefile.am
@@ -2,7 +2,4 @@ SUBDIRS = .
 
 # CSV files are created by unit tests which check the CSVLeaseFile6
 # and CSVLeaseFile4 classes.
-CLEANFILES = leasefile*.csv
-
-EXTRA_DIST = leases6_0.csv
-
+CLEANFILES = *.csv
diff --git a/src/lib/dhcpsrv/tests/testdata/leases4_0.csv b/src/lib/dhcpsrv/tests/testdata/leases4_0.csv
deleted file mode 100644
index de8b9fc..0000000
--- a/src/lib/dhcpsrv/tests/testdata/leases4_0.csv
+++ /dev/null
@@ -1,4 +0,0 @@
-address,hwaddr,client_id,valid_lifetime,expire,subnet_id,fqdn_fwd,fqdn_rev,hostname
-192.0.2.1,06:07:08:09:0a:bc,,200,200,8,1,1,host.example.com
-192.0.2.1,,a:11:01:04,200,200,8,1,1,host.example.com
-192.0.3.15,dd:de:ba:0d:1b:2e:3e:4f,0a:00:01:04,100,100,7,0,0,
diff --git a/src/lib/dhcpsrv/tests/testdata/leases6_0.csv b/src/lib/dhcpsrv/tests/testdata/leases6_0.csv
deleted file mode 100644
index 764ee8f..0000000
--- a/src/lib/dhcpsrv/tests/testdata/leases6_0.csv
+++ /dev/null
@@ -1,5 +0,0 @@
-address,duid,valid_lifetime,expire,subnet_id,pref_lifetime,lease_type,iaid,prefix_len,fqdn_fwd,fqdn_rev,hostname
-2001:db8:1::1,00:01:02:03:04:05:06:0a:0b:0c:0d:0e:0f,200,200,8,100,0,7,0,1,1,host.example.com
-2001:db8:1::1,,200,200,8,100,0,7,0,1,1,host.example.com
-2001:db8:2::10,01:01:01:01:0a:01:02:03:04:05,300,300,6,150,0,8,0,0,0,
-3000:1::,00:01:02:03:04:05:06:0a:0b:0c:0d:0e:0f,0,200,8,0,2,16,64,0,0,



More information about the bind10-changes mailing list