From 54d02f158d79b078ed9afdca5e37241101b040cd Mon Sep 17 00:00:00 2001
From: Gavin Andresen <gavinandresen@gmail.com>
Date: Thu, 15 Sep 2011 08:55:15 -0400
Subject: SetMockTime() for cleaner unit testing

---
 src/util.cpp | 9 +++++++++
 src/util.h   | 1 +
 2 files changed, 10 insertions(+)

(limited to 'src')

diff --git a/src/util.cpp b/src/util.cpp
index 76a2700271..14ca87b62e 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -815,11 +815,20 @@ void ShrinkDebugFile()
 //  - Median of other nodes's clocks
 //  - The user (asking the user to fix the system clock if the first two disagree)
 //
+static int64 nMockTime = 0;  // For unit testing
+
 int64 GetTime()
 {
+    if (nMockTime) return nMockTime;
+
     return time(NULL);
 }
 
+void SetMockTime(int64 nMockTimeIn)
+{
+    nMockTime = nMockTimeIn;
+}
+
 static int64 nTimeOffset = 0;
 
 int64 GetAdjustedTime()
diff --git a/src/util.h b/src/util.h
index 3d7ef108b4..658d10e1eb 100644
--- a/src/util.h
+++ b/src/util.h
@@ -199,6 +199,7 @@ void ShrinkDebugFile();
 int GetRandInt(int nMax);
 uint64 GetRand(uint64 nMax);
 int64 GetTime();
+void SetMockTime(int64 nMockTimeIn);
 int64 GetAdjustedTime();
 void AddTimeData(unsigned int ip, int64 nTime);
 std::string FormatFullVersion();
-- 
cgit v1.2.3