wiki:PrefixDelegationClientTestsBeta

Code is available on client_pd_testing forge branch : https://github.com/isc-projects/forge/tree/client_pd_testing

Changes made

Folders

  • all v4 server tests that were in lettuce/features/tests_v4/ directory are now in lettuce/features/dhcpv4/server/ folder
  • all v6 server tests that were in lettuce/features/tests_v6/ directory are now in lettuce/features/dhcpv6/server/ folder
  • client tests will be placed in lettuce/features/dhcpv6/client folder
  • folder softwaresupport contains files from serversupport folder and will also contain files for specific dhcp client support
    • there is also a new folder naming pattern for folders inside softwaresupport - folder name has to have _client or _server suffix
    • it will be helpful for defining which tests (server or client) should be executed

Files renamed

  • lettuce/features/protosupport/v6/msg.py is now lettuce/features/protosupport/v6/srv_msg.py
  • lettuce/features/msg.py is now lettuce/features/srv_msg.py

Changes in existing files

  • lettuce/features/init_all.py
    • replaced SERVER_TYPE with SOFTWARE_UNDER_TEST variable
      • SOFTWARE_UNDER_TEST should be the same as one of the folders name in softwaresupport directory (kea6_server, dibbler_client, etc.)
  • lettuce/features/run_test.py
    • define kind of test to be run and look up proper paths
  • lettuce/features/terrain.py
    • code update for support SOFTWARE_UNDER_TEST variable

New files

  • lettuce/features/clnt_control.py
    • lettuce steps for launching client
  • lettuce/features/softwaresupport/dibbler_client/functions.py
    • configure dibbler client on DUT (later add support for other dhcp client implementations)
  • lettuce/features/clnt_msg.py
    • lettuce steps for testing client, building generic server messages and parsing received client messages
  • lettuce/features/protosupport/v6/clnt_msg.py
    • definitions for lettuce steps from features/clnt_msg.py
  • lettuce/features/dhcpv6/client/prefix_delegation/v6.prefix.delegation.client.feature
    • example scenario for testing dhcpv6 client


I've been able to start client, send config, pass the test for solicit/advertise/request/reply exchange and stop the client.
Current scenario for testing client PD is the simplest possible.
It is also possible to run server tests.

If this is not informative, please review code on client_pd_testing branch.

Here's dibbler log from test : http://pastebin.com/uj2EqQAj
Wireshark capture : https://www.dropbox.com/s/x7yglqbrpltci7j/client_test_capture_alpha.pcapng

Last modified 4 years ago Last modified on Apr 23, 2014, 6:04:55 PM