How to implement a MultiChain test framework

+1 vote
How can I a implement a testing framework for MultiChain? I see that there is a framework in bitcoin and since MultiChain is a fork of bitcoin I would expect there is one in MultiChain (there are even some references in make files).

Has this framework been removed or replaced to some different project or something?
asked May 24, 2017 by klikooo1
edited May 25, 2017 by klikooo1

1 Answer

0 votes
We have our own very extensive internal suite of tests, but I'm afraid these aren't yet ready for public consumption, because they include code to manage large networks of server instances and nodes in the cloud.
answered May 24, 2017 by MultiChain
Do you have any tips on how I can add such a framework? Right now I'm stuck with compiling a unit test. Right now I just try to compile against almost all build static libraries:

g++ test1.o ../libbitcoin_common.a ../secp256k1/.libs/libsecp256k1.a ../libbitcoin_util.a -I../ -lcryptopp -lcrypto -lboost_thread -lboost_filesystem -lboost_system -lboost_program_options -lpthread ../crypto/libbitcoin_crypto.a ../multichain/libbitcoin_multichain.a ../leveldb/libleveldb.a ../leveldb/libmemenv.a  ../libbitcoin_server.a ../.libs/libbitcoinconsensus.a ../libbitcoin_cli.a ../libbitcoin_wallet.a

But this gives me a few undefined references, for example:

../libbitcoin_util.a(libbitcoin_util_a-util.o): In function `GetDataDir(bool)':
/multichain/src/utils/util.cpp:471: undefined reference to `mc_gState'

The test only creates a CKey object and calls MakeNewKey()
I'm afraid we can't provide support in this Q&A forum for people working directly with the MultiChain source code.