• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

integration/H18-Sep-2020-8,3975,954

python/H18-Sep-2020-2,5461,901

tool/H03-May-2022-1,9441,541

unit/H18-Sep-2020-6,1444,007

README.mdH A D18-Sep-20201.2 KiB2517

include.amH A D18-Sep-20202.2 KiB5142

README.md

1`tests` is the root level directory for SDK testing.
2
3Unit and integration tests are contained within the `unit` and `integration`
4directories, respectively. Note that unit tests do NOT do I/O and are very fast
5whereas integration tests typically require I/O, are slower, and harder to maintain.
6
7Unit and integration tests require the google test framework:
8https://github.com/google/googletest
9
10Building gtest and the tests itself depends very much on your OS and your build
11system of choice. We currently support autotools, QMake, and CMake.
12
13You can run all tests or just a subset of the tests by supplying a filter to the
14test executable, e.g., `./test_unit --gtest_filter=Crypto*`
15
16Unit and integration tests are organized in such a way that the filename
17should match the name of the contained test suite. A single test file should
18only contain a single test suite. E.g., `Crypto_test.cpp` should only contain
19tests like `TEST(Crypto, blahblah)`. This makes test discovery more efficient.
20Any testing framework code should live inside the `mt` namespace (= mega testing).
21
22The `tool` directory contains standalone test applications that must be run manually.
23
24The `python` directory contains work-in-progress system tests written in python.
25