BIND 10 trac3082, updated. 4fbb85cb991a8f3f412c2c386dcbe154fa5f04f2 [3082] Set E flag in Option4ClientFqdn unit tests by default.

BIND 10 source code commits bind10-changes at lists.isc.org
Fri Aug 9 14:18:06 UTC 2013


The branch, trac3082 has been updated
       via  4fbb85cb991a8f3f412c2c386dcbe154fa5f04f2 (commit)
      from  1ceca44c4f118ea3d0246a7ac4b67331fcf4241c (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 4fbb85cb991a8f3f412c2c386dcbe154fa5f04f2
Author: Marcin Siodelski <marcin at isc.org>
Date:   Fri Aug 9 16:17:42 2013 +0200

    [3082] Set E flag in Option4ClientFqdn unit tests by default.

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

Summary of changes:
 src/lib/dhcp/tests/option4_client_fqdn_unittest.cc |   98 +++++++++++++-------
 1 file changed, 63 insertions(+), 35 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/lib/dhcp/tests/option4_client_fqdn_unittest.cc b/src/lib/dhcp/tests/option4_client_fqdn_unittest.cc
index c53bda4..002cc0e 100644
--- a/src/lib/dhcp/tests/option4_client_fqdn_unittest.cc
+++ b/src/lib/dhcp/tests/option4_client_fqdn_unittest.cc
@@ -40,7 +40,7 @@ TEST(Option4ClientFqdnTest, constructEmptyName) {
     // Create an instance of the source option.
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(Option4ClientFqdn::FLAG_S,
+        option.reset(new Option4ClientFqdn(FLAG_S | FLAG_E,
                                            Option4ClientFqdn::RCODE_SERVER(),
                                            "",
                                            Option4ClientFqdn::PARTIAL))
@@ -49,18 +49,19 @@ TEST(Option4ClientFqdnTest, constructEmptyName) {
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_O));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
     EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_S));
+    EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_E));
     EXPECT_TRUE(option->getDomainName().empty());
     EXPECT_EQ(Option4ClientFqdn::PARTIAL, option->getDomainNameType());
 
     // Constructor should not accept empty fully qualified domain name.
-    EXPECT_THROW(Option4ClientFqdn(Option4ClientFqdn::FLAG_S,
+    EXPECT_THROW(Option4ClientFqdn(FLAG_S | FLAG_E,
                                    Option4ClientFqdn::RCODE_CLIENT(),
                                    "",
                                    Option4ClientFqdn::FULL),
                  InvalidOption4ClientFqdnDomainName);
     // This check is similar to previous one, but using domain-name comprising
     // a single space character. This should be treated as empty domain-name.
-    EXPECT_THROW(Option4ClientFqdn(Option4ClientFqdn::FLAG_S,
+    EXPECT_THROW(Option4ClientFqdn(FLAG_S | FLAG_E,
                                    Option4ClientFqdn::RCODE_CLIENT(),
                                    " ",
                                    Option4ClientFqdn::FULL),
@@ -68,11 +69,12 @@ TEST(Option4ClientFqdnTest, constructEmptyName) {
 
     // Try different constructor.
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(Option4ClientFqdn::FLAG_O,
+        option.reset(new Option4ClientFqdn(FLAG_O | FLAG_E,
                                            Option4ClientFqdn::RCODE_SERVER()))
     );
     ASSERT_TRUE(option);
     EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_O));
+    EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_E));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_S));
     EXPECT_TRUE(option->getDomainName().empty());
@@ -86,7 +88,7 @@ TEST(Option4ClientFqdnTest, copyConstruct) {
     // Create an instance of the source option.
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(Option4ClientFqdn::FLAG_S,
+        option.reset(new Option4ClientFqdn(FLAG_S | FLAG_E,
                                            Option4ClientFqdn::RCODE_SERVER(),
                                            "myhost.example.com",
                                            Option4ClientFqdn::FULL))
@@ -107,6 +109,7 @@ TEST(Option4ClientFqdnTest, copyConstruct) {
 
     // Verify that all parameters have been copied to the target object.
     EXPECT_TRUE(option_copy->getFlag(Option4ClientFqdn::FLAG_S));
+    EXPECT_TRUE(option_copy->getFlag(Option4ClientFqdn::FLAG_E));
     EXPECT_FALSE(option_copy->getFlag(Option4ClientFqdn::FLAG_O));
     EXPECT_FALSE(option_copy->getFlag(Option4ClientFqdn::FLAG_N));
     EXPECT_EQ("myhost.example.com.", option_copy->getDomainName());
@@ -117,7 +120,7 @@ TEST(Option4ClientFqdnTest, copyConstruct) {
 
     // Create an option with different parameters.
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(Option4ClientFqdn::FLAG_O,
+        option.reset(new Option4ClientFqdn(FLAG_O | FLAG_E,
                                            Option4ClientFqdn::RCODE_SERVER(),
                                            "example",
                                            Option4ClientFqdn::PARTIAL))
@@ -133,6 +136,7 @@ TEST(Option4ClientFqdnTest, copyConstruct) {
     option.reset();
 
     EXPECT_FALSE(option_copy->getFlag(Option4ClientFqdn::FLAG_S));
+    EXPECT_TRUE(option_copy->getFlag(Option4ClientFqdn::FLAG_E));
     EXPECT_TRUE(option_copy->getFlag(Option4ClientFqdn::FLAG_O));
     EXPECT_FALSE(option_copy->getFlag(Option4ClientFqdn::FLAG_N));
     EXPECT_EQ("example", option_copy->getDomainName());
@@ -142,7 +146,7 @@ TEST(Option4ClientFqdnTest, copyConstruct) {
 // This test verifies that the option in the on-wire format is parsed correctly.
 TEST(Option4ClientFqdnTest, constructFromWire) {
     const uint8_t in_data[] = {
-        FLAG_S,                              // flags
+        FLAG_S | FLAG_E,                     // flags
         0,                                   // RCODE1
         0,                                   // RCODE2
         6, 109, 121, 104, 111, 115, 116,     // myhost.
@@ -160,6 +164,7 @@ TEST(Option4ClientFqdnTest, constructFromWire) {
     ASSERT_TRUE(option);
 
     EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_S));
+    EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_E));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_O));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
     EXPECT_EQ("myhost.example.com.", option->getDomainName());
@@ -185,7 +190,7 @@ TEST(Option4ClientFqdnTest, constructFromWireTruncated) {
 // domain-name is parsed correctly.
 TEST(Option4ClientFqdnTest, constructFromWirePartial) {
     const uint8_t in_data[] = {
-        FLAG_N,                              // flags
+        FLAG_N | FLAG_E,                     // flags
         255,                                 // RCODE1
         255,                                 // RCODE2
         6, 109, 121, 104, 111, 115, 116      // myhost
@@ -201,6 +206,7 @@ TEST(Option4ClientFqdnTest, constructFromWirePartial) {
     ASSERT_TRUE(option);
 
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_S));
+    EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_E));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_O));
     EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_N));
     EXPECT_EQ("myhost", option->getDomainName());
@@ -242,12 +248,12 @@ TEST(Option4ClientFqdnTest, assignment) {
     // assignment test. If these asserts do not fail, we can create options
     // for the assignment test, do not surround them with asserts and be sure
     // they will not throw.
-    ASSERT_NO_THROW(Option4ClientFqdn(Option4ClientFqdn::FLAG_S,
+    ASSERT_NO_THROW(Option4ClientFqdn(FLAG_S | FLAG_E,
                                       Option4ClientFqdn::RCODE_SERVER(),
                                       "myhost.example.com",
                                       Option4ClientFqdn::FULL));
 
-    ASSERT_NO_THROW(Option4ClientFqdn(Option4ClientFqdn::FLAG_N,
+    ASSERT_NO_THROW(Option4ClientFqdn(FLAG_N | FLAG_E,
                                       Option4ClientFqdn::RCODE_SERVER(),
                                       "myhost",
                                       Option4ClientFqdn::PARTIAL));
@@ -255,26 +261,28 @@ TEST(Option4ClientFqdnTest, assignment) {
     // Create options with the same parameters as tested above.
 
     // Create first option.
-    Option4ClientFqdn option(Option4ClientFqdn::FLAG_S,
+    Option4ClientFqdn option(FLAG_S | FLAG_E,
                              Option4ClientFqdn::RCODE_SERVER(),
                              "myhost.example.com",
                              Option4ClientFqdn::FULL);
 
     // Verify that the values have been set correctly.
     ASSERT_TRUE(option.getFlag(Option4ClientFqdn::FLAG_S));
+    ASSERT_TRUE(option.getFlag(Option4ClientFqdn::FLAG_E));
     ASSERT_FALSE(option.getFlag(Option4ClientFqdn::FLAG_O));
     ASSERT_FALSE(option.getFlag(Option4ClientFqdn::FLAG_N));
     ASSERT_EQ("myhost.example.com.", option.getDomainName());
     ASSERT_EQ(Option4ClientFqdn::FULL, option.getDomainNameType());
 
     // Create a second option.
-    Option4ClientFqdn option2(Option4ClientFqdn::FLAG_N,
+    Option4ClientFqdn option2(FLAG_N | FLAG_E,
                               Option4ClientFqdn::RCODE_SERVER(),
                               "myhost",
                               Option4ClientFqdn::PARTIAL);
 
     // Verify tha the values have been set correctly.
     ASSERT_FALSE(option2.getFlag(Option4ClientFqdn::FLAG_S));
+    ASSERT_TRUE(option2.getFlag(Option4ClientFqdn::FLAG_E));
     ASSERT_FALSE(option2.getFlag(Option4ClientFqdn::FLAG_O));
     ASSERT_TRUE(option2.getFlag(Option4ClientFqdn::FLAG_N));
     ASSERT_EQ("myhost", option2.getDomainName());
@@ -286,6 +294,7 @@ TEST(Option4ClientFqdnTest, assignment) {
 
     // Both options should now have the same values.
     EXPECT_TRUE(option2.getFlag(Option4ClientFqdn::FLAG_S));
+    EXPECT_TRUE(option2.getFlag(Option4ClientFqdn::FLAG_E));
     EXPECT_FALSE(option2.getFlag(Option4ClientFqdn::FLAG_O));
     EXPECT_FALSE(option2.getFlag(Option4ClientFqdn::FLAG_N));
     EXPECT_EQ(option.getDomainName(), option2.getDomainName());
@@ -340,11 +349,11 @@ TEST(Option4ClientFqdnTest, constructInvalidName) {
     // First, check that constructor does not throw when valid domain name
     // is specified. That way we eliminate the possibility that constructor
     // always throws exception.
-    ASSERT_NO_THROW(Option4ClientFqdn(0, Option4ClientFqdn::RCODE_CLIENT(),
+    ASSERT_NO_THROW(Option4ClientFqdn(FLAG_E, Option4ClientFqdn::RCODE_CLIENT(),
                                       "myhost.example.com"));
 
     // Specify invalid domain name and expect that exception is thrown.
-    EXPECT_THROW(Option4ClientFqdn(0, Option4ClientFqdn::RCODE_CLIENT(),
+    EXPECT_THROW(Option4ClientFqdn(FLAG_E, Option4ClientFqdn::RCODE_CLIENT(),
                                    "my...host.example.com"),
                  InvalidOption4ClientFqdnDomainName);
 }
@@ -354,7 +363,8 @@ TEST(Option4ClientFqdnTest, constructInvalidName) {
 TEST(Option4ClientFqdnTest, getFlag) {
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(0, Option4ClientFqdn::RCODE_CLIENT(),
+        option.reset(new Option4ClientFqdn(FLAG_E,
+                                           Option4ClientFqdn::RCODE_CLIENT(),
                                            "myhost.example.com"))
     );
     ASSERT_TRUE(option);
@@ -372,7 +382,8 @@ TEST(Option4ClientFqdnTest, setFlag) {
     // Create option instance. Check that constructor doesn't throw.
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(0, Option4ClientFqdn::RCODE_CLIENT(),
+        option.reset(new Option4ClientFqdn(0,
+                                           Option4ClientFqdn::RCODE_CLIENT(),
                                            "myhost.example.com"))
     );
     ASSERT_TRUE(option);
@@ -381,6 +392,11 @@ TEST(Option4ClientFqdnTest, setFlag) {
     ASSERT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
     ASSERT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_S));
     ASSERT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_O));
+    ASSERT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_E));
+
+    // Set E = 1
+    ASSERT_NO_THROW(option->setFlag(Option4ClientFqdn::FLAG_E, true));
+    ASSERT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_E));
 
     // Set N = 1
     ASSERT_NO_THROW(option->setFlag(Option4ClientFqdn::FLAG_N, true));
@@ -395,6 +411,10 @@ TEST(Option4ClientFqdnTest, setFlag) {
     ASSERT_THROW(option->setFlag(Option4ClientFqdn::FLAG_S, true),
                  InvalidOption4ClientFqdnFlags);
 
+    // Set E = 0
+    ASSERT_NO_THROW(option->setFlag(Option4ClientFqdn::FLAG_N, false));
+    ASSERT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
+
     // Set N = 0
     ASSERT_NO_THROW(option->setFlag(Option4ClientFqdn::FLAG_N, false));
     ASSERT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
@@ -418,7 +438,7 @@ TEST(Option4ClientFqdnTest, setFlag) {
                                  true),
                  InvalidOption4ClientFqdnFlags);
 
-    flags = 0x14;
+    flags = 0x18;
     ASSERT_THROW(option->setFlag(static_cast<Option4ClientFqdn::Flag>(flags),
                                  true),
                  InvalidOption4ClientFqdnFlags);
@@ -429,8 +449,7 @@ TEST(Option4ClientFqdnTest, setFlag) {
 TEST(Option4ClientFqdnTest, resetFlags) {
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(Option4ClientFqdn::FLAG_S |
-                                           Option4ClientFqdn::FLAG_O,
+        option.reset(new Option4ClientFqdn(FLAG_S | FLAG_O | FLAG_E,
                                            Option4ClientFqdn::RCODE_CLIENT(),
                                            "myhost.example.com",
                                            Option4ClientFqdn::FULL))
@@ -441,6 +460,7 @@ TEST(Option4ClientFqdnTest, resetFlags) {
     ASSERT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_S));
     ASSERT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_O));
     ASSERT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
+    ASSERT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_E));
 
     option->resetFlags();
 
@@ -448,6 +468,7 @@ TEST(Option4ClientFqdnTest, resetFlags) {
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_S));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_O));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
+    EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_E));
 }
 
 // This test verifies that current domain-name can be replaced with a new
@@ -455,7 +476,7 @@ TEST(Option4ClientFqdnTest, resetFlags) {
 TEST(Option4ClientFqdnTest, setDomainName) {
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(Option4ClientFqdn::FLAG_S,
+        option.reset(new Option4ClientFqdn(FLAG_S | FLAG_E,
                                            Option4ClientFqdn::RCODE_SERVER(),
                                            "myhost.example.com",
                                            Option4ClientFqdn::FULL))
@@ -491,7 +512,7 @@ TEST(Option4ClientFqdnTest, setDomainName) {
 TEST(Option4ClientFqdnTest, resetDomainName) {
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(Option4ClientFqdn::FLAG_S,
+        option.reset(new Option4ClientFqdn(FLAG_S | FLAG_E,
                                            Option4ClientFqdn::RCODE_CLIENT(),
                                            "myhost.example.com",
                                            Option4ClientFqdn::FULL))
@@ -508,7 +529,7 @@ TEST(Option4ClientFqdnTest, resetDomainName) {
 // This test verifies on-wire format of the option is correctly created.
 TEST(Option4ClientFqdnTest, pack) {
     // Create option instance. Check that constructor doesn't throw.
-    const uint8_t flags = Option4ClientFqdn::FLAG_S;
+    const uint8_t flags = FLAG_S | FLAG_E;
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
         option.reset(new Option4ClientFqdn(flags,
@@ -524,7 +545,7 @@ TEST(Option4ClientFqdnTest, pack) {
     // Prepare reference data.
     const uint8_t ref_data[] = {
         81, 23,                              // header
-        FLAG_S,                              // flags
+        FLAG_S | FLAG_E,                     // flags
         0,                                   // RCODE1
         0,                                   // RCODE2
         6, 109, 121, 104, 111, 115, 116,     // myhost.
@@ -543,7 +564,7 @@ TEST(Option4ClientFqdnTest, pack) {
 // is correctly created.
 TEST(Option4ClientFqdnTest, packPartial) {
     // Create option instance. Check that constructor doesn't throw.
-    const uint8_t flags = Option4ClientFqdn::FLAG_S;
+    const uint8_t flags = FLAG_S | FLAG_E;
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
         option.reset(new Option4ClientFqdn(flags,
@@ -560,7 +581,7 @@ TEST(Option4ClientFqdnTest, packPartial) {
     // Prepare reference data.
     const uint8_t ref_data[] = {
         81, 10,                              // header
-        FLAG_S,                              // flags
+        FLAG_S | FLAG_E,                     // flags
         0,                                   // RCODE1
         0,                                   // RCODE2
         6, 109, 121, 104, 111, 115, 116      // myhost
@@ -579,7 +600,7 @@ TEST(Option4ClientFqdnTest, unpack) {
     // Create option instance. Check that constructor doesn't throw.
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(Option4ClientFqdn::FLAG_O,
+        option.reset(new Option4ClientFqdn(FLAG_O | FLAG_E,
                                            Option4ClientFqdn::RCODE_CLIENT(),
                                            "myhost",
                                            Option4ClientFqdn::PARTIAL))
@@ -591,11 +612,12 @@ TEST(Option4ClientFqdnTest, unpack) {
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_S));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
     EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_O));
+    EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_E));
     EXPECT_EQ("myhost", option->getDomainName());
     EXPECT_EQ(Option4ClientFqdn::PARTIAL, option->getDomainNameType());
 
     const uint8_t in_data[] = {
-        FLAG_S,                              // flags
+        FLAG_S | FLAG_E,                     // flags
         0,                                   // RCODE1
         0,                                   // RCODE2
         6, 109, 121, 104, 111, 115, 116,     // myhost.
@@ -612,6 +634,7 @@ TEST(Option4ClientFqdnTest, unpack) {
     EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_S));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_O));
+    EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_E));
     EXPECT_EQ("myhost.example.com.", option->getDomainName());
     EXPECT_EQ(Option4ClientFqdn::FULL, option->getDomainNameType());
 }
@@ -622,7 +645,7 @@ TEST(Option4ClientFqdnTest, unpackPartial) {
     // Create option instance. Check that constructor doesn't throw.
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(Option4ClientFqdn::FLAG_O,
+        option.reset(new Option4ClientFqdn(FLAG_O | FLAG_E,
                                            Option4ClientFqdn::RCODE_CLIENT(),
                                            "myhost.example.com"))
     );
@@ -633,11 +656,12 @@ TEST(Option4ClientFqdnTest, unpackPartial) {
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_S));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
     EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_O));
+    EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_E));
     EXPECT_EQ("myhost.example.com.", option->getDomainName());
     EXPECT_EQ(Option4ClientFqdn::FULL, option->getDomainNameType());
 
     const uint8_t in_data[] = {
-        FLAG_S,                              // flags
+        FLAG_S | FLAG_E,                     // flags
         0,                                   // RCODE1
         0,                                   // RCODE2
         6, 109, 121, 104, 111, 115, 116      // myhost
@@ -650,6 +674,7 @@ TEST(Option4ClientFqdnTest, unpackPartial) {
 
     // Check that new values are correct.
     EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_S));
+    EXPECT_TRUE(option->getFlag(Option4ClientFqdn::FLAG_E));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_N));
     EXPECT_FALSE(option->getFlag(Option4ClientFqdn::FLAG_O));
     EXPECT_EQ("myhost", option->getDomainName());
@@ -661,7 +686,7 @@ TEST(Option4ClientFqdnTest, unpackPartial) {
 TEST(Option4ClientFqdnTest, unpackTruncated) {
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(Option4ClientFqdn::FLAG_O,
+        option.reset(new Option4ClientFqdn(FLAG_O | FLAG_E,
                                            Option4ClientFqdn::RCODE_CLIENT()))
     );
     ASSERT_TRUE(option);
@@ -675,7 +700,7 @@ TEST(Option4ClientFqdnTest, unpackTruncated) {
 // toText method is correctly formatted.
 TEST(Option4ClientFqdnTest, toText) {
     // Create option instance. Check that constructor doesn't throw.
-    uint8_t flags = Option4ClientFqdn::FLAG_N | Option4ClientFqdn::FLAG_O;
+    uint8_t flags = FLAG_N | FLAG_O | FLAG_E;
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
         option.reset(new Option4ClientFqdn(flags,
@@ -690,7 +715,7 @@ TEST(Option4ClientFqdnTest, toText) {
         "  type=81(CLIENT_FQDN)\n"
         "  flags:\n"
         "    N=1\n"
-        "    E=0\n"
+        "    E=1\n"
         "    O=1\n"
         "    S=0\n"
         "  domain-name='myhost.example.com.' (full)\n";
@@ -725,7 +750,8 @@ TEST(Option4ClientFqdnTest, len) {
     // Create option instance. Check that constructor doesn't throw.
     boost::scoped_ptr<Option4ClientFqdn> option;
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(0, Option4ClientFqdn::RCODE_CLIENT(),
+        option.reset(new Option4ClientFqdn(FLAG_E,
+                                           Option4ClientFqdn::RCODE_CLIENT(),
                                            "myhost.example.com"))
     );
     ASSERT_TRUE(option);
@@ -738,14 +764,16 @@ TEST(Option4ClientFqdnTest, len) {
     // Let's check that the size will change when domain name of a different
     // size is used.
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(0, Option4ClientFqdn::RCODE_CLIENT(),
+        option.reset(new Option4ClientFqdn(FLAG_E,
+                                           Option4ClientFqdn::RCODE_CLIENT(),
                                            "example.com"))
     );
     ASSERT_TRUE(option);
     EXPECT_EQ(18, option->len());
 
     ASSERT_NO_THROW(
-        option.reset(new Option4ClientFqdn(0, Option4ClientFqdn::RCODE_CLIENT(),
+        option.reset(new Option4ClientFqdn(FLAG_E,
+                                           Option4ClientFqdn::RCODE_CLIENT(),
                                            "myhost",
                                            Option4ClientFqdn::PARTIAL))
     );



More information about the bind10-changes mailing list