Part of kea#1842 (closed).
Various tests for overlapping pools. The focus should be on the idea of global PD pools which are simulated by adding the same PD pool (or overlapping PD pool as a similar concept) to all subnets. You can read more about it in the support ticket attached to the Kea ticket. It should explain the
*outside_the_subnet*tests. That is where behavior diverges between address pools and PD pools.
v4 tests also check for
NoAddrsAvailso I saw that
DORA()needs an address passed to it and I had no address to pass to it, so I made
Noneas default to
address. The reason why
world.srvmsg.yiaddris because we have some places where we use
RA()as a renew message after sending
RAs and those tests would fail. It's not the greatest, but I also don't mind it. If requested, I can look into those tests to see if I can save yiaddr and pass it to RA.
I wanted to test that Kea doesn't start succesfully and I saw that it was not possible with
srv_control.start_srv()so I added the
should_succeedparameter to pass it down to
I experimented a bit with fuzzing so I moved
start_fuzzing()from v4 to generic
srv_msg.pyand I added some stuff to it. I used
_bump_subnet()for subnets or for shared networks. But now I always do it for one of them for simplicity. Tests were getting very unreadable because the expected leases had to be adjusted according to the
coin_toss. I don't care about
start_fuzzing()now. I can revert it if requested.