1

I am running the unit tests from bitcoin source using make check, and would like to debug the tests using LogPrint in the bitcoin source files. I read in the Test Docs that logs are only output to test_framework.log, but I'm unable to locate this file. Where should I be able to find it? Or perhaps there is a better approach?

Michael Folkson
  • 14,337
  • 3
  • 11
  • 45
JBaczuk
  • 7,278
  • 1
  • 11
  • 32

1 Answers1

3

You are confusing the two kinds of tests. Unit tests are compiled into a separate binary and run by make check. Functional tests are testing the RPC commands and have to be run explicitly using the test_runner.py script. test_framework.log is only created by the functional tests. The documentation for the unit tests can be found here.

To print messages in the unit tests, you cannot use LogPrintf. Instead use BOOST_TEST_MESSAGE and BOOST_CHECK_MESSAGE to print messages from the tests. You will have to run the test binary directly (src/test/test_bitcoin) with --log_level=all to see the messages.

To print from the source files themselves, you could use fprintf() and print your messages to stderr.

Andrew Chow
  • 67,209
  • 5
  • 76
  • 149