aboutsummaryrefslogtreecommitdiff
path: root/src/test/README.md
diff options
context:
space:
mode:
authorsuper3 <me@super3.org>2014-04-22 00:24:09 -0400
committerShawn Wilkinson <me@super3.org>2014-05-01 12:10:06 -0400
commitd3081fa2314ac064c1054b58f4b11c332af6fe09 (patch)
tree7a975ecbf9dccd9534f716c66a7760c309b0673c /src/test/README.md
parent4a102fa9d94309965e98a707cb0c653cfa31ca71 (diff)
Removed LevelDB changes
Syntax Highlighting
Diffstat (limited to 'src/test/README.md')
-rw-r--r--src/test/README.md21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/README.md b/src/test/README.md
new file mode 100644
index 0000000000..7efce6f052
--- /dev/null
+++ b/src/test/README.md
@@ -0,0 +1,21 @@
+# Notes
+The sources in this directory are unit test cases. Boost includes a
+unit testing framework, and since bitcoin already uses boost, it makes
+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).
+
+The build system is setup to compile an executable called "test_bitcoin"
+that runs all of the unit tests. The main source file is called
+test_bitcoin.cpp, which simply includes other files that contain the
+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.
+
+For further reading, I found the following website to be helpful in
+explaining how the boost unit test framework works:
+[http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/](http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/). \ No newline at end of file