]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[1959] Fixed bug in TestControlTest.Options6.
authorMarcin Siodelski <marcin@isc.org>
Wed, 5 Sep 2012 17:04:12 +0000 (19:04 +0200)
committerMarcin Siodelski <marcin@isc.org>
Wed, 5 Sep 2012 17:04:12 +0000 (19:04 +0200)
tests/tools/perfdhcp/test_control.cc
tests/tools/perfdhcp/tests/test_control_unittest.cc

index ba8bf252bc88438441a4b3ad5252ab96c0a34e49..de7579d7738440e31fa26f81559b50cc33b7012b 100644 (file)
@@ -298,9 +298,9 @@ OptionPtr
 TestControl::factoryOptionRequestOption6(Option::Universe,
                                          uint16_t,
                                          const OptionBuffer&) {
-    const uint16_t buf_array[] = {
-        htons(D6O_NAME_SERVERS),
-        htons(D6O_DOMAIN_SEARCH)
+    const uint8_t buf_array[] = {
+        D6O_NAME_SERVERS, 0,
+        D6O_DOMAIN_SEARCH, 0,
     };
     OptionBuffer buf_with_options(buf_array, buf_array + sizeof(buf_array));
     return (OptionPtr(new Option(Option::V6, D6O_ORO, buf_with_options)));
index f94f6f73de94305cb87d04208adfb5936ae949ce..06dc3e561beb6c9b0b4bc9f1415edd2fc0e92f19 100644 (file)
@@ -178,7 +178,6 @@ public:
                 if (requested_options[j] == buf[i]) {
                     // Requested option has been found.
                     ++matched_num;
-                    break;
                 }
             }
         }
@@ -205,12 +204,11 @@ public:
         size_t matched_num = 0;
         for (size_t i = 0; i < buf.size(); i += 2) {
             for (int j = 0; j < requested_options.size(); j += 2) {
-                uint16_t opt_i = buf[i + 1] << 8 + buf[i];
-                uint16_t opt_j = buf[j + 1] << 8 + buf[j];
+                uint16_t opt_i = buf[i + 1] << 8 + buf[i] & 0xFF;
+                uint16_t opt_j = requested_options[j + 1] << 8 + requested_options[j] & 0xFF;
                 if (opt_i == opt_j) {
                     // Requested option has been found.
                     ++matched_num;
-                    break;
                 }
             }
         }
@@ -771,9 +769,9 @@ TEST_F(TestControlTest, Options6) {
     // Validate the D6O_ORO (Option Request Option).
     OptionPtr opt_oro(Option::factory(Option::V6, D6O_ORO));
     // Prepare the reference buffer with requested options.
-    const uint16_t requested_options[] = {
-        htons(D6O_NAME_SERVERS),
-        htons(D6O_DOMAIN_SEARCH)
+    const uint8_t requested_options[] = {
+        D6O_NAME_SERVERS, 0,
+        D6O_DOMAIN_SEARCH, 0,
     };
     int requested_options_num =
         sizeof(requested_options) / sizeof(requested_options[0]);