View on GitHub

Running NFD Integration Tests

Using Mini-NDN and Vagrant

Download this project as a .zip file Download this project as a tar.gz file

Team Members

Vince Lehman (@vslehman), Davide Pesavento (@Pesa), Eric Newberry (@eric135)

Problem Statement

Currently, the NFD integration tests can take hours to run using either Vagrant or Emulab. It would be helpful to the project if integration tests could be run more efficiently and in a much shorter time on Mini-NDN. In addition, this new testing infrastructure could potentially be integrated with Jenkins to test for breaking changes.

Approach

To effectively use each team member's skills, we worked simultaneously on two tasks:

Vince and Davide worked to get the testing infrastructure and the integration tests working on Mini-NDN.

Eric worked to optimize the Vagrant tests for comparison against the Mini-NDN infrastructure. This was accomplished by eliminating the bottleneck of installing Boost and the NDN libraries and packages four separate times. Now, these steps are executed once on a template VM. This is then cloned for each of the four NDN nodes in the testing environment.

Tasks

Results

Running tests Tests passing

Mini-NDN

Time to create topology and run 9 tests: 2 minutes, 14 seconds

Vagrant

Time to install dependencies, build code, create VMs, and run tests: 84 minutes, 54 seconds

Current Status

Tests that currently pass (9 of 19):

Tests that currently fail:

Vagrant

The optimizations to the Vagrant environment have reduced the run time significantly. Instead of taking three or four hours, the integration tests now take just under an hour and a half to run.

TODOs

Future