Andrew Poelstra
bb87204b71
Merge cfec3e01b4 into merged_master (Bitcoin PR #17266 )
2020-11-09 21:20:46 +00:00
Andrew Poelstra
4749945d77
Merge 0ff7cd7d0c into merged_master (Bitcoin PR #16889 )
2020-11-09 21:20:42 +00:00
Andrew Poelstra
c704a02e4e
Merge c34b88620d into merged_master (Bitcoin PR #17095 )
2020-11-09 21:20:40 +00:00
Andrew Poelstra
f3f736f76d
Merge befdef8aee into merged_master (Bitcoin PR #16887 )
2020-11-09 21:20:37 +00:00
Andrew Poelstra
3fd0c0af03
Merge 52b9797119 into merged_master (Bitcoin PR #16670 )
2020-11-09 21:20:17 +00:00
Andrew Poelstra
527d180369
Merge b799ebcc17 into merged_master (Bitcoin PR #16566 )
2020-11-09 21:20:13 +00:00
Andrew Poelstra
9c3480fea9
Merge 3a3d8b8357 into merged_master (Bitcoin PR #16097 )
2020-11-09 21:20:11 +00:00
Andrew Poelstra
9fbf23d6f2
Merge 3dd46d1730 into merged_master (Elements PR #675 )
2020-11-09 21:19:26 +00:00
Andrew Poelstra
9274da2dfc
Merge 7400135b79 into merged_master (Bitcoin PR #16278 )
2020-11-09 03:58:17 +00:00
Andrew Poelstra
f81f984f36
Merge c52776e6ff into merged_master (Bitcoin PR #16252 )
2020-11-09 03:57:55 +00:00
Andrew Poelstra
0267d06c6a
Merge 62efead8a8 into merged_master (Bitcoin PR #16046 )
2020-10-29 23:41:15 +00:00
Andrew Poelstra
24e3d9635c
Merge 6f4ba6492a into merged_master (Bitcoin PR #15988 )
2020-10-29 17:04:58 +00:00
Andrew Poelstra
6674d9e91f
Merge 10ed4dff24 into merged_master (Bitcoin PR #15869 )
2020-10-29 02:06:04 +00:00
Andrew Poelstra
e6343c7258
Merge 0c9de67f34 into merged_master (Bitcoin PR #15352 )
2020-10-28 16:43:51 +00:00
Andrew Poelstra
161bcd2ae8
Merge 78295e97b8 into merged_master (Bitcoin PR #15788 )
2020-10-28 16:43:03 +00:00
Andrew Poelstra
175b8550f8
Merge c3b1cb958f into merged_master (Bitcoin PR #15573 )
2020-10-27 23:27:13 +00:00
Andrew Poelstra
a599a81d3a
Merge 789b0bbf2a into merged_master (Bitcoin PR #15335 )
2020-10-27 21:39:17 +00:00
Elichai Turkel
e7b02b54cc
Add roundtrip and more tests to ParseISO8601DateTime and FormatISO8601DateTime
2019-10-27 01:00:13 +03:00
Pieter Wuille
7d8d3e6a2a
Add tests for util/vector.h's Cat and Vector
2019-10-16 08:57:26 -07:00
Wladimir J. van der Laan
d7820a1250
util: Filter control characters out of log messages
...
Belts and suspenders: make sure outgoing log messages don't contain
potentially suspicious characters, such as terminal control codes.
This escapes control characters except newline ('\n') in C syntax.
It escapes instead of removes them to still allow for troubleshooting
issues where they accidentally end up in strings.
2019-10-15 10:53:17 +02:00
Sebastian Falbesoner
bb36372b8f
test: add unit tests for Span-parsing helpers
...
tests the following four functions:
- Const() [parse constant]
- Func() [parse function]
- Expr() [parse expression]
- Split() [split up a string]
2019-10-09 18:11:14 -07:00
Jorge Timón
052c54ecb0
Testchains: Generic selection with -chain=<str> in addition of -testnet and -regtest
2019-09-06 22:05:33 +02:00
MarcoFalke
fa8cd6f9c1
util: Add Join helper to join a list of strings
2019-08-20 16:51:41 -04:00
Karl-Johan Alm
0481fa2584
util: refactor upper/lowercase functions
...
This includes renaming Downcase() to ToLower() and make it return a string rather than modify referenced arg.
Also adds ToUpper() string version.
2019-08-08 11:35:14 +09:00
Hennadii Stepanov
e6f649cb2c
test: Make tests arg type specific
2019-07-31 21:58:14 +03:00
Hennadii Stepanov
fb4b9f9e3b
scripted-diff: Use ArgsManager::DEBUG_ONLY flag
...
-BEGIN VERIFY SCRIPT-
sed -i 's/unsigned int flags, const bool debug_only,/unsigned int flags,/' src/util/system.h src/util/system.cpp
sed -i 's/ArgsManager::NONE, debug_only/flags, false/' src/util/system.cpp
sed -i 's/arg.second.m_debug_only/(arg.second.m_flags \& ArgsManager::DEBUG_ONLY)/' src/util/system.cpp
sed -i 's/ArgsManager::ALLOW_ANY, true, OptionsCategory::/ArgsManager::ALLOW_ANY | ArgsManager::DEBUG_ONLY, OptionsCategory::/' $(git grep --files-with-matches 'AddArg(' src)
sed -i 's/ArgsManager::ALLOW_ANY, false, OptionsCategory::/ArgsManager::ALLOW_ANY, OptionsCategory::/' $(git grep --files-with-matches 'AddArg(' src)
-END VERIFY SCRIPT-
2019-07-27 15:05:14 +03:00
Hennadii Stepanov
1b4b9422ca
scripted-diff: Use Flags enum in AddArg()
...
-BEGIN VERIFY SCRIPT-
sed -i 's/const bool debug_only,/unsigned int flags, &/' src/util/system.h src/util/system.cpp
sed -i -E 's/(true|false), OptionsCategory::/ArgsManager::ALLOW_ANY, &/' $(git grep --files-with-matches 'AddArg(' src)
-END VERIFY SCRIPT-
2019-07-27 15:05:14 +03:00
Gregory Sanders
648245505d
Change default chain to liquidv1
2019-07-10 13:41:36 -04:00
practicalswift
9a841696c1
tests: Reduce compilation time and unneccessary recompiles by removing unused includes in tests
2019-06-26 20:37:48 +02:00
MarcoFalke
fad3d2a624
test: Create data dir in BasicTestingSetup
2019-06-20 09:31:02 -04:00
MarcoFalke
fa013664ae
util: Add type safe GetTime
2019-05-23 14:12:32 -04:00
Steven Roose
f4889a5253
UPSTREAM MERGE BROKEN: Merge upstream commit ' 519b0bc5dc' into master
2019-05-17 16:17:09 +01:00
Russell Yanofsky
f6bb11fd37
Add test for ArgsManager::GetChainName
...
There was some test coverage previously, but it was limited and didn't test
conflicting and negated arguments.
2019-05-07 11:51:30 -04:00
Russell Yanofsky
4b331159df
Add unit test NextString, ForEachNoDup functions
...
Remove testcase generating code from util_SettingsMerge so it can be reused in
new tests.
The hash value expected in util_SettingsMerge changes as a result of this, but
only because the testcases are generated in a different order, not because any
cases are added or removed. It is possible to verify this with:
SETTINGS_MERGE_TEST_OUT=new.txt test/test_bitcoin --run_test=util_tests/util_SettingsMerge
git checkout HEAD~1
make test/test_bitcoin
SETTINGS_MERGE_TEST_OUT=old.txt test/test_bitcoin --run_test=util_tests/util_SettingsMerge
diff -u <(sort old.txt) <(sort new.txt)
The new output is a little more readable, with simpler testcases sorted first.
2019-05-07 11:51:30 -04:00
Russell Yanofsky
05bfee3451
util_SettingsMerge test cleanup
...
Followup to #15869 . Treat "-wallet" as the network-specific argument in test
instead of "-server", to make test output clearer and be more consistent with
bitcoind. Update embedded hash to match changed output from this.
2019-05-07 11:51:30 -04:00
Steven Roose
7f894ae00b
UPSTREAM MERGE BROKEN: Merge commit ' f617e05c38' into master
2019-05-01 19:18:18 +01:00
Russell Yanofsky
151f3e9cf1
Add settings merge test to prevent regresssions
2019-04-22 08:10:05 -04:00
MarcoFalke
0c9de67f34
Merge #15352 : tests: Reduce noise level in test_bitcoin output
...
0aef39d067 Silence "Test case [...] did not check any assertions" warnings when running "test_bitcoin --log_level=test_suite" (practicalswift)
5fd73c8694 Avoid repeated log messages in tests by connecting to signal handlers (ThreadSafeMessageBox, etc.) only once (practicalswift)
e502c3c515 tests: Reduce noise level in test_bitcoin output (practicalswift)
Pull request description:
Reduce noise level in `test_bitcoin` output.
Context: When working on the non-determinism issues in the unit tests (see #15296 ) I got a bit tired of the amount of noise in the `test_bitcoin` output :-)
Before:
```
$ src/test/test_bitcoin --log_level=test_suite 2>&1 | grep -vE '(Entering|Leaving)' | uniq -c
1 Running 341 test cases...
1 Test case blockencodings_tests/TransactionsRequestDeserializationOverflowTest did not check any assertions
1 CheckSplitTorReplyLine(PROTOCOLINFO PIVERSION)
1 CheckSplitTorReplyLine(AUTH METHODS=COOKIE,SAFECOOKIE COOKIEFILE="/home/x/.tor/control_auth_cookie")
1 CheckSplitTorReplyLine(AUTH METHODS=NULL)
1 CheckSplitTorReplyLine(AUTH METHODS=HASHEDPASSWORD)
1 CheckSplitTorReplyLine(VERSION Tor="0.2.9.8 (git-a0df013ea241b026)")
1 CheckSplitTorReplyLine(AUTHCHALLENGE SERVERHASH=aaaa SERVERNONCE=bbbb)
1 CheckSplitTorReplyLine(COMMAND)
1 CheckSplitTorReplyLine(COMMAND SOME ARGS)
1 CheckSplitTorReplyLine(COMMAND ARGS)
1 CheckSplitTorReplyLine(COMMAND EVEN+more ARGS)
1 CheckParseTorReplyMapping(METHODS=COOKIE,SAFECOOKIE COOKIEFILE="/home/x/.tor/control_auth_cookie")
1 CheckParseTorReplyMapping(METHODS=NULL)
1 CheckParseTorReplyMapping(METHODS=HASHEDPASSWORD)
1 CheckParseTorReplyMapping(Tor="0.2.9.8 (git-a0df013ea241b026)")
1 CheckParseTorReplyMapping(SERVERHASH=aaaa SERVERNONCE=bbbb)
1 CheckParseTorReplyMapping(ServiceID=exampleonion1234)
1 CheckParseTorReplyMapping(PrivateKey=RSA1024:BLOB)
1 CheckParseTorReplyMapping(ClientAuth=bob:BLOB)
1 CheckParseTorReplyMapping(Foo=Bar=Baz Spam=Eggs)
1 CheckParseTorReplyMapping(Foo="Bar=Baz")
1 CheckParseTorReplyMapping(Foo="Bar Baz")
1 CheckParseTorReplyMapping(Foo="Bar\ Baz")
1 CheckParseTorReplyMapping(Foo="Bar\Baz")
1 CheckParseTorReplyMapping(Foo="Bar\@Baz")
1 CheckParseTorReplyMapping(Foo="Bar\"Baz" Spam="\"Eggs\"")
1 CheckParseTorReplyMapping(Foo="Bar\\Baz")
1 CheckParseTorReplyMapping(Foo="Bar\nBaz\t" Spam="\rEggs" Octals="\1a\11\17\18\81\377\378\400\2222" Final=Check)
1 CheckParseTorReplyMapping(Valid=Mapping Escaped="Escape\\")
1 CheckParseTorReplyMapping(Valid=Mapping Bare="Escape\")
1 CheckParseTorReplyMapping(OneOctal="OneEnd\1" TwoOctal="TwoEnd\11")
1 CheckParseTorReplyMapping(Null="\0")
1 CheckParseTorReplyMapping(SOME=args,here MORE optional=arguments here)
1 CheckParseTorReplyMapping(ARGS)
1 CheckParseTorReplyMapping(MORE ARGS)
1 CheckParseTorReplyMapping(MORE ARGS)
1 CheckParseTorReplyMapping(EVEN more=ARGS)
1 CheckParseTorReplyMapping(EVEN+more ARGS)
1 Test case util_tests/util_criticalsection did not check any assertions
1 Testing known outcomes
326 Error: Specified -walletdir "/tmp/test_bitcoin/1553850209_943311758/tempdir/path_does_not_exist" does not exist
327 Error: Specified -walletdir "/tmp/test_bitcoin/1553850209_643733972/tempdir/not_a_directory.dat" is not a directory
328 Error: Specified -walletdir "wallets" is a relative path
1
1 *** No errors detected
```
After:
```
$ src/test/test_bitcoin --log_level=test_suite 2>&1 | grep -vE '(Entering|Leaving)' | uniq -c
1 Running 341 test cases...
1 Error: Specified -walletdir "/tmp/test_bitcoin/1553850026_943311758/tempdir/path_does_not_exist" does not exist
1 Error: Specified -walletdir "/tmp/test_bitcoin/1553850026_643733972/tempdir/not_a_directory.dat" is not a directory
1 Error: Specified -walletdir "wallets" is a relative path
1
1 *** No errors detected
```
ACKs for commit 0aef39:
MarcoFalke:
utACK 0aef39d067
Tree-SHA512: 9cc22f64aa5c875861bae6533d18675ad978c623f053754deef6a8e271ea70bda3f72fb4ec5c8fd19b841757f21380639051d5f5b44301b9d2464b57655e9c05
2019-04-16 14:18:47 -04:00
Gregory Sanders
7eea59a2ca
configure option --enable-liquid for default liquidv1 chain
2019-04-12 13:27:01 -04:00
MarcoFalke
faf400077d
scripted-diff: Bump copyright headers in test, bench
...
-BEGIN VERIFY SCRIPT-
./contrib/devtools/copyright_header.py update ./src/bench/
./contrib/devtools/copyright_header.py update ./src/test/
-END VERIFY SCRIPT-
2019-04-11 13:34:43 -04:00
MarcoFalke
fa821904bf
scripted-diff: Rename test_bitcoin to test/setup_common
...
-BEGIN VERIFY SCRIPT-
sed -i --regexp-extended -e 's/test_bitcoin\.(h|cpp)/setup_common.\1/g' $(git grep -l test_bitcoin)
git mv ./src/test/test_bitcoin.h ./src/test/setup_common.h
git mv ./src/test/test_bitcoin.cpp ./src/test/setup_common.cpp
sed -i -e 's/BITCOIN_TEST_TEST_BITCOIN_H/BITCOIN_TEST_SETUP_COMMON_H/g' ./src/test/setup_common.h
-END VERIFY SCRIPT-
2019-04-11 10:12:36 -04:00
practicalswift
0aef39d067
Silence "Test case [...] did not check any assertions" warnings when running "test_bitcoin --log_level=test_suite"
2019-03-29 15:31:48 +01:00
Gregory Sanders
8ea52eec38
Default to elementsregtest
2019-03-21 10:43:20 -04:00
Lenny Maiorani
56f1d28d9b
dead code: Remove dead option in HexStr conversion
...
Problem:
- Nothing uses the `fspaces` argument to `HexStr()` besides unit
tests. This argument results in extra complexity and a small
performance decrease within the function for branch evalulation.
Solution:
- Remove unused `fspaces` option.
2019-03-10 21:45:31 -06:00
Akio Nakamura
1a7ba84e11
Fix lack of warning of unrecognized section names
...
1. Fix lack of warning by collecting all section names by moving
m_config_sections.clear() to ArgsManager::ReadConfigFiles().
2. Add info(file name, line number) to warning message.
3. Add a test code to confirm this situation.
3. Do clear() in ReadConfigString().
2019-02-19 10:49:19 +09:00
Gleb Naumenko
1cff3d6cb0
Change in transaction pull scheduling to prevent InvBlock-related attacks
...
Co-authored-by: Suhas Daftuar <sdaftuar@gmail.com>
2019-02-06 20:25:27 -08:00
Wladimir J. van der Laan
332b3dd7c1
util: Make ToLower and ToUpper take a char
...
Unfortunately, `std::string` elements are (bare) chars. As these
are the most likely type to be passed to these functions, make them use
char instead of unsigned char. This avoids some casts.
2019-01-10 02:51:14 +01:00
MarcoFalke
fa21ca09a8
test: Add BOOST_REQUIRE to getters returning optional
2018-11-20 19:51:49 -05:00
practicalswift
145fe95ec7
tests: Check return value of ParseParameters(...)
2018-11-05 16:52:59 +01:00
Jim Posen
2068f089c8
scripted-diff: Move util files to separate directory.
...
-BEGIN VERIFY SCRIPT-
mkdir -p src/util
git mv src/util.h src/util/system.h
git mv src/util.cpp src/util/system.cpp
git mv src/utilmemory.h src/util/memory.h
git mv src/utilmoneystr.h src/util/moneystr.h
git mv src/utilmoneystr.cpp src/util/moneystr.cpp
git mv src/utilstrencodings.h src/util/strencodings.h
git mv src/utilstrencodings.cpp src/util/strencodings.cpp
git mv src/utiltime.h src/util/time.h
git mv src/utiltime.cpp src/util/time.cpp
sed -i 's/<util\.h>/<util\/system\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp')
sed -i 's/<utilmemory\.h>/<util\/memory\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp')
sed -i 's/<utilmoneystr\.h>/<util\/moneystr\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp')
sed -i 's/<utilstrencodings\.h>/<util\/strencodings\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp')
sed -i 's/<utiltime\.h>/<util\/time\.h>/g' $(git ls-files 'src/*.h' 'src/*.cpp')
sed -i 's/BITCOIN_UTIL_H/BITCOIN_UTIL_SYSTEM_H/g' src/util/system.h
sed -i 's/BITCOIN_UTILMEMORY_H/BITCOIN_UTIL_MEMORY_H/g' src/util/memory.h
sed -i 's/BITCOIN_UTILMONEYSTR_H/BITCOIN_UTIL_MONEYSTR_H/g' src/util/moneystr.h
sed -i 's/BITCOIN_UTILSTRENCODINGS_H/BITCOIN_UTIL_STRENCODINGS_H/g' src/util/strencodings.h
sed -i 's/BITCOIN_UTILTIME_H/BITCOIN_UTIL_TIME_H/g' src/util/time.h
sed -i 's/ util\.\(h\|cpp\)/ util\/system\.\1/g' src/Makefile.am
sed -i 's/utilmemory\.\(h\|cpp\)/util\/memory\.\1/g' src/Makefile.am
sed -i 's/utilmoneystr\.\(h\|cpp\)/util\/moneystr\.\1/g' src/Makefile.am
sed -i 's/utilstrencodings\.\(h\|cpp\)/util\/strencodings\.\1/g' src/Makefile.am
sed -i 's/utiltime\.\(h\|cpp\)/util\/time\.\1/g' src/Makefile.am
sed -i 's/-> util ->/-> util\/system ->/' test/lint/lint-circular-dependencies.sh
sed -i 's/src\/util\.cpp/src\/util\/system\.cpp/g' test/lint/lint-format-strings.py test/lint/lint-locale-dependence.sh
sed -i 's/src\/utilmoneystr\.cpp/src\/util\/moneystr\.cpp/g' test/lint/lint-locale-dependence.sh
sed -i 's/src\/utilstrencodings\.\(h\|cpp\)/src\/util\/strencodings\.\1/g' test/lint/lint-locale-dependence.sh
sed -i 's/src\\utilstrencodings\.cpp/src\\util\\strencodings\.cpp/' build_msvc/libbitcoinconsensus/libbitcoinconsensus.vcxproj
-END VERIFY SCRIPT-
2018-11-04 22:46:07 -08:00