2014-04-22 06:24:09 +02:00
|
|
|
# Notes
|
2011-06-27 20:05:02 +02:00
|
|
|
The sources in this directory are unit test cases. Boost includes a
|
2016-08-19 13:46:30 +02:00
|
|
|
unit testing framework, and since Dash Core already uses boost, it makes
|
2011-06-27 20:05:02 +02:00
|
|
|
sense to simply use this framework rather than require developers to
|
|
|
|
configure some other framework (we want as few impediments to creating
|
|
|
|
unit tests as possible).
|
|
|
|
|
2015-03-19 15:15:08 +01:00
|
|
|
The build system is setup to compile an executable called "test_dash"
|
2011-06-27 20:05:02 +02:00
|
|
|
that runs all of the unit tests. The main source file is called
|
2015-03-19 15:15:08 +01:00
|
|
|
test_dash.cpp, which simply includes other files that contain the
|
2011-06-27 20:05:02 +02:00
|
|
|
actual unit tests (outside of a couple required preprocessor
|
|
|
|
directives). The pattern is to create one test file for each class or
|
|
|
|
source file for which you want to create unit tests. The file naming
|
|
|
|
convention is "<source_filename>_tests.cpp" and such files should wrap
|
|
|
|
their tests in a test suite called "<source_filename>_tests". For an
|
|
|
|
examples of this pattern, examine uint160_tests.cpp and
|
|
|
|
uint256_tests.cpp.
|
|
|
|
|
2015-10-10 12:46:35 +02:00
|
|
|
Add the source files to /src/Makefile.test.include to add them to the build.
|
|
|
|
|
2011-06-27 20:05:02 +02:00
|
|
|
For further reading, I found the following website to be helpful in
|
|
|
|
explaining how the boost unit test framework works:
|
2015-03-03 15:59:32 +01:00
|
|
|
[http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/](http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/).
|
|
|
|
|
2016-03-03 20:20:32 +01:00
|
|
|
test_dash has some built-in command-line arguments; for
|
2015-03-03 15:59:32 +01:00
|
|
|
example, to run just the getarg_tests verbosely:
|
|
|
|
|
2016-03-03 20:20:32 +01:00
|
|
|
test_dash --log_level=all --run_test=getarg_tests
|
2015-03-03 15:59:32 +01:00
|
|
|
|
|
|
|
... or to run just the doubledash test:
|
|
|
|
|
2016-03-03 20:20:32 +01:00
|
|
|
test_dash --run_test=getarg_tests/doubledash
|
2015-03-03 15:59:32 +01:00
|
|
|
|
2016-03-03 20:20:32 +01:00
|
|
|
Run test_dash --help for the full list.
|
2015-03-03 15:59:32 +01:00
|
|
|
|