add Docker platform for integration tests

refs #5108

Change-Id: I2855a5d87e4dbca6af02049e0cf423b7c893b2d0
12 files changed
tree: deea63ca8dae5c4bf0c0bdf64a89c0640330adad
  1. docker_helpers/
  2. install_helpers/
  3. library_helpers/
  4. test_auto_prefix_propagate/
  5. test_congestionmark/
  6. test_cs_freshness/
  7. test_fib_matching/
  8. test_hub_discovery/
  9. test_interest_aggregation/
  10. test_interest_loop/
  11. test_linkfail/
  12. test_localhop/
  13. test_localhost_scope/
  14. test_mobility_link/
  15. test_multicast/
  16. test_multicast_strategy/
  17. test_nack/
  18. test_ndnpeekpoke/
  19. test_ndnping/
  20. test_ndntraffic/
  21. test_nexthopfaceid/
  22. test_nfdc/
  23. test_nrd/
  24. test_permanent_face/
  25. test_route_expiration/
  26. test_route_inheritance/
  27. test_tcp_udp_tunnel/
  28. test_unixface/
  29. .gitignore
  30. .mailmap
  31. __init__.py
  32. collect-logs.sh
  33. install_apps.py
  34. multi-host.conf
  35. README.md
  36. repos.conf.sample
  37. run.sh
  38. run_tests.py
  39. Vagrantfile
README.md

Integration Tests For NFD

This repository contains end-to-end integration tests for the NDN Forwarding Daemon, NFD.

Prerequisites

  1. Python 2.7
  2. (if using Docker) Docker
  3. (if using VirtualBox) VirtualBox
  4. (if using VirtualBox) Vagrant

There are two ways to run the integration tests: automatically (using Docker or VirtualBox+Vagrant) or manually. By default, the integration tests will use the latest git master versions of each application. This can be overridden using the repos.conf file (see repos.conf.sample for documentation and examples).

Running Automatically

The integration tests can be run automatically using either Docker or VirtualBox (via Vagrant). This is accomplished by running one of the following commands, depending upon the platform you wish to use:

./run.sh docker
./run.sh vbox

These commands will output test logs to the logs folder.

Running Manually

You may wish the following the following commands when you wish to run the integration tests on physical machines or an existing topology. Please note that the integration testing machines must run Ubuntu. Since the testing suite uses SSH to communicate with the topology, please edit the multi-host.conf file accordingly.

Install NDN Applications

To install all NDN applications used for the tests, run ./install_apps.py install_all. To install one or more particular apps only, find the proper command line argument(s) to use in place of install_all by running ./install_apps.py help.

Running Tests

To run all tests, run ./run_tests.py test_all. To run one or more particular tests, run ./run_tests.py help to find the proper command line argument(s) to use in place of test_all.