Skip to content
Lingzhu Xiang edited this page Feb 12, 2016 · 1 revision

Test plan

Build tests

  • Full build. cmake.
  • Optional build. cmake -DENABLE_OPENGL=OFF, cmake -DENABLE_OPENCL=OFF, cmake -DENABLE_CXX11=ON, cmake -DBUILD_SHARED_LIBS=OFF.
  • Third-party application build. cmake -DCMAKE_INSTALL_PREFIX=/tmp/freenect2 -DENABLE_EXAMPLES=OFF; make; make install; cd ../examples/build; cmake -Dfreenect2_DIR=/tmp/freenect2/lib/cmake/freenect2

Expected: make; ./bin/Protonect works correctly.

Functionality tests

Test under full build.

  • Smoke test. ./Protonect.
  • Selecting devices with serial number. ./Protonect 1234567890.
  • Selecting processors. ./Protonect gl, ./Protonect cl, ./Protonect cpu.
  • Disabling the viewer. ./Protonect gl -noviewer, ./Protonect cl -noviewer.
  • Setting log destination. LOGFILE=test.log ./Protonect.
  • Pausing. pkill -USR1 Protonect a few times.
  • Restarting the device. Exit and rerun Protonect immediately a few times. Expected: The first few runs report no device found. The last run reports 0x09000 status, waits a few seconds and works correctly.
  • Burn in test (suggested by @ahundt). Run ./Protonect -noviewer for time as long as possible to inspect possible memory leak pattern and stability issues.
  • OpenNI2 feature test. Build with OpenNI2 dependency installed, copy libfreenect2-openni2.* to OpenNI2/Drivers run NiViewer or NiViewer2 to see the visualization.

Platform tests

Report details about USB 3 host controller to collect a list of working hardware.

Test combinations of the following:

  • Windows 7
  • Windows 8
  • Debian testing
  • Ubuntu 14.04
  • Mac OS X

And GPUs

  • Intel
  • Intel/Nvidia dual
  • AMD
  • Tegra K1
  • Mali (optional)
  • Tegra X1 (optional)

Report the hardware combinations.

Also report performance results.

Clone this wiki locally