Skip to content
GitLab
Menu
Projects
Groups
Snippets
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
466d355f
Commit
466d355f
authored
Oct 12, 2016
by
Marcin Siodelski
Browse files
[2280] Avoid overlapping pools in the alloc engine unit tests.
parent
44d863b3
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/lib/dhcpsrv/tests/alloc_engine6_unittest.cc
View file @
466d355f
...
...
@@ -143,9 +143,9 @@ TEST_F(AllocEngine6Test, allocWithUsedHint6) {
// in pool, but is currently used, can succeed
TEST_F
(
AllocEngine6Test
,
pdAllocWithUsedHint6
)
{
allocWithUsedHintTest
(
Lease
::
TYPE_PD
,
IOAddress
(
"2001:db8:1::"
),
// allocate this prefix as used
IOAddress
(
"2001:db8:1::"
),
// request this prefix
64
);
IOAddress
(
"2001:db8:1:
2:
:"
),
// allocate this prefix as used
IOAddress
(
"2001:db8:1:
2:
:"
),
// request this prefix
80
);
}
// This test checks if the allocation with a hint that is out the blue
...
...
@@ -159,7 +159,7 @@ TEST_F(AllocEngine6Test, allocBogusHint6) {
// can succeed. The invalid hint should be ignored completely.
TEST_F
(
AllocEngine6Test
,
pdAllocBogusHint6
)
{
allocBogusHint6
(
Lease
::
TYPE_PD
,
IOAddress
(
"3000::abc"
),
64
);
allocBogusHint6
(
Lease
::
TYPE_PD
,
IOAddress
(
"3000::abc"
),
80
);
}
// This test checks that NULL values are handled properly
...
...
@@ -1612,7 +1612,7 @@ TEST_F(AllocEngine6Test, largePDPool) {
// Configure the PD pool with the prefix length of /64 and the delegated
// length /96.
Pool6Ptr
pool
(
new
Pool6
(
Lease
::
TYPE_PD
,
IOAddress
(
"2001:db8:1::"
),
64
,
96
));
Pool6Ptr
pool
(
new
Pool6
(
Lease
::
TYPE_PD
,
IOAddress
(
"2001:db8:1:
2:
:"
),
80
,
96
));
subnet_
->
addPool
(
pool
);
// We should have got exactly one lease.
...
...
@@ -1649,6 +1649,7 @@ TEST_F(AllocEngine6Test, largePoolOver32bits) {
TEST_F
(
AllocEngine6Test
,
largeAllocationAttemptsOverride
)
{
// Remove the default NA pools.
subnet_
->
delPools
(
Lease
::
TYPE_NA
);
subnet_
->
delPools
(
Lease
::
TYPE_PD
);
// Add exactly one pool with many addresses.
Pool6Ptr
pool
(
new
Pool6
(
Lease
::
TYPE_NA
,
IOAddress
(
"2001:db8:1::"
),
56
));
...
...
src/lib/dhcpsrv/tests/alloc_engine_utils.cc
View file @
466d355f
...
...
@@ -140,7 +140,9 @@ AllocEngine6Test::AllocEngine6Test() {
// Initialize a subnet and short address pool.
initSubnet
(
IOAddress
(
"2001:db8:1::"
),
IOAddress
(
"2001:db8:1::10"
),
IOAddress
(
"2001:db8:1::20"
));
IOAddress
(
"2001:db8:1::20"
),
IOAddress
(
"2001:db8:1:2::"
),
64
,
80
);
initFqdn
(
""
,
false
,
false
);
...
...
@@ -148,8 +150,11 @@ AllocEngine6Test::AllocEngine6Test() {
void
AllocEngine6Test
::
initSubnet
(
const
asiolink
::
IOAddress
&
subnet
,
const
asiolink
::
IOAddress
&
pool_start
,
const
asiolink
::
IOAddress
&
pool_end
)
{
const
asiolink
::
IOAddress
&
pool_start
,
const
asiolink
::
IOAddress
&
pool_end
,
const
asiolink
::
IOAddress
&
pd_pool_prefix
,
const
uint8_t
pd_pool_length
,
const
uint8_t
pd_delegated_length
)
{
CfgMgr
&
cfg_mgr
=
CfgMgr
::
instance
();
subnet_
=
Subnet6Ptr
(
new
Subnet6
(
subnet
,
56
,
100
,
200
,
300
,
400
));
...
...
@@ -157,7 +162,10 @@ AllocEngine6Test::initSubnet(const asiolink::IOAddress& subnet,
subnet_
->
addPool
(
pool_
);
pd_pool_
=
Pool6Ptr
(
new
Pool6
(
Lease
::
TYPE_PD
,
subnet
,
56
,
64
));
if
(
!
pd_pool_prefix
.
isV6Zero
())
{
pd_pool_
=
Pool6Ptr
(
new
Pool6
(
Lease
::
TYPE_PD
,
pd_pool_prefix
,
pd_pool_length
,
pd_delegated_length
));
}
subnet_
->
addPool
(
pd_pool_
);
cfg_mgr
.
getStagingCfg
()
->
getCfgSubnets6
()
->
add
(
subnet_
);
...
...
src/lib/dhcpsrv/tests/alloc_engine_utils.h
View file @
466d355f
...
...
@@ -101,9 +101,18 @@ public:
/// @param subnet Address of a subnet to be configured.
/// @param pool_start First address in the address pool.
/// @param pool_end Last address in the address pool.
/// @param pd_pool_prefix Prefix for the prefix delegation pool. It
/// defaults to 0 which means that PD pool is not specified.
/// @param pd_pool_length Length of the PD pool prefix.
/// @param pd_delegated_length Delegated prefix length.
void
initSubnet
(
const
asiolink
::
IOAddress
&
subnet
,
const
asiolink
::
IOAddress
&
pool_start
,
const
asiolink
::
IOAddress
&
pool_end
);
const
asiolink
::
IOAddress
&
pool_end
,
const
asiolink
::
IOAddress
&
pd_pool_prefix
=
asiolink
::
IOAddress
::
IPV6_ZERO_ADDRESS
(),
const
uint8_t
pd_pool_length
=
0
,
const
uint8_t
pd_delegated_length
=
0
);
/// @brief Initializes FQDN data for a test.
///
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment