1

I'm using WSL on Windows 10. I'm able to build from source and run the unit tests. Integration tests are failing for me when I run test/functional/test_runner.py --extended with error AssertionError: [node 0] Error: no RPC connection

I'm guessing bitcoind has to be running. If that's the case, do I have to sync it just to run the tests?

Full error:

Temporary test directory at /tmp/test_runner_₿_🏃_20220504_123152
Running Unit Tests for Test Framework Modules
..........
----------------------------------------------------------------------
Ran 10 tests in 0.614s

OK
Traceback (most recent call last):
  File "/usr/src/bitcoin/test/functional/create_cache.py", line 27, in <module>
    CreateCache().main()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 156, in main
    exit_code = self.shutdown()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 311, in shutdown
    self.stop_nodes()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 567, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File "/usr/src/bitcoin/test/functional/test_framework/test_node.py", line 336, in stop_node
    self.stop(wait=wait)
  File "/usr/src/bitcoin/test/functional/test_framework/test_node.py", line 184, in __getattr__
    assert self.rpc_connected and self.rpc is not None, self._node_msg("Error: no RPC connection")
AssertionError: [node 0] Error: no RPC connection
2022-05-04T19:31:53.315000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20220504_123152/cache
2022-05-04T19:31:56.079000Z TestFramework (ERROR): Unexpected exception caught during testing
Traceback (most recent call last):
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 132, in main
    self.setup()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 294, in setup
    self.setup_chain()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 385, in setup_chain
    self._initialize_chain()
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 777, in _initialize_chain
    self.start_node(CACHE_NODE_ID)
  File "/usr/src/bitcoin/test/functional/test_framework/test_framework.py", line 534, in start_node
    node.wait_for_rpc_connection()
  File "/usr/src/bitcoin/test/functional/test_framework/test_node.py", line 225, in wait_for_rpc_connection
    raise FailedToStartError(self._node_msg(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status 3 during initialization
2022-05-04T19:31:56.133000Z TestFramework (INFO): Stopping nodes
[node 0] Cleaning up leftover process
Traceback (most recent call last):
  File "test/functional/test_runner.py", line 832, in <module>
    main()
  File "test/functional/test_runner.py", line 471, in main
    run_tests(
  File "test/functional/test_runner.py", line 525, in run_tests
    subprocess.check_output([sys.executable, tests_dir + 'create_cache.py'] + flags + ["--tmpdir=%s/cache" % tmpdir])
  File "/usr/lib/python3.8/subprocess.py", line 415, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib/python3.8/subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['/usr/bin/python3', '/usr/src/bitcoin/test/functional/create_cache.py', '--cachedir=/usr/src/bitcoin/test/cache', '--configfile=/usr/src/bitcoin/test/functional/../config.ini', '--tmpdir=/tmp/test_runner_₿_🏃_20220504_123152/cache']' returned non-zero exit status 1.
`\

1 Answer 1

2

The test framework starts its own bitcoind instances, you don't need to have bitcoind separately.

This error is an indication that a bitcoind is failing to start when test framework tries to start it. If you look at the full output, you'll see that it is actually a combination of multiple errors. The line that actually matters is

test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status 3 during initialization

It is not clear why it isn't starting, but a good place to start looking is in the test datadir located at /tmp/test_runner_₿_🏃_20220504_123152/cache.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.