aboutsummaryrefslogtreecommitdiff
path: root/src/qt/test/optiontests.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qt/test/optiontests.cpp')
-rw-r--r--src/qt/test/optiontests.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/qt/test/optiontests.cpp b/src/qt/test/optiontests.cpp
new file mode 100644
index 0000000000..80d8d77984
--- /dev/null
+++ b/src/qt/test/optiontests.cpp
@@ -0,0 +1,31 @@
+// Copyright (c) 2018 The Bitcoin Core developers
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#include <qt/bitcoin.h>
+#include <qt/test/optiontests.h>
+#include <test/util/setup_common.h>
+#include <util/system.h>
+
+#include <QSettings>
+#include <QTest>
+
+#include <univalue.h>
+
+//! Entry point for BitcoinApplication tests.
+void OptionTests::optionTests()
+{
+ // Test regression https://github.com/bitcoin/bitcoin/issues/24457. Check
+ // if setting an integer prune value causes an exception to be thrown in
+ // the OptionsModel constructor.
+ gArgs.LockSettings([&](util::Settings& settings) {
+ settings.forced_settings.erase("prune");
+ settings.rw_settings["prune"] = 3814;
+ });
+ gArgs.WriteSettingsFile();
+ QVERIFY_EXCEPTION_THROWN(OptionsModel{}, std::runtime_error);
+ gArgs.LockSettings([&](util::Settings& settings) {
+ settings.rw_settings.erase("prune");
+ });
+ gArgs.WriteSettingsFile();
+}