Run functional / regtest tests to test some Electrum ABC RPC commands and the interaction with Fulcrum and the node.
This can be run occasionnaly to test the latest releases of the node and fulcrum still work well together, and called via buildbot when (rarely) a change is made to an Electrum ABC RPC command.
Details
- Reviewers
bytesofman Fabien - Group Reviewers
Restricted Project - Commits
- rABC5f615b3cbdbd: [electrum] add a build configuration for functional tests
@bot electrum-functional-tests
On a machine with docker service running:
./contrib/teamcity/build-configurations.py electrum-functional-tests
Diff Detail
- Repository
- rABC Bitcoin ABC
- Branch
- regtest
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 24510 Build 48619: Build Diff electrum-tests Build 48618: arc lint + arc unit
Event Timeline
Failed tests logs:
====== electrumabc.tests.regtest.test_rpc_misc.top_level_collect ======
electrumabc/tests/regtest/test_rpc_misc.py:None (electrumabc/tests/regtest/test_rpc_misc.py)
/usr/local/lib/python3.9/dist-packages/_pytest/runner.py:341: in from_call
result: Optional[TResult] = func()
/usr/local/lib/python3.9/dist-packages/_pytest/runner.py:372: in <lambda>
call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
/usr/local/lib/python3.9/dist-packages/_pytest/python.py:531: in collect
self._inject_setup_module_fixture()
/usr/local/lib/python3.9/dist-packages/_pytest/python.py:545: in _inject_setup_module_fixture
self.obj, ("setUpModule", "setup_module")
/usr/local/lib/python3.9/dist-packages/_pytest/python.py:310: in obj
self._obj = obj = self._getobj()
/usr/local/lib/python3.9/dist-packages/_pytest/python.py:528: in _getobj
return self._importtestmodule()
/usr/local/lib/python3.9/dist-packages/_pytest/python.py:617: in _importtestmodule
mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
/usr/local/lib/python3.9/dist-packages/_pytest/pathlib.py:565: in import_path
importlib.import_module(module_name)
/usr/lib/python3.9/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1030: in _gcd_import
???
<frozen importlib._bootstrap>:1007: in _find_and_load
???
<frozen importlib._bootstrap>:986: in _find_and_load_unlocked
???
<frozen importlib._bootstrap>:680: in _load_unlocked
???
/usr/local/lib/python3.9/dist-packages/_pytest/assertion/rewrite.py:178: in exec_module
exec(co, module.__dict__)
/work/electrum/electrumabc/tests/regtest/test_rpc_misc.py:7: in <module>
from .util import docker_compose_file # noqa: F401
/work/electrum/electrumabc/tests/regtest/util.py:35: in <module>
json_req: Any | None = None,
E TypeError: unsupported operand type(s) for |: '_SpecialForm' and 'NoneType'
====== electrumabc.tests.regtest.test_rpc_payment_request.top_level_collect ======
electrumabc/tests/regtest/test_rpc_payment_request.py:None (electrumabc/tests/regtest/test_rpc_payment_request.py)
/usr/local/lib/python3.9/dist-packages/_pytest/runner.py:341: in from_call
result: Optional[TResult] = func()
/usr/local/lib/python3.9/dist-packages/_pytest/runner.py:372: in <lambda>
call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
/usr/local/lib/python3.9/dist-packages/_pytest/python.py:531: in collect
self._inject_setup_module_fixture()
/usr/local/lib/python3.9/dist-packages/_pytest/python.py:545: in _inject_setup_module_fixture
self.obj, ("setUpModule", "setup_module")
/usr/local/lib/python3.9/dist-packages/_pytest/python.py:310: in obj
self._obj = obj = self._getobj()
/usr/local/lib/python3.9/dist-packages/_pytest/python.py:528: in _getobj
return self._importtestmodule()
/usr/local/lib/python3.9/dist-packages/_pytest/python.py:617: in _importtestmodule
mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
/usr/local/lib/python3.9/dist-packages/_pytest/pathlib.py:565: in import_path
importlib.import_module(module_name)
/usr/lib/python3.9/importlib/__init__.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1030: in _gcd_import
???
<frozen importlib._bootstrap>:1007: in _find_and_load
???
<frozen importlib._bootstrap>:986: in _find_and_load_unlocked
???
<frozen importlib._bootstrap>:680: in _load_unlocked
???
/usr/local/lib/python3.9/dist-packages/_pytest/assertion/rewrite.py:178: in exec_module
exec(co, module.__dict__)
/work/electrum/electrumabc/tests/regtest/test_rpc_payment_request.py:7: in <module>
from .util import docker_compose_file # noqa: F401
/work/electrum/electrumabc/tests/regtest/util.py:35: in <module>
json_req: Any | None = None,
E TypeError: unsupported operand type(s) for |: '_SpecialForm' and 'NoneType'Each failure log is accessible here:
electrumabc.tests.regtest.test_rpc_misc.top_level_collect
electrumabc.tests.regtest.test_rpc_payment_request.top_level_collect
Failed tests logs:
====== electrumabc.tests.regtest.test_rpc_misc.test_getunusedaddress ======
test setup failed
docker_compose_command = 'docker-compose'
docker_compose_file = '/work/electrum/electrumabc/tests/regtest/docker-compose.yml'
docker_compose_project_name = 'pytest2094', docker_setup = 'up --build -d'
docker_cleanup = 'down -v'
@pytest.fixture(scope="session")
def docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
):
"""Start all services from a docker compose file (`docker-compose up`).
After test are finished, shutdown all services (`docker-compose down`)."""
> with get_docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
) as docker_service:
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:221:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.9/contextlib.py:117: in __enter__
return next(self.gen)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:199: in get_docker_services
docker_compose.execute(docker_setup)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:129: in execute
return execute(command)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
command = 'docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d'
success_codes = (0,)
def execute(command, success_codes=(0,)):
"""Run a shell command."""
try:
output = subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True)
status = 0
except subprocess.CalledProcessError as error:
output = error.output or b""
status = error.returncode
command = error.cmd
if status not in success_codes:
> raise Exception(
'Command {} returned {}: """{}""".'.format(
command, status, output.decode("utf-8")
)
)
E Exception: Command docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d returned 1: """Couldn't connect to Docker daemon at http+docker://localhost - is it running?
E
E If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
E """.
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:24: Exception
====== electrumabc.tests.regtest.test_rpc_misc.test_getservers ======
test setup failed
docker_compose_command = 'docker-compose'
docker_compose_file = '/work/electrum/electrumabc/tests/regtest/docker-compose.yml'
docker_compose_project_name = 'pytest2094', docker_setup = 'up --build -d'
docker_cleanup = 'down -v'
@pytest.fixture(scope="session")
def docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
):
"""Start all services from a docker compose file (`docker-compose up`).
After test are finished, shutdown all services (`docker-compose down`)."""
> with get_docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
) as docker_service:
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:221:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.9/contextlib.py:117: in __enter__
return next(self.gen)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:199: in get_docker_services
docker_compose.execute(docker_setup)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:129: in execute
return execute(command)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
command = 'docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d'
success_codes = (0,)
def execute(command, success_codes=(0,)):
"""Run a shell command."""
try:
output = subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True)
status = 0
except subprocess.CalledProcessError as error:
output = error.output or b""
status = error.returncode
command = error.cmd
if status not in success_codes:
> raise Exception(
'Command {} returned {}: """{}""".'.format(
command, status, output.decode("utf-8")
)
)
E Exception: Command docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d returned 1: """Couldn't connect to Docker daemon at http+docker://localhost - is it running?
E
E If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
E """.
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:24: Exception
====== electrumabc.tests.regtest.test_rpc_misc.test_balance ======
test setup failed
docker_compose_command = 'docker-compose'
docker_compose_file = '/work/electrum/electrumabc/tests/regtest/docker-compose.yml'
docker_compose_project_name = 'pytest2094', docker_setup = 'up --build -d'
docker_cleanup = 'down -v'
@pytest.fixture(scope="session")
def docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
):
"""Start all services from a docker compose file (`docker-compose up`).
After test are finished, shutdown all services (`docker-compose down`)."""
> with get_docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
) as docker_service:
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:221:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.9/contextlib.py:117: in __enter__
return next(self.gen)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:199: in get_docker_services
docker_compose.execute(docker_setup)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:129: in execute
return execute(command)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
command = 'docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d'
success_codes = (0,)
def execute(command, success_codes=(0,)):
"""Run a shell command."""
try:
output = subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True)
status = 0
except subprocess.CalledProcessError as error:
output = error.output or b""
status = error.returncode
command = error.cmd
if status not in success_codes:
> raise Exception(
'Command {} returned {}: """{}""".'.format(
command, status, output.decode("utf-8")
)
)
E Exception: Command docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d returned 1: """Couldn't connect to Docker daemon at http+docker://localhost - is it running?
E
E If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
E """.
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:24: Exception
====== electrumabc.tests.regtest.test_rpc_payment_request.test_addrequest ======
test setup failed
docker_compose_command = 'docker-compose'
docker_compose_file = '/work/electrum/electrumabc/tests/regtest/docker-compose.yml'
docker_compose_project_name = 'pytest2094', docker_setup = 'up --build -d'
docker_cleanup = 'down -v'
@pytest.fixture(scope="session")
def docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
):
"""Start all services from a docker compose file (`docker-compose up`).
After test are finished, shutdown all services (`docker-compose down`)."""
> with get_docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
) as docker_service:
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:221:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.9/contextlib.py:117: in __enter__
return next(self.gen)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:199: in get_docker_services
docker_compose.execute(docker_setup)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:129: in execute
return execute(command)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
command = 'docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d'
success_codes = (0,)
def execute(command, success_codes=(0,)):
"""Run a shell command."""
try:
output = subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True)
status = 0
except subprocess.CalledProcessError as error:
output = error.output or b""
status = error.returncode
command = error.cmd
if status not in success_codes:
> raise Exception(
'Command {} returned {}: """{}""".'.format(
command, status, output.decode("utf-8")
)
)
E Exception: Command docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d returned 1: """Couldn't connect to Docker daemon at http+docker://localhost - is it running?
E
E If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
E """.
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:24: ExceptionEach failure log is accessible here:
electrumabc.tests.regtest.test_rpc_misc.test_getunusedaddress
electrumabc.tests.regtest.test_rpc_misc.test_getservers
electrumabc.tests.regtest.test_rpc_misc.test_balance
electrumabc.tests.regtest.test_rpc_payment_request.test_addrequest
start the docker service (I'm assuming that docker-compose automatically causes the docker engine to be installed)
Failed tests logs:
====== electrumabc.tests.regtest.test_rpc_misc.test_getunusedaddress ======
test setup failed
docker_compose_command = 'docker-compose'
docker_compose_file = '/work/electrum/electrumabc/tests/regtest/docker-compose.yml'
docker_compose_project_name = 'pytest2094', docker_setup = 'up --build -d'
docker_cleanup = 'down -v'
@pytest.fixture(scope="session")
def docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
):
"""Start all services from a docker compose file (`docker-compose up`).
After test are finished, shutdown all services (`docker-compose down`)."""
> with get_docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
) as docker_service:
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:221:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.9/contextlib.py:117: in __enter__
return next(self.gen)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:199: in get_docker_services
docker_compose.execute(docker_setup)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:129: in execute
return execute(command)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
command = 'docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d'
success_codes = (0,)
def execute(command, success_codes=(0,)):
"""Run a shell command."""
try:
output = subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True)
status = 0
except subprocess.CalledProcessError as error:
output = error.output or b""
status = error.returncode
command = error.cmd
if status not in success_codes:
> raise Exception(
'Command {} returned {}: """{}""".'.format(
command, status, output.decode("utf-8")
)
)
E Exception: Command docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d returned 1: """Couldn't connect to Docker daemon at http+docker://localhost - is it running?
E
E If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
E """.
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:24: Exception
====== electrumabc.tests.regtest.test_rpc_misc.test_getservers ======
test setup failed
docker_compose_command = 'docker-compose'
docker_compose_file = '/work/electrum/electrumabc/tests/regtest/docker-compose.yml'
docker_compose_project_name = 'pytest2094', docker_setup = 'up --build -d'
docker_cleanup = 'down -v'
@pytest.fixture(scope="session")
def docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
):
"""Start all services from a docker compose file (`docker-compose up`).
After test are finished, shutdown all services (`docker-compose down`)."""
> with get_docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
) as docker_service:
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:221:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.9/contextlib.py:117: in __enter__
return next(self.gen)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:199: in get_docker_services
docker_compose.execute(docker_setup)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:129: in execute
return execute(command)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
command = 'docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d'
success_codes = (0,)
def execute(command, success_codes=(0,)):
"""Run a shell command."""
try:
output = subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True)
status = 0
except subprocess.CalledProcessError as error:
output = error.output or b""
status = error.returncode
command = error.cmd
if status not in success_codes:
> raise Exception(
'Command {} returned {}: """{}""".'.format(
command, status, output.decode("utf-8")
)
)
E Exception: Command docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d returned 1: """Couldn't connect to Docker daemon at http+docker://localhost - is it running?
E
E If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
E """.
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:24: Exception
====== electrumabc.tests.regtest.test_rpc_misc.test_balance ======
test setup failed
docker_compose_command = 'docker-compose'
docker_compose_file = '/work/electrum/electrumabc/tests/regtest/docker-compose.yml'
docker_compose_project_name = 'pytest2094', docker_setup = 'up --build -d'
docker_cleanup = 'down -v'
@pytest.fixture(scope="session")
def docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
):
"""Start all services from a docker compose file (`docker-compose up`).
After test are finished, shutdown all services (`docker-compose down`)."""
> with get_docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
) as docker_service:
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:221:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.9/contextlib.py:117: in __enter__
return next(self.gen)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:199: in get_docker_services
docker_compose.execute(docker_setup)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:129: in execute
return execute(command)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
command = 'docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d'
success_codes = (0,)
def execute(command, success_codes=(0,)):
"""Run a shell command."""
try:
output = subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True)
status = 0
except subprocess.CalledProcessError as error:
output = error.output or b""
status = error.returncode
command = error.cmd
if status not in success_codes:
> raise Exception(
'Command {} returned {}: """{}""".'.format(
command, status, output.decode("utf-8")
)
)
E Exception: Command docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d returned 1: """Couldn't connect to Docker daemon at http+docker://localhost - is it running?
E
E If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
E """.
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:24: Exception
====== electrumabc.tests.regtest.test_rpc_payment_request.test_addrequest ======
test setup failed
docker_compose_command = 'docker-compose'
docker_compose_file = '/work/electrum/electrumabc/tests/regtest/docker-compose.yml'
docker_compose_project_name = 'pytest2094', docker_setup = 'up --build -d'
docker_cleanup = 'down -v'
@pytest.fixture(scope="session")
def docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
):
"""Start all services from a docker compose file (`docker-compose up`).
After test are finished, shutdown all services (`docker-compose down`)."""
> with get_docker_services(
docker_compose_command,
docker_compose_file,
docker_compose_project_name,
docker_setup,
docker_cleanup,
) as docker_service:
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:221:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.9/contextlib.py:117: in __enter__
return next(self.gen)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:199: in get_docker_services
docker_compose.execute(docker_setup)
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:129: in execute
return execute(command)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
command = 'docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d'
success_codes = (0,)
def execute(command, success_codes=(0,)):
"""Run a shell command."""
try:
output = subprocess.check_output(command, stderr=subprocess.STDOUT, shell=True)
status = 0
except subprocess.CalledProcessError as error:
output = error.output or b""
status = error.returncode
command = error.cmd
if status not in success_codes:
> raise Exception(
'Command {} returned {}: """{}""".'.format(
command, status, output.decode("utf-8")
)
)
E Exception: Command docker-compose -f "/work/electrum/electrumabc/tests/regtest/docker-compose.yml" -p "pytest2094" up --build -d returned 1: """Couldn't connect to Docker daemon at http+docker://localhost - is it running?
E
E If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
E """.
/usr/local/lib/python3.9/dist-packages/pytest_docker/plugin.py:24: ExceptionEach failure log is accessible here:
electrumabc.tests.regtest.test_rpc_misc.test_getunusedaddress
electrumabc.tests.regtest.test_rpc_misc.test_getservers
electrumabc.tests.regtest.test_rpc_misc.test_balance
electrumabc.tests.regtest.test_rpc_payment_request.test_addrequest
running on local machine,
./contrib/teamcity/build-configurations.py electrum-functional-tests gives
============================= test session starts ==============================
platform linux -- Python 3.10.6, pytest-7.2.2, pluggy-1.0.0
rootdir: /home/joey/github/abc/bitcoin-abc/electrum
plugins: teamcity-messages-1.32
collected 0 items / 2 errors
==================================== ERRORS ====================================
_________ ERROR collecting electrumabc/tests/regtest/test_rpc_misc.py __________
ImportError while importing test module '/home/joey/github/abc/bitcoin-abc/electrum/electrumabc/tests/regtest/test_rpc_misc.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.10/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
../../electrum/electrumabc/tests/regtest/test_rpc_misc.py:4: in <module>
from jsonrpcclient import request
E ModuleNotFoundError: No module named 'jsonrpcclient'
____ ERROR collecting electrumabc/tests/regtest/test_rpc_payment_request.py ____
ImportError while importing test module '/home/joey/github/abc/bitcoin-abc/electrum/electrumabc/tests/regtest/test_rpc_payment_request.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
/usr/lib/python3.10/importlib/__init__.py:126: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
../../electrum/electrumabc/tests/regtest/test_rpc_payment_request.py:4: in <module>
from jsonrpcclient import request
E ModuleNotFoundError: No module named 'jsonrpcclient'
=========================== short test summary info ============================
ERROR ../../electrum/electrumabc/tests/regtest/test_rpc_misc.py
ERROR ../../electrum/electrumabc/tests/regtest/test_rpc_payment_request.py
!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!!
============================== 2 errors in 0.05s ===============================
Build electrum-functional-tests failed with exit code 2is this expected behavior / some issue with my version of python?
You are missing the additional python dependencies: pip3 install -r electrum/contrib/requirements/requirements-regtest.txt
They are not automatically installed by the buildbot command. I'm adding it to the test plan.
You will also need docker and docker-compose, if you don't already have them.
============================= test session starts ============================== platform linux -- Python 3.10.6, pytest-7.2.2, pluggy-1.0.0 rootdir: /home/bytesofman/github/abc/bitcoin-abc/electrum plugins: teamcity-messages-1.32, docker-1.0.1 collected 4 items ../../electrum/electrumabc/tests/regtest/test_rpc_misc.py ... [ 75%] ../../electrum/electrumabc/tests/regtest/test_rpc_payment_request.py . [100%] ============================== 4 passed in 51.62s ============================== Build electrum-functional-tests completed successfully