<p>The test framework starts its own bitcoind instances, you don't need to have bitcoind separately.</p>
<p>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</p>
<pre><code>test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status 3 during initialization
</code></pre>
<p>It is not clear why it isn't starting, but a good place to start looking is in the test datadir located at <code>/tmp/test_runner_₿__20220504_123152/cache</code>.</p>

CC BY-SA 4.0
2022-05-04T20:11:37.893Z
2022-05-04T20:11:37.893Z
Ava Chow
<p>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 <code>test/functional/test_runner.py --extended</code> with error <code>AssertionError: [node 0] Error: no RPC connection</code></p>
<p>I'm guessing bitcoind has to be running. If that's the case, do I have to sync it just to run the tests?</p>
<p>Full error:</p>
<pre><code>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 &quot;/usr/src/bitcoin/test/functional/create_cache.py&quot;, line 27, in &lt;module&gt;
    CreateCache().main()
  File &quot;/usr/src/bitcoin/test/functional/test_framework/test_framework.py&quot;, line 156, in main
    exit_code = self.shutdown()
  File &quot;/usr/src/bitcoin/test/functional/test_framework/test_framework.py&quot;, line 311, in shutdown
    self.stop_nodes()
  File &quot;/usr/src/bitcoin/test/functional/test_framework/test_framework.py&quot;, line 567, in stop_nodes
    node.stop_node(wait=wait, wait_until_stopped=False)
  File &quot;/usr/src/bitcoin/test/functional/test_framework/test_node.py&quot;, line 336, in stop_node
    self.stop(wait=wait)
  File &quot;/usr/src/bitcoin/test/functional/test_framework/test_node.py&quot;, line 184, in __getattr__
    assert self.rpc_connected and self.rpc is not None, self._node_msg(&quot;Error: no RPC connection&quot;)
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 &quot;/usr/src/bitcoin/test/functional/test_framework/test_framework.py&quot;, line 132, in main
    self.setup()
  File &quot;/usr/src/bitcoin/test/functional/test_framework/test_framework.py&quot;, line 294, in setup
    self.setup_chain()
  File &quot;/usr/src/bitcoin/test/functional/test_framework/test_framework.py&quot;, line 385, in setup_chain
    self._initialize_chain()
  File &quot;/usr/src/bitcoin/test/functional/test_framework/test_framework.py&quot;, line 777, in _initialize_chain
    self.start_node(CACHE_NODE_ID)
  File &quot;/usr/src/bitcoin/test/functional/test_framework/test_framework.py&quot;, line 534, in start_node
    node.wait_for_rpc_connection()
  File &quot;/usr/src/bitcoin/test/functional/test_framework/test_node.py&quot;, 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 &quot;test/functional/test_runner.py&quot;, line 832, in &lt;module&gt;
    main()
  File &quot;test/functional/test_runner.py&quot;, line 471, in main
    run_tests(
  File &quot;test/functional/test_runner.py&quot;, line 525, in run_tests
    subprocess.check_output([sys.executable, tests_dir + 'create_cache.py'] + flags + [&quot;--tmpdir=%s/cache&quot; % tmpdir])
  File &quot;/usr/lib/python3.8/subprocess.py&quot;, line 415, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File &quot;/usr/lib/python3.8/subprocess.py&quot;, 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.
`\
</code></pre>

<bitcoin-core-development><functional-test>
"Error: no RPC connection" when trying to run Bitcoin Core functional tests
fon
# "Error: no RPC connection" when trying to run Bitcoin Core functional tests

(Asked by: username_0 on 2022-05-04)

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.
`\

```

**Tags:** bitcoin-core-development, functional-test


---

## 1 answers

### Answer by username_1 on 2022-05-04. Score: 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`.


---

