Add settings merge test to prevent regresssions #15869
pull ryanofsky wants to merge 1 commits into bitcoin:master from ryanofsky:pr/testset changing 1 files +229 −0-
ryanofsky commented at 5:32 pm on April 22, 2019: memberTest-only change. Motivation: I’m trying to clean up settings code and add support for read/write settings without changing existing behavior, but current tests are very scattershot and don’t actually cover a lot of current behavior.
-
Add settings merge test to prevent regresssions 151f3e9cf1
-
DrahtBot added the label Tests on Apr 22, 2019
-
jamesob commented at 0:33 am on April 27, 2019: memberConcept ACK. Going to go line-by-line in the next few days.
-
jonasschnelli commented at 7:21 am on April 29, 2019: contributorThanks for doing this. utACK 151f3e9cf1bbcf30a4fc7749682e66b4a73ddfc2. I haven’t verified the sha256 check hash.
-
practicalswift commented at 7:25 am on April 29, 2019: contributor
Concept ACK
Very nice! Regression testing is our best friend!
-
in src/test/util_tests.cpp:636 in 151f3e9cf1
631+ 632+ //! Enumerate interesting combinations of actions. 633+ template <typename Fn> 634+ void ForEachActionList(Fn&& fn) 635+ { 636+ ActionList actions = {SET};
MarcoFalke commented at 4:06 pm on April 29, 2019:I’d prefer if this didn’t set the first element to
SET
and the others to0
. Could do the following and add a comment that 0==SET? Also, on first sight this might look a bit like the list only has one element.0 ActionList actions = {};
MarcoFalke approvedMarcoFalke commented at 4:39 pm on April 29, 2019: memberutACK 151f3e9cf1bbcf30a4fc7749682e66b4a73ddfc2
Signature:
0-----BEGIN PGP SIGNED MESSAGE----- 1Hash: SHA512 2 3utACK 151f3e9cf1bbcf30a4fc7749682e66b4a73ddfc2 4-----BEGIN PGP SIGNATURE----- 5 6iQGzBAEBCgAdFiEE+rVPoUahrI9sLGYTzit1aX5ppUgFAlwqrYAACgkQzit1aX5p 7pUjGCwv/W8QAcQ1+K+tGRBF2LDzuHibOOtOOgsVh2E5yX953lVKmEZzhthhVLDW+ 8S3JlOYfc6l1q0gD1cIcX5IZuTk+pA+cMZIg2Co2xMHCoIk+UIrGe1UdxOwPX3AXZ 9R3xmcErQHTZwD7oRQ4vZpt7BhA4ZPUxIh00CJ12z49KFm/Eh0C7zodalENuwwIvN 107Rwd/kHXqA36w9JAF6JlxKmrLpftf+adIcEYjPyUldDnm+xF4M/VYxjR9XVjNkG4 118bziYMA/kB8/g/30qHUzxfH5gXb1cptpbbA/CFXFLLaxYGx9lgui+sz8CNF/AzRQ 12mgOF6vJJhrzm45Bz9Oo/uitgh/UGK3jDzImADcIWX9lE7WRQp0HAVH1AlwNm8gtY 13ceMTlwj1gtAz2Y9Hz3kf8uUmHpkU+fqE4NJBO1J9n8wb0poW4DL/mnAo5N0UMdf6 14ZY5iE+Y/uNLdYOzyO/XjmmKk6G5PP1/xNOz4xNthe26c34QkznpLHiCbRNRO4rs6 15w7ihnATE 16=SUNq 17-----END PGP SIGNATURE-----
Timestamp of file with hash
c7ac440a2577d6ddd333508953cc427cd050c82938897165390cde198e35cbbc -
in src/test/util_tests.cpp:697 in 151f3e9cf1
692+{ 693+ CHash256 out_sha; 694+ FILE* out_file = nullptr; 695+ if (const char* out_path = getenv("SETTINGS_MERGE_TEST_OUT")) { 696+ out_file = fsbridge::fopen(out_path, "w"); 697+ if (!out_file) throw std::system_error(errno, std::generic_category(), "fopen failed");
promag commented at 9:44 pm on April 29, 2019:BOOST_REQUIRE
instead of throwing?in src/test/util_tests.cpp:694 in 151f3e9cf1
689+// compared against an expected hash. To debug, the result strings can be dumped 690+// to a file (see below). 691+BOOST_FIXTURE_TEST_CASE(util_SettingsMerge, SettingsMergeTestingSetup) 692+{ 693+ CHash256 out_sha; 694+ FILE* out_file = nullptr;
promag commented at 9:45 pm on April 29, 2019:nit,FILE* out_file{nullptr};
in src/test/util_tests.cpp:608 in 151f3e9cf1
603+struct SettingsMergeTestingSetup : public BasicTestingSetup { 604+ //! Max number of actions to sequence together. Can decrease this when 605+ //! debugging to make test results easier to understand. 606+ static constexpr int MAX_ACTIONS = 3; 607+ 608+ enum Action { SET = 0, NEGATE, SECTION_SET, SECTION_NEGATE, END };
promag commented at 9:48 pm on April 29, 2019:Why= 0
since it’s already the default?promag commented at 9:49 pm on April 29, 2019: memberConcept ACK.MarcoFalke commented at 4:14 pm on April 30, 2019: memberGoing to merge this, I think our style-nits can be fixed up later or not at allMarcoFalke merged this on Apr 30, 2019MarcoFalke closed this on Apr 30, 2019
MarcoFalke referenced this in commit 10ed4dff24 on Apr 30, 2019ryanofsky referenced this in commit 87c923c7ca on May 3, 2019ryanofsky referenced this in commit 43d6998991 on May 7, 2019ryanofsky referenced this in commit 83a4467441 on May 8, 2019ryanofsky referenced this in commit 05bfee3451 on May 9, 2019sidhujag referenced this in commit e3fa75447c on May 15, 2019HashUnlimited referenced this in commit 5dc01c6ff9 on Aug 30, 2019laanwj referenced this in commit a7aec7ad97 on Nov 8, 2019sidhujag referenced this in commit 16a52029e7 on Nov 9, 2019deadalnix referenced this in commit eefe53fcf2 on Apr 27, 2020sidhujag referenced this in commit c1677b430c on Nov 10, 2020PastaPastaPasta referenced this in commit bba29576ce on Sep 11, 2021Munkybooty referenced this in commit cf2c167c35 on Oct 12, 2021DrahtBot locked this on Dec 16, 2021
github-metadata-mirror
This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-22 09:12 UTC
This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me