diff options
author | willcl-ark <will@256k1.dev> | 2023-03-09 22:25:01 +0000 |
---|---|---|
committer | willcl-ark <will@256k1.dev> | 2023-03-09 23:24:06 +0000 |
commit | 8fcbdadfad8a9b3143527141ff37e5fe1e87f3b3 (patch) | |
tree | fd1b4f4efd52742bdde34c03e8eeefb60c86d893 /src/test | |
parent | f7bdcfc83f5753349018be3b5a663c8923d1a5eb (diff) |
util: fix argsman dupe key error
fixes #22638
If we find a duplicate key and error, clear `values` before returning so that
WriteSettings will write an empty file, therefore clearing it.
This aligns with GUI behaviour added in 1ee6d0b.
Diffstat (limited to 'src/test')
-rw-r--r-- | src/test/settings_tests.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/test/settings_tests.cpp b/src/test/settings_tests.cpp index 0feb68b9b1..ad12c46561 100644 --- a/src/test/settings_tests.cpp +++ b/src/test/settings_tests.cpp @@ -80,7 +80,7 @@ BOOST_AUTO_TEST_CASE(ReadWrite) BOOST_CHECK(values.empty()); BOOST_CHECK(errors.empty()); - // Check duplicate keys not allowed + // Check duplicate keys not allowed and that values returns empty if a duplicate is found. WriteText(path, R"({ "dupe": "string", "dupe": "dupe" @@ -88,6 +88,7 @@ BOOST_AUTO_TEST_CASE(ReadWrite) BOOST_CHECK(!util::ReadSettings(path, values, errors)); std::vector<std::string> dup_keys = {strprintf("Found duplicate key dupe in settings file %s", fs::PathToString(path))}; BOOST_CHECK_EQUAL_COLLECTIONS(errors.begin(), errors.end(), dup_keys.begin(), dup_keys.end()); + BOOST_CHECK(values.empty()); // Check non-kv json files not allowed WriteText(path, R"("non-kv")"); |