diff --git a/README.md b/README.md index 9f9b40845f..3441af394c 100644 --- a/README.md +++ b/README.md @@ -44,9 +44,10 @@ lots of money. ### Automated Testing -Developers are strongly encouraged to write [unit tests](/doc/unit-tests.md) for new code, and to +Developers are strongly encouraged to write [unit tests](src/test/README.md) for new code, and to submit new unit tests for old code. Unit tests can be compiled and run -(assuming they weren't disabled in configure) with: `make check` +(assuming they weren't disabled in configure) with: `make check`. Further details on running +and extending unit tests can be found in [/src/test/README.md](/src/test/README.md). There are also [regression and integration tests](/qa) of the RPC interface, written in Python, that are run automatically on the build server. diff --git a/doc/README.md b/doc/README.md index 31420c0dbc..28fe9ce344 100644 --- a/doc/README.md +++ b/doc/README.md @@ -49,7 +49,6 @@ The Dash Core repo's [root README](/README.md) contains relevant information on - Source Code Documentation ***TODO*** - [Translation Process](translation_process.md) - [Translation Strings Policy](translation_strings_policy.md) -- [Unit Tests](unit-tests.md) - [Travis CI](travis-ci.md) - [Unauthenticated REST Interface](REST-interface.md) - [Shared Libraries](shared-libraries.md) diff --git a/doc/unit-tests.md b/doc/unit-tests.md deleted file mode 100644 index fbcb286891..0000000000 --- a/doc/unit-tests.md +++ /dev/null @@ -1,18 +0,0 @@ -Compiling/running unit tests ------------------------------------- - -Unit tests will be automatically compiled if dependencies were met in `./configure` -and tests weren't explicitly disabled. - -After configuring, they can be run with `make check`. - -To run the dashd tests manually, launch `src/test/test_dash`. - -To add more dashd tests, add `BOOST_AUTO_TEST_CASE` functions to the existing -.cpp files in the `test/` directory or add new .cpp files that -implement new BOOST_AUTO_TEST_SUITE sections. - -To run the dash-qt tests manually, launch `src/qt/test/test_dash-qt` - -To add more dash-qt tests, add them to the `src/qt/test/` directory and -the `src/qt/test/test_main.cpp` file. diff --git a/src/test/README.md b/src/test/README.md index 2493a78dcb..69f1251a82 100644 --- a/src/test/README.md +++ b/src/test/README.md @@ -1,4 +1,36 @@ -# Notes +### Compiling/running unit tests + +Unit tests will be automatically compiled if dependencies were met in `./configure` +and tests weren't explicitly disabled. + +After configuring, they can be run with `make check`. + +To run the dashd tests manually, launch `src/test/test_dash`. + +To add more dashd tests, add `BOOST_AUTO_TEST_CASE` functions to the existing +.cpp files in the `test/` directory or add new .cpp files that +implement new BOOST_AUTO_TEST_SUITE sections. + +To run the dash-qt tests manually, launch `src/qt/test/test_dash-qt` + +To add more dash-qt tests, add them to the `src/qt/test/` directory and +the `src/qt/test/test_main.cpp` file. + +### Running individual tests + +test_dash has some built-in command-line arguments; for +example, to run just the getarg_tests verbosely: + + test_dash --log_level=all --run_test=getarg_tests + +... or to run just the doubledash test: + + test_dash --run_test=getarg_tests/doubledash + +Run `test_dash --help` for the full list. + +### Note on adding test cases + The sources in this directory are unit test cases. Boost includes a unit testing framework, and since Dash Core already uses boost, it makes sense to simply use this framework rather than require developers to @@ -19,20 +51,9 @@ 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/). -test_dash has some built-in command-line arguments; for -example, to run just the getarg_tests verbosely: - - test_dash --log_level=all --run_test=getarg_tests - -... or to run just the doubledash test: - - test_dash --run_test=getarg_tests/doubledash - -Run `test_dash --help` for the full list. - ### bitcoin-util-test.py -The test directory also contains the bitcoin-util-test.py tool, which tests bitcoin utils (currently just bitcoin-tx). This test gets run automatically during the `make check` build process. It is also possible to run the test manually from the src directory: +The test directory also contains the bitcoin-util-test.py tool, which tests bitcoin utils (currently just dash-tx). This test gets run automatically during the `make check` build process. It is also possible to run the test manually from the src directory: ``` test/bitcoin-util-test.py --srcdir=[current directory]