Skip to content

Files

Latest commit

 

History

History
 
 

tests

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

tests is the root level directory for SDK testing.

Unit and integration tests are contained within the unit and integration directories, respectively. Note that unit tests do NOT do I/O and are very fast whereas integration tests typically require I/O, are slower, and harder to maintain.

Unit and integration tests require the google test framework: https://github.com/google/googletest

Building gtest and the tests itself depends very much on your OS and your build system of choice. We currently support autotools, QMake, and CMake.

You can run all tests or just a subset of the tests by supplying a filter to the test executable, e.g., ./test_unit --gtest_filter=Crypto*

Unit and integration tests are organized in such a way that the filename should match the name of the contained test suite. A single test file should only contain a single test suite. E.g., Crypto_test.cpp should only contain tests like TEST(Crypto, blahblah). This makes test discovery more efficient. Any testing framework code should live inside the mt namespace (= mega testing).

The tool directory contains standalone test applications that must be run manually.

The python directory contains work-in-progress system tests written in python.