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 24527 Build 48653: Build Diff Build 48652: 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: Exception
Each 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: Exception
Each 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 2
is 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