Original HUSH source code based on ZEC 1.0.8 . For historical purposes only! https://hush.is
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Jonathan "Duke" Leto fef0578e45 z_validateviewingkey has a dedicated branch, it needs more work 6 years ago
..
data bitcore 6 years ago
Checkpoints_tests.cpp Reduce checkpoints' effect on consensus. 7 years ago
DoS_tests.cpp Refactor: replace calls to GetTxid() with GetHash() 8 years ago
Makefile build: add stub makefiles for easier subdir builds 10 years ago
README.md Clarification of unit test build instructions. 9 years ago
accounting_tests.cpp Refactor: replace calls to GetTxid() with GetHash() 8 years ago
addrman_tests.cpp Increase test coverage for addrman and addrinfo 8 years ago
alert_tests.cpp Migrate Zcash-specific code to UniValue 7 years ago
allocator_tests.cpp allocators: split allocators and pagelocker 9 years ago
arith_uint256_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
base32_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
base58_tests.cpp [Univalue] add univalue over subtree 7 years ago
base64_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
bctest.py Remove references to X11 licence 10 years ago
bignum.h Assert that new OpenSSL allocators succeed 8 years ago
bip32_tests.cpp extend bip32 tests to cover Base58c/CExtKey decode 7 years ago
bitcoin-util-test.py Remove references to X11 licence 10 years ago
bloom_tests.cpp Remove #1144 from bloom_tests by reverting to commit 5012190. 8 years ago
buildenv.py.in tests: fix python test-runner for windows 10 years ago
checkblock_tests.cpp Skip JoinSplit verification before the last checkpoint 8 years ago
coins_tests.cpp Separate core memory usage computation in core_memusage.h 7 years ago
compress_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
crypto_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
equihash_tests.cpp Add compile flag to disable compilation of mining code 7 years ago
getarg_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
hash_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
key_tests.cpp Re-encode hard-coded addresses in tests 8 years ago
main_tests.cpp Update tests to account for decreased block interval 8 years ago
mempool_tests.cpp Refactor: replace calls to GetTxid() with GetHash() 8 years ago
miner_tests.cpp Regenerate miner tests 7 years ago
mruset_tests.cpp Better mruset unit test 9 years ago
multisig_tests.cpp Refactor: replace calls to GetTxid() with GetHash() 8 years ago
netbase_tests.cpp add unit test for CNetAddr::GetGroup. 9 years ago
pmt_tests.cpp Refactor: replace calls to GetTxid() with GetHash() 8 years ago
policyestimator_tests.cpp Update tests to check actual infinity as well as INF_FEERATE 7 years ago
pow_tests.cpp Update tests for new genesis blocks 8 years ago
raii_event_tests.cpp Skip RAII event tests if libevent is built without event_set_mem_functions 7 years ago
reverselock_tests.cpp Replace boost::reverse_lock with our own. 9 years ago
rpc_tests.cpp Remove rpc_boostasiotocnetaddr test 7 years ago
rpc_wallet_tests.cpp z_validateviewingkey has a dedicated branch, it needs more work 6 years ago
sanity_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
scheduler_tests.cpp Another merge for linux build. 6 years ago
script_P2PKH_tests.cpp bitcore 6 years ago
script_P2SH_tests.cpp Refactor: replace calls to GetTxid() with GetHash() 8 years ago
script_tests.cpp Strict DER signatures are always enforced; remove the flag and code that used it. 7 years ago
scriptnum_tests.cpp Make CScriptNum() take nMaxNumSize as an argument 9 years ago
serialize_tests.cpp New implementation of incremental merkle tree 8 years ago
sha256compress_tests.cpp Remove unused code in libzerocash util.cpp 8 years ago
sighash_tests.cpp [Univalue] add univalue over subtree 7 years ago
sigopcount_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
skiplist_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
test_bitcoin.cpp 1.0.13 Dev Rollup 7 years ago
test_bitcoin.h bitcore 6 years ago
timedata_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
torcontrol_tests.cpp Check that >3-digit octals are truncated. 7 years ago
transaction_tests.cpp 1.0.13 Dev Rollup 7 years ago
uint256_tests.cpp tests: add a BasicTestingSetup and apply to all tests 9 years ago
univalue_tests.cpp UniValue: don't escape solidus, keep espacing of reverse solidus 7 years ago
util_tests.cpp rpc: Accept scientific notation for monetary amounts in JSON 7 years ago
wallet-utility.py bitcore 6 years ago

README.md

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.

Add the source files to /src/Makefile.test.include to add them to the build.

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/.