Skip to content

Commit 5eccdab

Browse files
committed
scripted-diff: Replace AddArgs / GetArgs calls with Setting Register / Get calls
This commit is a pure refactoring and does not change behavior in any way. -BEGIN VERIFY SCRIPT- python contrib/devtools/reg-settings.py git add -N src/bench/bench_bitcoin_settings.h src/bitcoin_settings.h src/bitcoin-tx_settings.h src/bitcoin-util_settings.h src/bitcoin-wallet_settings.h src/chainparamsbase_settings.h src/common/args_settings.h src/init/common_settings.h src/init_settings.h src/qt/bitcoin_settings.h src/test/argsman_tests_settings.h src/test/logging_tests_settings.h src/wallet/init_settings.h src/dummywallet_settings.h src/qt/test/optiontests_settings.h src/test/getarg_tests_settings.h git rm contrib/devtools/reg-settings.py -END VERIFY SCRIPT-
1 parent 823ba35 commit 5eccdab

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+2945
-1969
lines changed

contrib/devtools/reg-settings.py

Lines changed: 0 additions & 969 deletions
This file was deleted.

src/addrdb.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
#include <common/settings.h>
1515
#include <cstdint>
1616
#include <hash.h>
17+
#include <init_settings.h>
1718
#include <logging.h>
1819
#include <logging/timer.h>
1920
#include <netbase.h>
@@ -195,7 +196,7 @@ void ReadFromStream(AddrMan& addr, DataStream& ssPeers)
195196

196197
util::Result<std::unique_ptr<AddrMan>> LoadAddrman(const NetGroupManager& netgroupman, const ArgsManager& args)
197198
{
198-
auto check_addrman = std::clamp<int32_t>(args.GetIntArg("-checkaddrman", DEFAULT_ADDRMAN_CONSISTENCY_CHECKS), 0, 1000000);
199+
auto check_addrman = std::clamp<int32_t>(CheckAddrManSetting::Get(args, DEFAULT_ADDRMAN_CONSISTENCY_CHECKS), 0, 1000000);
199200
bool deterministic = HasTestOption(args, "addrman"); // use a deterministic addrman only for tests
200201

201202
auto addrman{std::make_unique<AddrMan>(netgroupman, deterministic, /*consistency_check_ratio=*/check_addrman)};

src/bench/bench_bitcoin.cpp

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22
// Distributed under the MIT software license, see the accompanying
33
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
44

5-
#include <bench/bench_bitcoin_settings.h>
65
#include <bench/bench.h>
6+
#include <bench/bench_bitcoin_settings.h>
77
#include <common/args.h>
88
#include <crypto/sha256.h>
9+
#include <test/util/setup_common.h>
910
#include <tinyformat.h>
1011
#include <util/fs.h>
1112
#include <util/string.h>
12-
#include <test/util/setup_common.h>
1313

1414
#include <chrono>
1515
#include <cstdint>
@@ -24,13 +24,13 @@ static void SetupBenchArgs(ArgsManager& argsman)
2424
SetupHelpOptions(argsman);
2525
SetupCommonTestArgs(argsman);
2626

27-
argsman.AddArg("-asymptote=<n1,n2,n3,...>", "Test asymptotic growth of the runtime of an algorithm, if supported by the benchmark", ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
28-
argsman.AddArg("-filter=<regex>", strprintf("Regular expression filter to select benchmark by name (default: %s)", DEFAULT_BENCH_FILTER), ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
29-
argsman.AddArg("-list", "List benchmarks without executing them", ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
30-
argsman.AddArg("-min-time=<milliseconds>", strprintf("Minimum runtime per benchmark, in milliseconds (default: %d)", DEFAULT_MIN_TIME_MS), ArgsManager::ALLOW_ANY | ArgsManager::DISALLOW_NEGATION, OptionsCategory::OPTIONS);
31-
argsman.AddArg("-output-csv=<output.csv>", "Generate CSV file with the most important benchmark results", ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
32-
argsman.AddArg("-output-json=<output.json>", "Generate JSON file with all benchmark results", ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
33-
argsman.AddArg("-sanity-check", "Run benchmarks for only one iteration with no output", ArgsManager::ALLOW_ANY, OptionsCategory::OPTIONS);
27+
AsymptoteSetting::Register(argsman);
28+
FilterSetting::Register(argsman);
29+
ListSetting::Register(argsman);
30+
MinTimeSetting::Register(argsman);
31+
OutputCsvSetting::Register(argsman);
32+
OutputJsonSetting::Register(argsman);
33+
SanityCheckSetting::Register(argsman);
3434
}
3535

3636
// parses a comma separated list like "10,20,30,50"
@@ -121,13 +121,13 @@ int main(int argc, char** argv)
121121

122122
try {
123123
benchmark::Args args;
124-
args.asymptote = parseAsymptote(argsman.GetArg("-asymptote", ""));
125-
args.is_list_only = argsman.GetBoolArg("-list", false);
126-
args.min_time = std::chrono::milliseconds(argsman.GetIntArg("-min-time", DEFAULT_MIN_TIME_MS));
127-
args.output_csv = argsman.GetPathArg("-output-csv");
128-
args.output_json = argsman.GetPathArg("-output-json");
129-
args.regex_filter = argsman.GetArg("-filter", DEFAULT_BENCH_FILTER);
130-
args.sanity_check = argsman.GetBoolArg("-sanity-check", false);
124+
args.asymptote = parseAsymptote(AsymptoteSetting::Get(argsman));
125+
args.is_list_only = ListSetting::Get(argsman);
126+
args.min_time = std::chrono::milliseconds(MinTimeSetting::Get(argsman));
127+
args.output_csv = OutputCsvSetting::Get(argsman);
128+
args.output_json = OutputJsonSetting::Get(argsman);
129+
args.regex_filter = FilterSetting::Get(argsman);
130+
args.sanity_check = SanityCheckSetting::Get(argsman);
131131
args.setup_args = parseTestSetupArgs(argsman);
132132

133133
benchmark::BenchRunner::RunAll(args);

src/bench/bench_bitcoin_settings.h

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,43 @@
55
#ifndef BITCOIN_BENCH_BENCH_BITCOIN_SETTINGS_H
66
#define BITCOIN_BENCH_BENCH_BITCOIN_SETTINGS_H
77

8+
#include <common/setting.h>
9+
810
#include <cstdint>
911
#include <string>
12+
#include <vector>
1013

1114
static const char* DEFAULT_BENCH_FILTER = ".*";
1215
static constexpr int64_t DEFAULT_MIN_TIME_MS{10};
1316

17+
using AsymptoteSetting = common::Setting<
18+
"-asymptote=<n1,n2,n3,...>", std::string, common::SettingOptions{.legacy = true},
19+
"Test asymptotic growth of the runtime of an algorithm, if supported by the benchmark">;
20+
21+
using FilterSetting = common::Setting<
22+
"-filter=<regex>", std::string, common::SettingOptions{.legacy = true},
23+
"Regular expression filter to select benchmark by name (default: %s)">
24+
::DefaultFn<[] { return DEFAULT_BENCH_FILTER; }>;
25+
26+
using ListSetting = common::Setting<
27+
"-list", bool, common::SettingOptions{.legacy = true},
28+
"List benchmarks without executing them">;
29+
30+
using MinTimeSetting = common::Setting<
31+
"-min-time=<milliseconds>", int64_t, common::SettingOptions{.legacy = true, .disallow_negation = true},
32+
"Minimum runtime per benchmark, in milliseconds (default: %d)">
33+
::Default<DEFAULT_MIN_TIME_MS>;
34+
35+
using OutputCsvSetting = common::Setting<
36+
"-output-csv=<output.csv>", fs::path, common::SettingOptions{.legacy = true},
37+
"Generate CSV file with the most important benchmark results">;
38+
39+
using OutputJsonSetting = common::Setting<
40+
"-output-json=<output.json>", fs::path, common::SettingOptions{.legacy = true},
41+
"Generate JSON file with all benchmark results">;
42+
43+
using SanityCheckSetting = common::Setting<
44+
"-sanity-check", bool, common::SettingOptions{.legacy = true},
45+
"Run benchmarks for only one iteration with no output">;
46+
1447
#endif // BITCOIN_BENCH_BENCH_BITCOIN_SETTINGS_H

0 commit comments

Comments
 (0)