Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ISC Open Source Projects
Kea
Commits
4b79e1c5
Commit
4b79e1c5
authored
Dec 11, 2012
by
Marcin Siodelski
Browse files
[2526] Corrected expected option types in DHCPv4 std options unit test.
parent
92e23241
Changes
1
Show whitespace changes
Inline
Side-by-side
src/lib/dhcp/tests/libdhcp++_unittest.cc
View file @
4b79e1c5
...
...
@@ -17,6 +17,7 @@
#include <dhcp/dhcp4.h>
#include <dhcp/dhcp6.h>
#include <dhcp/libdhcp++.h>
#include <dhcp/option4_addrlst.h>
#include <dhcp/option6_addrlst.h>
#include <dhcp/option6_ia.h>
#include <dhcp/option6_iaaddr.h>
...
...
@@ -61,14 +62,18 @@ public:
/// option has been initialized correctly.
///
/// @param code option code.
/// @param bug buffer to be used to create option instance.
/// @param begin iterator pointing a begining of a buffer to
/// be used to create option instance.
/// @param end iterator pointing an end of a buffer to be
/// used to create option instance.
/// @param expected_type type of the option created by the
/// factory function returned by the option definition.
static
void
testStdOptionDefs4
(
const
uint16_t
code
,
const
OptionBuffer
&
buf
,
const
OptionBufferConstIter
begin
,
const
OptionBufferConstIter
end
,
const
std
::
type_info
&
expected_type
)
{
// Use V4 universe.
testStdOptionDefs
(
Option
::
V4
,
code
,
b
uf
,
expected_type
);
testStdOptionDefs
(
Option
::
V4
,
code
,
b
egin
,
end
,
expected_type
);
}
/// @brief Test DHCPv6 option definition.
...
...
@@ -77,14 +82,18 @@ public:
/// option has been initialized correctly.
///
/// @param code option code.
/// @param bug buffer to be used to create option instance.
/// @param begin iterator pointing a begining of a buffer to
/// be used to create option instance.
/// @param end iterator pointing an end of a buffer to be
/// used to create option instance.
/// @param expected_type type of the option created by the
/// factory function returned by the option definition.
static
void
testStdOptionDefs6
(
const
uint16_t
code
,
const
OptionBuffer
&
buf
,
const
OptionBufferConstIter
begin
,
const
OptionBufferConstIter
end
,
const
std
::
type_info
&
expected_type
)
{
// Use V6 universe.
testStdOptionDefs
(
Option
::
V6
,
code
,
b
uf
,
expected_type
);
testStdOptionDefs
(
Option
::
V6
,
code
,
b
egin
,
end
,
expected_type
);
}
private:
...
...
@@ -94,12 +103,16 @@ private:
/// option has been initialized correctly.
///
/// @param code option code.
/// @param bug buffer to be used to create option instance.
/// @param begin iterator pointing a begining of a buffer to
/// be used to create option instance.
/// @param end iterator pointing an end of a buffer to be
/// used to create option instance.
/// @param expected_type type of the option created by the
/// factory function returned by the option definition.
static
void
testStdOptionDefs
(
const
Option
::
Universe
u
,
const
uint16_t
code
,
const
OptionBuffer
&
buf
,
const
OptionBufferConstIter
begin
,
const
OptionBufferConstIter
end
,
const
std
::
type_info
&
expected_type
)
{
// Get all option definitions, we will use them to extract
// the definition for a particular option code.
...
...
@@ -125,8 +138,8 @@ private:
ASSERT_NO_THROW
(
def
->
validate
());
OptionPtr
option
;
// Create the option.
ASSERT_NO_THROW
(
option
=
def
->
optionFactory
(
u
,
code
,
b
uf
))
<<
"Option creation failed
to
option code "
<<
code
;
ASSERT_NO_THROW
(
option
=
def
->
optionFactory
(
u
,
code
,
b
egin
,
end
))
<<
"Option creation failed
for
option code "
<<
code
;
// Make sure it is not NULL.
ASSERT_TRUE
(
option
);
// And the actual object type is the one that we expect.
...
...
@@ -435,157 +448,228 @@ TEST_F(LibDhcpTest, stdOptionDefs4) {
// Create a buffer that holds dummy option data.
// It will be used to create most of the options.
std
::
vector
<
uint8_t
>
buf
(
48
,
1
);
OptionBufferConstIter
begin
=
buf
.
begin
();
OptionBufferConstIter
end
=
buf
.
begin
();
LibDhcpTest
::
testStdOptionDefs4
(
DHO_SUBNET_MASK
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_SUBNET_MASK
,
b
egin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_TIME_OFFSET
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ROUTERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_TIME_SERVERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NAME_SERVERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DOMAIN_NAME_SERVERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_LOG_SERVERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_COOKIE_SERVERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_LPR_SERVERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_IMPRESS_SERVERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_RESOURCE_LOCATION_SERVERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_HOST_NAME
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_BOOT_SIZE
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_MERIT_DUMP
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DOMAIN_NAME
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_SWAP_SERVER
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ROOT_PATH
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_EXTENSIONS_PATH
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_IP_FORWARDING
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NON_LOCAL_SOURCE_ROUTING
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_POLICY_FILTER
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_MAX_DGRAM_REASSEMBLY
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_MAX_DGRAM_REASSEMBLY
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DEFAULT_IP_TTL
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_PATH_MTU_AGING_TIMEOUT
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_PATH_MTU_PLATEAU_TABLE
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_INTERFACE_MTU
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ALL_SUBNETS_LOCAL
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_BROADCAST_ADDRESS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_PERFORM_MASK_DISCOVERY
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_MASK_SUPPLIER
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ROUTER_DISCOVERY
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ROUTER_SOLICITATION_ADDRESS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_STATIC_ROUTES
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_TRAILER_ENCAPSULATION
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ARP_CACHE_TIMEOUT
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_IEEE802_3_ENCAPSULATION
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DEFAULT_TCP_TTL
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_TCP_KEEPALIVE_INTERVAL
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_TCP_KEEPALIVE_GARBAGE
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NIS_DOMAIN
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NIS_SERVERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NTP_SERVERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_VENDOR_ENCAPSULATED_OPTIONS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NETBIOS_NAME_SERVERS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NETBIOS_DD_SERVER
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NETBIOS_NODE_TYPE
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NETBIOS_SCOPE
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_FONT_SERVERS
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_TIME_OFFSET
,
begin
,
begin
+
4
,
typeid
(
OptionInt
<
uint32_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ROUTERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_TIME_SERVERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NAME_SERVERS
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_X_DISPLAY_MANAGER
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DOMAIN_NAME_SERVERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_LOG_SERVERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_COOKIE_SERVERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_LPR_SERVERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_IMPRESS_SERVERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_RESOURCE_LOCATION_SERVERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_HOST_NAME
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_REQUESTED_ADDRESS
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_BOOT_SIZE
,
begin
,
begin
+
2
,
typeid
(
OptionInt
<
uint16_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_MERIT_DUMP
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_LEASE_TIME
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DOMAIN_NAME
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_OPTION_OVERLOAD
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_SWAP_SERVER
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_MESSAGE_TYPE
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ROOT_PATH
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_SERVER_IDENTIFIER
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_EXTENSIONS_PATH
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_PARAMETER_REQUEST_LIST
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_IP_FORWARDING
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_MESSAGE
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NON_LOCAL_SOURCE_ROUTING
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_MAX_MESSAGE_SIZE
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_POLICY_FILTER
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_MAX_DGRAM_REASSEMBLY
,
begin
,
begin
+
2
,
typeid
(
OptionInt
<
uint16_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DEFAULT_IP_TTL
,
begin
,
begin
+
1
,
typeid
(
OptionInt
<
uint8_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_PATH_MTU_AGING_TIMEOUT
,
begin
,
begin
+
4
,
typeid
(
OptionInt
<
uint32_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_PATH_MTU_PLATEAU_TABLE
,
begin
,
begin
+
10
,
typeid
(
OptionIntArray
<
uint16_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_INTERFACE_MTU
,
begin
,
begin
+
2
,
typeid
(
OptionInt
<
uint16_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ALL_SUBNETS_LOCAL
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_RENEWAL_TIME
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_BROADCAST_ADDRESS
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_REBINDING_TIME
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_PERFORM_MASK_DISCOVERY
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_VENDOR_CLASS_IDENTIFIER
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_MASK_SUPPLIER
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_CLIENT_IDENTIFIER
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ROUTER_DISCOVERY
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NWIP_DOMAIN_NAME
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ROUTER_SOLICITATION_ADDRESS
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NWIP_SUBOPTIONS
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_STATIC_ROUTES
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_TRAILER_ENCAPSULATION
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_USER_CLASS
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ARP_CACHE_TIMEOUT
,
begin
,
begin
+
4
,
typeid
(
OptionInt
<
uint32_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_IEEE802_3_ENCAPSULATION
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_FQDN
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DEFAULT_TCP_TTL
,
begin
,
begin
+
1
,
typeid
(
OptionInt
<
uint8_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_TCP_KEEPALIVE_INTERVAL
,
begin
,
begin
+
4
,
typeid
(
OptionInt
<
uint32_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_TCP_KEEPALIVE_GARBAGE
,
begin
,
begin
+
1
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_AGENT_OPTIONS
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NIS_DOMAIN
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_AUTHENTICATE
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NIS_SERVERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NTP_SERVERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_VENDOR_ENCAPSULATED_OPTIONS
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NETBIOS_NAME_SERVERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NETBIOS_DD_SERVER
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NETBIOS_NODE_TYPE
,
begin
,
begin
+
1
,
typeid
(
OptionInt
<
uint8_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NETBIOS_SCOPE
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_CLIENT_LAST_TRANSACTION_TIME
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_FONT_SERVERS
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_X_DISPLAY_MANAGER
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_REQUESTED_ADDRESS
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ASSOCIATED_IP
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_LEASE_TIME
,
begin
,
begin
+
4
,
typeid
(
OptionInt
<
uint32_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_OPTION_OVERLOAD
,
begin
,
begin
+
1
,
typeid
(
OptionInt
<
uint8_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_MESSAGE_TYPE
,
begin
,
begin
+
1
,
typeid
(
OptionInt
<
uint8_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_SERVER_IDENTIFIER
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_SUBNET_SELECTION
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_PARAMETER_REQUEST_LIST
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_MESSAGE
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DOMAIN_SEARCH
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_MAX_MESSAGE_SIZE
,
begin
,
begin
+
2
,
typeid
(
OptionInt
<
uint16_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_RENEWAL_TIME
,
begin
,
begin
+
4
,
typeid
(
OptionInt
<
uint32_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_REBINDING_TIME
,
begin
,
begin
+
4
,
typeid
(
OptionInt
<
uint32_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_VENDOR_CLASS_IDENTIFIER
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_CLIENT_IDENTIFIER
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NWIP_DOMAIN_NAME
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_VIVCO_SUBOPTIONS
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_NWIP_SUBOPTIONS
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_USER_CLASS
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_FQDN
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_VIVSO_SUBOPTIONS
,
buf
,
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DHCP_AGENT_OPTIONS
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_AUTHENTICATE
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_CLIENT_LAST_TRANSACTION_TIME
,
begin
,
begin
+
4
,
typeid
(
OptionInt
<
uint32_t
>
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_ASSOCIATED_IP
,
begin
,
end
,
typeid
(
Option4AddrLst
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_SUBNET_SELECTION
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_DOMAIN_SEARCH
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_VIVCO_SUBOPTIONS
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs4
(
DHO_VIVSO_SUBOPTIONS
,
begin
,
end
,
typeid
(
Option
));
}
// Test that definitions of standard options have been initialized
...
...
@@ -598,6 +682,8 @@ TEST_F(LibDhcpTest, stdOptionDefs6) {
// Create a buffer that holds dummy option data.
// It will be used to create most of the options.
std
::
vector
<
uint8_t
>
buf
(
48
,
1
);
OptionBufferConstIter
begin
=
buf
.
begin
();
OptionBufferConstIter
end
=
buf
.
end
();
// Prepare buffer holding an array of FQDNs.
const
char
data
[]
=
{
...
...
@@ -620,122 +706,144 @@ TEST_F(LibDhcpTest, stdOptionDefs6) {
fqdn_buf
.
end
());
// The actual test starts here for all supported option codes.
LibDhcpTest
::
testStdOptionDefs6
(
D6O_CLIENTID
,
buf
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_CLIENTID
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_SERVERID
,
buf
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_SERVERID
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_IA_NA
,
buf
,
typeid
(
Option6IA
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_IA_NA
,
begin
,
end
,
typeid
(
Option6IA
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_IA_TA
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_IA_TA
,
b
egin
,
begin
+
4
,
typeid
(
OptionInt
<
uint32_t
>
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_IAADDR
,
buf
,
typeid
(
Option6IAAddr
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_IAADDR
,
begin
,
end
,
typeid
(
Option6IAAddr
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_ORO
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_ORO
,
b
egin
,
end
,
typeid
(
OptionIntArray
<
uint16_t
>
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_PREFERENCE
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_PREFERENCE
,
b
egin
,
begin
+
1
,
typeid
(
OptionInt
<
uint8_t
>
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_ELAPSED_TIME
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_ELAPSED_TIME
,
b
egin
,
begin
+
2
,
typeid
(
OptionInt
<
uint16_t
>
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_RELAY_MSG
,
buf
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_RELAY_MSG
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_STATUS_CODE
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_STATUS_CODE
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_RAPID_COMMIT
,
buf
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_RAPID_COMMIT
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_USER_CLASS
,
buf
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_USER_CLASS
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_VENDOR_CLASS
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_VENDOR_CLASS
,
b
egin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_VENDOR_OPTS
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_VENDOR_OPTS
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_INTERFACE_ID
,
buf
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_INTERFACE_ID
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_RECONF_MSG
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_RECONF_MSG
,
b
egin
,
begin
+
1
,
typeid
(
OptionInt
<
uint8_t
>
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_RECONF_ACCEPT
,
buf
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_RECONF_ACCEPT
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_SIP_SERVERS_DNS
,
fqdn_buf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_SIP_SERVERS_DNS
,
fqdn_buf
.
begin
(),
fqdn_buf
.
end
(),
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_SIP_SERVERS_ADDR
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_SIP_SERVERS_ADDR
,
b
egin
,
end
,
typeid
(
Option6AddrLst
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_NAME_SERVERS
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_NAME_SERVERS
,
b
egin
,
end
,
typeid
(
Option6AddrLst
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_DOMAIN_SEARCH
,
fqdn_buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_DOMAIN_SEARCH
,
fqdn_buf
.
begin
()
,
fqdn_buf
.
end
(),
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_IA_PD
,
buf
,
typeid
(
Option6IA
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_IA_PD
,
begin
,
end
,
typeid
(
Option6IA
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_IAPREFIX
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_IAPREFIX
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_NIS_SERVERS
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_NIS_SERVERS
,
b
egin
,
end
,
typeid
(
Option6AddrLst
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_NISP_SERVERS
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_NISP_SERVERS
,
b
egin
,
end
,
typeid
(
Option6AddrLst
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_NIS_DOMAIN_NAME
,
fqdn_buf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_NIS_DOMAIN_NAME
,
fqdn_buf
.
begin
(),
fqdn_buf
.
end
(),
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_NISP_DOMAIN_NAME
,
fqdn_buf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_NISP_DOMAIN_NAME
,
fqdn_buf
.
begin
(),
fqdn_buf
.
end
(),
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_SNTP_SERVERS
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_SNTP_SERVERS
,
b
egin
,
end
,
typeid
(
Option6AddrLst
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_INFORMATION_REFRESH_TIME
,
buf
,
typeid
(
OptionInt
<
uint32_t
>
));
begin
,
begin
+
4
,
typeid
(
OptionInt
<
uint32_t
>
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_BCMCS_SERVER_D
,
fqdn_buf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_BCMCS_SERVER_D
,
fqdn_buf
.
begin
(),
fqdn_buf
.
end
(),
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_BCMCS_SERVER_A
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_BCMCS_SERVER_A
,
b
egin
,
end
,
typeid
(
Option6AddrLst
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_GEOCONF_CIVIC
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_GEOCONF_CIVIC
,
b
egin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_REMOTE_ID
,
buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_REMOTE_ID
,
begin
,
end
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_SUBSCRIBER_ID
,
buf
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_SUBSCRIBER_ID
,
begin
,
end
,
typeid
(
Option
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_CLIENT_FQDN
,
client_fqdn_buf
,
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_CLIENT_FQDN
,
client_fqdn_buf
.
begin
()
,
client_fqdn_buf
.
end
(),
typeid
(
OptionCustom
));
LibDhcpTest
::
testStdOptionDefs6
(
D6O_PANA_AGENT
,
b
uf
,
LibDhcpTest
::
testStdOptionDefs6
(
D6O_PANA_AGENT
,
b
egin
,
end
,
typeid
(
Option6AddrLst
));