aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2023-01-27 09:26:29 +0000
committerHennadii Stepanov <32963518+hebasto@users.noreply.github.com>2023-01-27 09:26:29 +0000
commit7a820cee0e6408f5848799011d82dd29ee7fa8c5 (patch)
treea840e2cbc6c62ffd43e7a51e99b2163c31cd6425
parent835212cd1d8f8fc7f19775f5ff8cc21c099122b2 (diff)
downloadbitcoin-7a820cee0e6408f5848799011d82dd29ee7fa8c5.tar.xz
test, build: Separate `read_json` function into its own module
-rw-r--r--src/Makefile.test_util.include2
-rw-r--r--src/test/base58_tests.cpp3
-rw-r--r--src/test/key_io_tests.cpp3
-rw-r--r--src/test/script_tests.cpp13
-rw-r--r--src/test/sighash_tests.cpp3
-rw-r--r--src/test/transaction_tests.cpp4
-rw-r--r--src/test/util/json.cpp17
-rw-r--r--src/test/util/json.h14
8 files changed, 38 insertions, 21 deletions
diff --git a/src/Makefile.test_util.include b/src/Makefile.test_util.include
index a4e8b3f842..8496b3698a 100644
--- a/src/Makefile.test_util.include
+++ b/src/Makefile.test_util.include
@@ -10,6 +10,7 @@ EXTRA_LIBRARIES += \
TEST_UTIL_H = \
test/util/blockfilter.h \
test/util/chainstate.h \
+ test/util/json.h \
test/util/logging.h \
test/util/mining.h \
test/util/net.h \
@@ -28,6 +29,7 @@ libtest_util_a_CPPFLAGS = $(AM_CPPFLAGS) $(BITCOIN_INCLUDES) $(BOOST_CPPFLAGS)
libtest_util_a_CXXFLAGS = $(AM_CXXFLAGS) $(PIE_FLAGS)
libtest_util_a_SOURCES = \
test/util/blockfilter.cpp \
+ test/util/json.cpp \
test/util/logging.cpp \
test/util/mining.cpp \
test/util/net.cpp \
diff --git a/src/test/base58_tests.cpp b/src/test/base58_tests.cpp
index 0101bcc372..601caf8102 100644
--- a/src/test/base58_tests.cpp
+++ b/src/test/base58_tests.cpp
@@ -5,6 +5,7 @@
#include <test/data/base58_encode_decode.json.h>
#include <base58.h>
+#include <test/util/json.h>
#include <test/util/setup_common.h>
#include <util/strencodings.h>
#include <util/vector.h>
@@ -16,8 +17,6 @@
using namespace std::literals;
-UniValue read_json(const std::string& jsondata);
-
BOOST_FIXTURE_TEST_SUITE(base58_tests, BasicTestingSetup)
// Goal: test low-level base58 encoding functionality
diff --git a/src/test/key_io_tests.cpp b/src/test/key_io_tests.cpp
index fb0a07934d..a400afee71 100644
--- a/src/test/key_io_tests.cpp
+++ b/src/test/key_io_tests.cpp
@@ -8,6 +8,7 @@
#include <key.h>
#include <key_io.h>
#include <script/script.h>
+#include <test/util/json.h>
#include <test/util/setup_common.h>
#include <util/strencodings.h>
@@ -15,8 +16,6 @@
#include <univalue.h>
-UniValue read_json(const std::string& jsondata);
-
BOOST_FIXTURE_TEST_SUITE(key_io_tests, BasicTestingSetup)
// Goal: check that parsed keys match test payload
diff --git a/src/test/script_tests.cpp b/src/test/script_tests.cpp
index d4cede8f7c..22f6cfd164 100644
--- a/src/test/script_tests.cpp
+++ b/src/test/script_tests.cpp
@@ -15,6 +15,7 @@
#include <script/sign.h>
#include <script/signingprovider.h>
#include <streams.h>
+#include <test/util/json.h>
#include <test/util/setup_common.h>
#include <test/util/transaction_utils.h>
#include <util/strencodings.h>
@@ -41,18 +42,6 @@ static const unsigned int gFlags = SCRIPT_VERIFY_P2SH | SCRIPT_VERIFY_STRICTENC;
unsigned int ParseScriptFlags(std::string strFlags);
std::string FormatScriptFlags(unsigned int flags);
-UniValue read_json(const std::string& jsondata)
-{
- UniValue v;
-
- if (!v.read(jsondata) || !v.isArray())
- {
- BOOST_ERROR("Parse error.");
- return UniValue(UniValue::VARR);
- }
- return v.get_array();
-}
-
struct ScriptErrorDesc
{
ScriptError_t err;
diff --git a/src/test/sighash_tests.cpp b/src/test/sighash_tests.cpp
index 1ce694b8c6..368f9e6047 100644
--- a/src/test/sighash_tests.cpp
+++ b/src/test/sighash_tests.cpp
@@ -10,6 +10,7 @@
#include <serialize.h>
#include <streams.h>
#include <test/data/sighash.json.h>
+#include <test/util/json.h>
#include <test/util/setup_common.h>
#include <util/strencodings.h>
#include <util/system.h>
@@ -21,8 +22,6 @@
#include <univalue.h>
-UniValue read_json(const std::string& jsondata);
-
// Old script.cpp SignatureHash function
uint256 static SignatureHashOld(CScript scriptCode, const CTransaction& txTo, unsigned int nIn, int nHashType)
{
diff --git a/src/test/transaction_tests.cpp b/src/test/transaction_tests.cpp
index 69b03e07bf..d00de9df9b 100644
--- a/src/test/transaction_tests.cpp
+++ b/src/test/transaction_tests.cpp
@@ -21,6 +21,7 @@
#include <script/signingprovider.h>
#include <script/standard.h>
#include <streams.h>
+#include <test/util/json.h>
#include <test/util/script.h>
#include <test/util/transaction_utils.h>
#include <util/strencodings.h>
@@ -37,9 +38,6 @@
typedef std::vector<unsigned char> valtype;
-// In script_tests.cpp
-UniValue read_json(const std::string& jsondata);
-
static CFeeRate g_dust{DUST_RELAY_TX_FEE};
static bool g_bare_multi{DEFAULT_PERMIT_BAREMULTISIG};
diff --git a/src/test/util/json.cpp b/src/test/util/json.cpp
new file mode 100644
index 0000000000..ad3c346c84
--- /dev/null
+++ b/src/test/util/json.cpp
@@ -0,0 +1,17 @@
+// Copyright (c) 2023 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 <test/util/json.h>
+
+#include <string>
+#include <util/check.h>
+
+#include <univalue.h>
+
+UniValue read_json(const std::string& jsondata)
+{
+ UniValue v;
+ Assert(v.read(jsondata) && v.isArray());
+ return v.get_array();
+}
diff --git a/src/test/util/json.h b/src/test/util/json.h
new file mode 100644
index 0000000000..5b1026762e
--- /dev/null
+++ b/src/test/util/json.h
@@ -0,0 +1,14 @@
+// Copyright (c) 2023 The Bitcoin Core developers
+// Distributed under the MIT software license, see the accompanying
+// file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+#ifndef BITCOIN_TEST_UTIL_JSON_H
+#define BITCOIN_TEST_UTIL_JSON_H
+
+#include <string>
+
+#include <univalue.h>
+
+UniValue read_json(const std::string& jsondata);
+
+#endif // BITCOIN_TEST_UTIL_JSON_H