aboutsummaryrefslogtreecommitdiff
path: root/src/test/test_bitcoin.cpp
diff options
context:
space:
mode:
authorJackson Palmer <[email protected]>2014-01-19 15:41:55 +1100
committerJackson Palmer <[email protected]>2014-01-19 15:41:55 +1100
commit68b0507f00ee29bcf29f3c992a882c712f990da6 (patch)
tree3140d6000b9018767e91069ccd83b0bad3e256f5 /src/test/test_bitcoin.cpp
downloaddiscoin-68b0507f00ee29bcf29f3c992a882c712f990da6.tar.xz
discoin-68b0507f00ee29bcf29f3c992a882c712f990da6.zip
Initial commit
Successfully building on Ubuntu + Windows.
Diffstat (limited to 'src/test/test_bitcoin.cpp')
-rw-r--r--src/test/test_bitcoin.cpp66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/test/test_bitcoin.cpp b/src/test/test_bitcoin.cpp
new file mode 100644
index 000000000..bb02a83a7
--- /dev/null
+++ b/src/test/test_bitcoin.cpp
@@ -0,0 +1,66 @@
+#define BOOST_TEST_MODULE Litecoin Test Suite
+#include <boost/test/unit_test.hpp>
+#include <boost/filesystem.hpp>
+
+#include "db.h"
+#include "txdb.h"
+#include "main.h"
+#include "wallet.h"
+#include "util.h"
+
+CWallet* pwalletMain;
+CClientUIInterface uiInterface;
+
+extern bool fPrintToConsole;
+extern void noui_connect();
+
+struct TestingSetup {
+ CCoinsViewDB *pcoinsdbview;
+ boost::filesystem::path pathTemp;
+ boost::thread_group threadGroup;
+
+ TestingSetup() {
+ fPrintToDebugger = true; // don't want to write to debug.log file
+ noui_connect();
+ bitdb.MakeMock();
+ pathTemp = GetTempPath() / strprintf("test_litecoin_%lu_%i", (unsigned long)GetTime(), (int)(GetRand(100000)));
+ boost::filesystem::create_directories(pathTemp);
+ mapArgs["-datadir"] = pathTemp.string();
+ pblocktree = new CBlockTreeDB(1 << 20, true);
+ pcoinsdbview = new CCoinsViewDB(1 << 23, true);
+ pcoinsTip = new CCoinsViewCache(*pcoinsdbview);
+ InitBlockIndex();
+ bool fFirstRun;
+ pwalletMain = new CWallet("wallet.dat");
+ pwalletMain->LoadWallet(fFirstRun);
+ RegisterWallet(pwalletMain);
+ nScriptCheckThreads = 3;
+ for (int i=0; i < nScriptCheckThreads-1; i++)
+ threadGroup.create_thread(&ThreadScriptCheck);
+ }
+ ~TestingSetup()
+ {
+ threadGroup.interrupt_all();
+ threadGroup.join_all();
+ delete pwalletMain;
+ pwalletMain = NULL;
+ delete pcoinsTip;
+ delete pcoinsdbview;
+ delete pblocktree;
+ bitdb.Flush(true);
+ boost::filesystem::remove_all(pathTemp);
+ }
+};
+
+BOOST_GLOBAL_FIXTURE(TestingSetup);
+
+void Shutdown(void* parg)
+{
+ exit(0);
+}
+
+void StartShutdown()
+{
+ exit(0);
+}
+