diff --git a/src/logging/timer.h b/src/logging/timer.h index 79627b1fe31a2..80835af5e22d2 100644 --- a/src/logging/timer.h +++ b/src/logging/timer.h @@ -88,11 +88,11 @@ class Timer #define LOG_TIME_MICROS_WITH_CATEGORY(end_msg, log_category) \ - BCLog::Timer PASTE2(logging_timer, __COUNTER__)(__func__, end_msg, log_category) + BCLog::Timer UNIQUE_NAME(logging_timer)(__func__, end_msg, log_category) #define LOG_TIME_MILLIS_WITH_CATEGORY(end_msg, log_category) \ - BCLog::Timer PASTE2(logging_timer, __COUNTER__)(__func__, end_msg, log_category) + BCLog::Timer UNIQUE_NAME(logging_timer)(__func__, end_msg, log_category) #define LOG_TIME_SECONDS(end_msg) \ - BCLog::Timer PASTE2(logging_timer, __COUNTER__)(__func__, end_msg) + BCLog::Timer UNIQUE_NAME(logging_timer)(__func__, end_msg) #endif // BITCOIN_LOGGING_TIMER_H diff --git a/src/sync.h b/src/sync.h index 6a0b87a2c85cd..3712bd9824e5f 100644 --- a/src/sync.h +++ b/src/sync.h @@ -298,15 +298,15 @@ class SCOPED_LOCKABLE SharedLock : public Base } }; -#define REVERSE_LOCK(g) typename std::decay::type::reverse_lock PASTE2(revlock, __COUNTER__)(g, #g, __FILE__, __LINE__) +#define REVERSE_LOCK(g) typename std::decay::type::reverse_lock UNIQUE_NAME(revlock)(g, #g, __FILE__, __LINE__) template using DebugLock = UniqueLock::type>::type>; template using ReadLock = SharedLock::type>::type>; -#define LOCK(cs) DebugLock PASTE2(criticalblock, __COUNTER__)(cs, #cs, __FILE__, __LINE__) -#define READ_LOCK(cs) ReadLock PASTE2(criticalblock, __COUNTER__)(cs, #cs, __FILE__, __LINE__) +#define LOCK(cs) DebugLock UNIQUE_NAME(criticalblock)(cs, #cs, __FILE__, __LINE__) +#define READ_LOCK(cs) ReadLock UNIQUE_NAME(criticalblock)(cs, #cs, __FILE__, __LINE__) #define LOCK2(cs1, cs2) \ DebugLock criticalblock1(cs1, #cs1, __FILE__, __LINE__); \ DebugLock criticalblock2(cs2, #cs2, __FILE__, __LINE__); diff --git a/src/test/util/logging.h b/src/test/util/logging.h index ebe0ecf62331b..f47708839217a 100644 --- a/src/test/util/logging.h +++ b/src/test/util/logging.h @@ -36,6 +36,6 @@ class DebugLogHelper ~DebugLogHelper() { check_found(); } }; -#define ASSERT_DEBUG_LOG(message) DebugLogHelper PASTE2(debugloghelper, __COUNTER__)(message) +#define ASSERT_DEBUG_LOG(message) DebugLogHelper UNIQUE_NAME(debugloghelper)(message) #endif // BITCOIN_TEST_UTIL_LOGGING_H diff --git a/src/util/epochguard.h b/src/util/epochguard.h index 3e63e093daa19..a447f6dbf8d31 100644 --- a/src/util/epochguard.h +++ b/src/util/epochguard.h @@ -7,6 +7,7 @@ #define BITCOIN_UTIL_EPOCHGUARD_H #include +#include #include @@ -96,6 +97,6 @@ class LOCKABLE Epoch } }; -#define WITH_FRESH_EPOCH(epoch) const Epoch::Guard PASTE2(epoch_guard_, __COUNTER__)(epoch) +#define WITH_FRESH_EPOCH(epoch) const Epoch::Guard UNIQUE_NAME(epoch_guard_)(epoch) #endif // BITCOIN_UTIL_EPOCHGUARD_H diff --git a/src/util/macros.h b/src/util/macros.h index 0887c80fd7f1d..3b40a0767e89d 100644 --- a/src/util/macros.h +++ b/src/util/macros.h @@ -8,6 +8,8 @@ #define PASTE(x, y) x ## y #define PASTE2(x, y) PASTE(x, y) +#define UNIQUE_NAME(name) PASTE2(name, __COUNTER__) + /** * Converts the parameter X to a string after macro replacement on X has been performed. * Don't merge these into one macro! diff --git a/test/functional/interface_rest.py b/test/functional/interface_rest.py index faa92e6675937..809134e72d86b 100755 --- a/test/functional/interface_rest.py +++ b/test/functional/interface_rest.py @@ -340,5 +340,9 @@ def run_test(self): json_obj = self.test_rest_request("/chaininfo") assert_equal(json_obj['bestblockhash'], bb_hash) + # Compare with normal RPC getblockchaininfo response + blockchain_info = self.nodes[0].getblockchaininfo() + assert_equal(blockchain_info, json_obj) + if __name__ == '__main__': RESTTest().main()