12:38:08 Triggered by Gerrit: https://git.opendaylight.org/gerrit/c/transportpce/+/126179 12:38:08 Running as SYSTEM 12:38:08 [EnvInject] - Loading node environment variables. 12:38:08 Building remotely on prd-ubuntu2204-docker-4c-16g-8401 (ubuntu2204-docker-4c-16g) in workspace /w/workspace/transportpce-tox-verify-transportpce-master 12:38:08 [ssh-agent] Looking for ssh-agent implementation... 12:38:08 [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) 12:38:08 $ ssh-agent 12:38:08 SSH_AUTH_SOCK=/tmp/ssh-XXXXXX6lAsyw/agent.1553 12:38:08 SSH_AGENT_PID=1555 12:38:08 [ssh-agent] Started. 12:38:08 Running ssh-add (command line suppressed) 12:38:08 Identity added: /w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_11263697700457258130.key (/w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_11263697700457258130.key) 12:38:08 [ssh-agent] Using credentials jenkins (jenkins-ssh) 12:38:08 The recommended git tool is: NONE 12:38:11 using credential jenkins-ssh 12:38:11 Wiping out workspace first. 12:38:11 Cloning the remote Git repository 12:38:11 Cloning repository git://devvexx.opendaylight.org/mirror/transportpce 12:38:11 > git init /w/workspace/transportpce-tox-verify-transportpce-master # timeout=10 12:38:11 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce 12:38:11 > git --version # timeout=10 12:38:11 > git --version # 'git version 2.34.1' 12:38:11 using GIT_SSH to set credentials jenkins-ssh 12:38:11 Verifying host key using known hosts file, will automatically accept unseen keys 12:38:11 > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce +refs/heads/*:refs/remotes/origin/* # timeout=10 12:38:18 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 12:38:18 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 12:38:18 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 12:38:18 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce 12:38:18 using GIT_SSH to set credentials jenkins-ssh 12:38:18 Verifying host key using known hosts file, will automatically accept unseen keys 12:38:18 > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce refs/changes/79/126179/1 # timeout=10 12:38:19 > git rev-parse 8633e1b0239072a3d941194fd503dcaa22169e85^{commit} # timeout=10 12:38:19 JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://plugins.jenkins.io/git/#remove-git-plugin-buildsbybranch-builddata-script 12:38:19 Checking out Revision 8633e1b0239072a3d941194fd503dcaa22169e85 (refs/changes/79/126179/1) 12:38:19 > git config core.sparsecheckout # timeout=10 12:38:19 > git checkout -f 8633e1b0239072a3d941194fd503dcaa22169e85 # timeout=10 12:38:19 Commit message: "TAPI - Consolidate topology datastore writes" 12:38:19 > git rev-parse FETCH_HEAD^{commit} # timeout=10 12:38:19 > git rev-list --no-walk 96b2685483a9c056451ca06aea13738d262df099 # timeout=10 12:38:19 > git remote # timeout=10 12:38:19 > git submodule init # timeout=10 12:38:19 > git submodule sync # timeout=10 12:38:19 > git config --get remote.origin.url # timeout=10 12:38:19 > git submodule init # timeout=10 12:38:19 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 12:38:19 ERROR: No submodules found. 12:38:23 provisioning config files... 12:38:23 copy managed file [npmrc] to file:/home/jenkins/.npmrc 12:38:23 copy managed file [pipconf] to file:/home/jenkins/.config/pip/pip.conf 12:38:23 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins14146670152844206719.sh 12:38:23 ---> python-tools-install.sh 12:38:23 Setup pyenv: 12:38:23 * system (set by /opt/pyenv/version) 12:38:23 * 3.8.20 (set by /opt/pyenv/version) 12:38:23 * 3.9.20 (set by /opt/pyenv/version) 12:38:23 3.10.15 12:38:23 3.11.10 12:38:27 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-jUCY 12:38:27 lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv 12:38:27 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 12:38:28 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/pip/ 12:38:29 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/setuptools/65.7.0/setuptools-65.7.0-py3-none-any.whl 12:38:29 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/setuptools/65.7.0/setuptools-65.7.0-py3-none-any.whl 12:38:30 WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/setuptools/65.7.0/setuptools-65.7.0-py3-none-any.whl 12:38:32 WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/setuptools/65.7.0/setuptools-65.7.0-py3-none-any.whl 12:38:37 WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/setuptools/65.7.0/setuptools-65.7.0-py3-none-any.whl 12:38:37 ERROR: Could not install packages due to an OSError: HTTPSConnectionPool(host='nexus3.opendaylight.org', port=443): Max retries exceeded with url: /repository/PyPi/packages/setuptools/65.7.0/setuptools-65.7.0-py3-none-any.whl (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))) 12:38:37 12:38:37 lf-venv-pip-install(): WARNING: install failed from the configured index, retrying against https://pypi.org/simple 12:38:41 lf-activate-venv(): INFO: Installing additional packages: lftools 12:38:41 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/lftools/ 12:38:42 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/lftools/ 12:38:43 WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/lftools/ 12:38:45 WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/lftools/ 12:38:49 WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/lftools/ 12:38:52 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/lxml/6.1.3/lxml-6.1.3-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl 12:38:52 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/lxml/6.1.3/lxml-6.1.3-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl 12:38:54 WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/lxml/6.1.3/lxml-6.1.3-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl 12:38:56 WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/lxml/6.1.3/lxml-6.1.3-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl 12:39:01 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/pyrsistent/0.20.0/pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 12:39:02 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/pyrsistent/0.20.0/pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 12:39:03 WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/pyrsistent/0.20.0/pyrsistent-0.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 12:39:03 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/python-jenkins/ 12:39:03 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/python-jenkins/ 12:39:04 WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/python-jenkins/ 12:39:08 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'RemoteDisconnected('Remote end closed connection without response')': /repository/PyPi/packages/psutil/7.2.2/psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl 12:39:09 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/cffi/2.1.1/cffi-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl 12:39:09 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/cffi/2.1.1/cffi-2.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl 12:39:10 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/charset-normalizer/3.5.1/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 12:39:11 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/charset-normalizer/3.5.1/charset_normalizer-3.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl 12:39:21 lf-activate-venv(): INFO: Adding /tmp/venv-jUCY/bin to PATH 12:39:21 Generating Requirements File 12:39:23 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/setuptools/65.7.0/setuptools-65.7.0-py3-none-any.whl 12:39:24 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/packages/setuptools/65.7.0/setuptools-65.7.0-py3-none-any.whl 12:39:47 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. 12:39:47 httplib2 0.30.2 requires pyparsing<4,>=3.0.4, but you have pyparsing 2.4.7 which is incompatible. 12:39:47 Python 3.11.10 12:39:47 pip 26.2.1 from /tmp/venv-jUCY/lib/python3.11/site-packages/pip (python 3.11) 12:39:48 aiohappyeyeballs==2.7.1 12:39:48 aiohttp==3.14.3 12:39:48 aiosignal==1.4.0 12:39:48 appdirs==1.4.4 12:39:48 argcomplete==3.7.2 12:39:48 aspy.yaml==1.3.0 12:39:48 attrs==26.1.0 12:39:48 autopage==0.6.0 12:39:48 beautifulsoup4==4.15.0 12:39:48 boto3==1.43.94 12:39:48 botocore==1.43.94 12:39:48 bs4==0.0.2 12:39:48 certifi==2026.7.22 12:39:48 cffi==2.1.1 12:39:48 cfgv==3.5.0 12:39:48 chardet==7.6.0 12:39:48 charset-normalizer==3.5.1 12:39:48 click==8.5.0 12:39:48 cliff==4.16.0 12:39:48 cmd2==4.2.4 12:39:48 cryptography==3.3.2 12:39:48 debtcollector==3.1.0 12:39:48 decorator==5.3.1 12:39:48 defusedxml==0.7.1 12:39:48 Deprecated==1.3.1 12:39:48 distlib==0.4.3 12:39:48 dnspython==2.8.0 12:39:48 docker==7.2.0 12:39:48 dogpile.cache==1.5.0 12:39:48 durationpy==0.11 12:39:48 email-validator==2.3.0 12:39:48 filelock==3.32.6 12:39:48 frozenlist==1.8.0 12:39:48 future==1.0.0 12:39:48 gitdb==4.0.12 12:39:48 GitPython==3.1.62 12:39:48 httplib2==0.30.2 12:39:48 identify==2.6.19 12:39:48 idna==3.19 12:39:48 importlib-resources==1.5.0 12:39:48 iso8601==2.1.0 12:39:48 Jinja2==3.1.6 12:39:48 jmespath==1.1.0 12:39:48 jsonpatch==1.33 12:39:48 jsonpointer==3.1.1 12:39:48 jsonschema==4.26.0 12:39:48 jsonschema-specifications==2025.9.1 12:39:48 keystoneauth1==5.17.0 12:39:48 kubernetes==36.0.3 12:39:48 lftools==0.37.23 12:39:48 lxml==6.1.3 12:39:48 markdown-it-py==4.2.0 12:39:48 MarkupSafe==3.0.3 12:39:48 mdurl==0.1.2 12:39:48 msgpack==1.2.2 12:39:48 multi_key_dict==2.0.3 12:39:48 multidict==6.8.0 12:39:48 munch==4.0.0 12:39:48 netaddr==1.3.0 12:39:48 niet==1.4.2 12:39:48 nodeenv==1.10.0 12:39:48 oauth2client==4.1.3 12:39:48 oauthlib==3.3.1 12:39:48 openstacksdk==4.20.0 12:39:48 os-service-types==1.9.0 12:39:48 osc-lib==4.7.0 12:39:48 oslo.config==10.7.0 12:39:48 oslo.context==6.5.0 12:39:48 oslo.i18n==6.9.0 12:39:48 oslo.log==8.3.2 12:39:48 oslo.serialization==5.11.0 12:39:48 oslo.utils==10.2.0 12:39:48 packaging==26.3 12:39:48 pbr==7.0.3 12:39:48 platformdirs==4.11.8 12:39:48 prettytable==3.18.0 12:39:48 prompt_toolkit==3.0.53 12:39:48 propcache==0.5.2 12:39:48 psutil==7.2.2 12:39:48 pyasn1==0.6.4 12:39:48 pyasn1_modules==0.4.2 12:39:48 pycparser==3.0 12:39:48 pygerrit2==2.0.15 12:39:48 PyGithub==2.10.0 12:39:48 Pygments==2.21.0 12:39:48 PyJWT==2.14.0 12:39:48 PyNaCl==1.6.2 12:39:48 pyparsing==2.4.7 12:39:48 pyperclip==1.11.0 12:39:48 pyrsistent==0.20.0 12:39:48 python-dateutil==2.9.0.post0 12:39:48 python-discovery==1.6.0 12:39:48 python-heatclient==5.3.0 12:39:48 python-jenkins==1.8.3 12:39:48 python-keystoneclient==6.0.0 12:39:48 python-magnumclient==5.0.0 12:39:48 python-manilaclient==6.3.0 12:39:48 python-openstackclient==10.3.0 12:39:48 python-swiftclient==4.11.0 12:39:48 PyYAML==6.0.3 12:39:48 referencing==0.37.0 12:39:48 requests==2.34.2 12:39:48 requests-oauthlib==2.0.0 12:39:48 rfc3986==2.0.0 12:39:48 rich==15.0.0 12:39:48 rich-argparse==1.8.0 12:39:48 rpds-py==2026.6.3 12:39:48 rsa==4.9.1 12:39:48 ruamel.yaml==0.19.1 12:39:48 ruamel.yaml.clib==0.2.15 12:39:48 s3transfer==0.19.2 12:39:48 simplejson==4.1.2 12:39:48 six==1.17.0 12:39:48 smmap==5.0.3 12:39:48 soupsieve==2.9.2 12:39:48 stevedore==5.9.1 12:39:48 tabulate==0.10.0 12:39:48 toml==0.10.2 12:39:48 tomlkit==0.15.1 12:39:48 tqdm==4.70.1 12:39:48 typing_extensions==4.16.0 12:39:48 urllib3==1.26.20 12:39:48 virtualenv==21.7.9 12:39:48 wcwidth==0.8.3 12:39:48 websocket-client==1.9.2 12:39:48 wrapt==2.4.1 12:39:48 xdg==6.0.0 12:39:48 xmltodict==1.0.4 12:39:48 yarl==1.24.5 12:39:48 yq==4.1.2 12:39:48 [transportpce-tox-verify-transportpce-master] $ /bin/sh /tmp/jenkins11363290827539746870.sh 12:39:48 ---> uv-install.sh 12:39:48 Installing uv/uvx (latest) using shell installer 12:39:48 2026-09-15 12:39:48 URL:https://releases.astral.sh/installers/uv/latest/uv-installer.sh [71308/71308] -> "/tmp/uv-install-vNe9jv.sh" [1] 12:39:48 downloading uv 0.12.15 x86_64-unknown-linux-gnu 12:39:49 installing to /home/jenkins/.local/bin 12:39:49 uv 12:39:49 uvx 12:39:49 everything's installed! 12:39:49 12:39:49 To add $HOME/.local/bin to your PATH, either restart your shell or run: 12:39:49 12:39:49 source $HOME/.local/bin/env (sh, bash, zsh) 12:39:49 source $HOME/.local/bin/env.fish (fish) 12:39:49 Adding install location to PATH 12:39:49 ---> Validating uv/uvx install 12:39:49 uvx 0.12.15 (x86_64-unknown-linux-gnu) 12:39:49 [EnvInject] - Injecting environment variables from a build step. 12:39:49 [EnvInject] - Injecting as environment variables the properties content 12:39:49 PYTHON=python3 12:39:49 12:39:49 [EnvInject] - Variables injected successfully. 12:39:49 [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins5985837077787763297.sh 12:39:49 ---> tox-install.sh 12:39:49 + source /home/jenkins/lf-env.sh 12:39:49 + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 12:39:49 ++ mktemp -d /tmp/venv-XXXX 12:39:49 + lf_venv=/tmp/venv-OWyF 12:39:49 + local venv_file=/tmp/.os_lf_venv 12:39:49 + local python=python3 12:39:49 + local options 12:39:49 + local set_path=true 12:39:49 + local install_args= 12:39:49 ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 12:39:49 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 12:39:49 + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 12:39:49 ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 12:39:49 + true 12:39:49 + case $1 in 12:39:49 + venv_file=/tmp/.toxenv 12:39:49 + shift 2 12:39:49 + true 12:39:49 + case $1 in 12:39:49 + shift 12:39:49 + break 12:39:49 + case $python in 12:39:49 + local pkg_list= 12:39:49 + [[ -d /opt/pyenv ]] 12:39:49 + echo 'Setup pyenv:' 12:39:49 Setup pyenv: 12:39:49 + export PYENV_ROOT=/opt/pyenv 12:39:49 + PYENV_ROOT=/opt/pyenv 12:39:49 + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:49 + PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:49 + pyenv versions 12:39:49 system 12:39:49 3.8.20 12:39:49 3.9.20 12:39:49 3.10.15 12:39:49 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 12:39:49 + command -v pyenv 12:39:49 ++ pyenv init - --no-rehash 12:39:49 + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); 12:39:49 for i in ${!paths[@]}; do 12:39:49 if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; 12:39:49 fi; done; 12:39:49 echo "${paths[*]}"'\'')" 12:39:49 export PATH="/opt/pyenv/shims:${PATH}" 12:39:49 export PYENV_SHELL=bash 12:39:49 source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' 12:39:49 pyenv() { 12:39:49 local command 12:39:49 command="${1:-}" 12:39:49 if [ "$#" -gt 0 ]; then 12:39:49 shift 12:39:49 fi 12:39:49 12:39:49 case "$command" in 12:39:49 rehash|shell) 12:39:49 eval "$(pyenv "sh-$command" "$@")" 12:39:49 ;; 12:39:49 *) 12:39:49 command pyenv "$command" "$@" 12:39:49 ;; 12:39:49 esac 12:39:49 }' 12:39:49 +++ bash --norc -ec 'IFS=:; paths=($PATH); 12:39:49 for i in ${!paths[@]}; do 12:39:49 if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; 12:39:49 fi; done; 12:39:49 echo "${paths[*]}"' 12:39:49 ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:49 ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:49 ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:49 ++ export PYENV_SHELL=bash 12:39:49 ++ PYENV_SHELL=bash 12:39:49 ++ source /opt/pyenv/libexec/../completions/pyenv.bash 12:39:49 +++ complete -F _pyenv pyenv 12:39:49 ++ lf-pyver python3 12:39:49 ++ local py_version_xy=python3 12:39:49 ++ local py_version_xyz= 12:39:49 ++ pyenv versions 12:39:49 ++ local command 12:39:49 ++ command=versions 12:39:49 ++ '[' 1 -gt 0 ']' 12:39:49 ++ shift 12:39:49 ++ case "$command" in 12:39:49 ++ command pyenv versions 12:39:49 ++ sed 's/^[ *]* //' 12:39:49 ++ awk '{ print $1 }' 12:39:49 ++ grep -E '^[0-9.]*[0-9]$' 12:39:49 ++ [[ ! -s /tmp/.pyenv_versions ]] 12:39:49 +++ grep '^3' /tmp/.pyenv_versions 12:39:49 +++ sort -V 12:39:49 +++ tail -n 1 12:39:49 ++ py_version_xyz=3.11.10 12:39:49 ++ [[ -z 3.11.10 ]] 12:39:49 ++ echo 3.11.10 12:39:49 ++ return 0 12:39:49 + pyenv local 3.11.10 12:39:49 + local command 12:39:49 + command=local 12:39:49 + '[' 2 -gt 0 ']' 12:39:49 + shift 12:39:49 + case "$command" in 12:39:49 + command pyenv local 3.11.10 12:39:49 + for arg in "$@" 12:39:49 + case $arg in 12:39:49 + pkg_list+='tox ' 12:39:49 + for arg in "$@" 12:39:49 + case $arg in 12:39:49 + pkg_list+='virtualenv ' 12:39:49 + for arg in "$@" 12:39:49 + case $arg in 12:39:49 + pkg_list+='urllib3~=1.26.15 ' 12:39:49 + [[ -f /tmp/.toxenv ]] 12:39:49 + [[ ! -f /tmp/.toxenv ]] 12:39:49 + [[ -n '' ]] 12:39:49 + python3 -m venv /tmp/venv-OWyF 12:39:53 + echo 'lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-OWyF' 12:39:53 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-OWyF 12:39:53 + echo /tmp/venv-OWyF 12:39:53 + echo 'lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv' 12:39:53 lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv 12:39:53 + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' 12:39:53 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 12:39:53 + local 'pip_opts=--upgrade --quiet' 12:39:53 + pip_opts='--upgrade --quiet --trusted-host pypi.org' 12:39:53 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' 12:39:53 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' 12:39:53 + [[ -n '' ]] 12:39:53 + [[ -n '' ]] 12:39:53 + lf-venv-pip-install /tmp/venv-OWyF/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv 12:39:53 + local venv_python=/tmp/venv-OWyF/bin/python3 12:39:53 + shift 12:39:53 + local upstream=https://pypi.org/simple 12:39:53 + /tmp/venv-OWyF/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv 12:39:57 + return 0 12:39:57 + [[ -z tox virtualenv urllib3~=1.26.15 ]] 12:39:57 + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' 12:39:57 lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 12:39:57 + lf-venv-pip-install /tmp/venv-OWyF/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 12:39:57 + local venv_python=/tmp/venv-OWyF/bin/python3 12:39:57 + shift 12:39:57 + local upstream=https://pypi.org/simple 12:39:57 + /tmp/venv-OWyF/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 12:39:59 + return 0 12:39:59 + type python3 12:39:59 + true 12:39:59 + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-OWyF/bin to PATH' 12:39:59 lf-activate-venv(): INFO: Adding /tmp/venv-OWyF/bin to PATH 12:39:59 + PATH=/tmp/venv-OWyF/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:59 + return 0 12:39:59 + python3 --version 12:39:59 Python 3.11.10 12:39:59 + python3 -m pip --version 12:39:59 pip 26.2.1 from /tmp/venv-OWyF/lib/python3.11/site-packages/pip (python 3.11) 12:39:59 + python3 -m pip freeze 12:39:59 cachetools==7.1.8 12:39:59 colorama==0.4.6 12:39:59 distlib==0.4.3 12:39:59 filelock==3.32.6 12:39:59 packaging==26.3 12:39:59 platformdirs==4.11.8 12:39:59 pluggy==1.6.0 12:39:59 pyproject-api==1.11.0 12:39:59 python-discovery==1.6.0 12:39:59 tomli_w==1.2.0 12:39:59 tox==4.61.4 12:39:59 typing_extensions==4.16.0 12:39:59 urllib3==1.26.20 12:39:59 virtualenv==21.7.9 12:39:59 [transportpce-tox-verify-transportpce-master] $ /bin/sh -xe /tmp/jenkins3776676981616637470.sh 12:39:59 [EnvInject] - Injecting environment variables from a build step. 12:39:59 [EnvInject] - Injecting as environment variables the properties content 12:39:59 PARALLEL=True 12:39:59 12:39:59 [EnvInject] - Variables injected successfully. 12:39:59 [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins8386812081854521629.sh 12:39:59 ---> tox-run.sh 12:39:59 + PATH=/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:59 + ARCHIVE_TOX_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/tox 12:39:59 + ARCHIVE_DOC_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/docs 12:39:59 + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox 12:39:59 + cd /w/workspace/transportpce-tox-verify-transportpce-master/. 12:39:59 + source /home/jenkins/lf-env.sh 12:39:59 + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 12:39:59 ++ mktemp -d /tmp/venv-XXXX 12:39:59 + lf_venv=/tmp/venv-mQ35 12:39:59 + local venv_file=/tmp/.os_lf_venv 12:39:59 + local python=python3 12:39:59 + local options 12:39:59 + local set_path=true 12:39:59 + local install_args= 12:39:59 ++ getopt -o np:v: -l no-path,system-site-packages,python:,venv-file: -n lf-activate-venv -- --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 12:39:59 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 12:39:59 + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' 12:39:59 ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 12:39:59 + true 12:39:59 + case $1 in 12:39:59 + venv_file=/tmp/.toxenv 12:39:59 + shift 2 12:39:59 + true 12:39:59 + case $1 in 12:39:59 + shift 12:39:59 + break 12:39:59 + case $python in 12:39:59 + local pkg_list= 12:39:59 + [[ -d /opt/pyenv ]] 12:39:59 + echo 'Setup pyenv:' 12:39:59 Setup pyenv: 12:39:59 + export PYENV_ROOT=/opt/pyenv 12:39:59 + PYENV_ROOT=/opt/pyenv 12:39:59 + export PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:59 + PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:59 + pyenv versions 12:39:59 system 12:39:59 3.8.20 12:39:59 3.9.20 12:39:59 3.10.15 12:39:59 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 12:39:59 + command -v pyenv 12:39:59 ++ pyenv init - --no-rehash 12:39:59 + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); 12:39:59 for i in ${!paths[@]}; do 12:39:59 if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; 12:39:59 fi; done; 12:39:59 echo "${paths[*]}"'\'')" 12:39:59 export PATH="/opt/pyenv/shims:${PATH}" 12:39:59 export PYENV_SHELL=bash 12:39:59 source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' 12:39:59 pyenv() { 12:39:59 local command 12:39:59 command="${1:-}" 12:39:59 if [ "$#" -gt 0 ]; then 12:39:59 shift 12:39:59 fi 12:39:59 12:39:59 case "$command" in 12:39:59 rehash|shell) 12:39:59 eval "$(pyenv "sh-$command" "$@")" 12:39:59 ;; 12:39:59 *) 12:39:59 command pyenv "$command" "$@" 12:39:59 ;; 12:39:59 esac 12:39:59 }' 12:39:59 +++ bash --norc -ec 'IFS=:; paths=($PATH); 12:39:59 for i in ${!paths[@]}; do 12:39:59 if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; 12:39:59 fi; done; 12:39:59 echo "${paths[*]}"' 12:39:59 ++ PATH=/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:59 ++ export PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:59 ++ PATH=/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:39:59 ++ export PYENV_SHELL=bash 12:39:59 ++ PYENV_SHELL=bash 12:39:59 ++ source /opt/pyenv/libexec/../completions/pyenv.bash 12:39:59 +++ complete -F _pyenv pyenv 12:39:59 ++ lf-pyver python3 12:39:59 ++ local py_version_xy=python3 12:39:59 ++ local py_version_xyz= 12:39:59 ++ sed 's/^[ *]* //' 12:39:59 ++ pyenv versions 12:39:59 ++ grep -E '^[0-9.]*[0-9]$' 12:39:59 ++ local command 12:39:59 ++ command=versions 12:39:59 ++ '[' 1 -gt 0 ']' 12:39:59 ++ shift 12:39:59 ++ case "$command" in 12:39:59 ++ command pyenv versions 12:39:59 ++ awk '{ print $1 }' 12:40:00 ++ [[ ! -s /tmp/.pyenv_versions ]] 12:40:00 +++ grep '^3' /tmp/.pyenv_versions 12:40:00 +++ sort -V 12:40:00 +++ tail -n 1 12:40:00 ++ py_version_xyz=3.11.10 12:40:00 ++ [[ -z 3.11.10 ]] 12:40:00 ++ echo 3.11.10 12:40:00 ++ return 0 12:40:00 + pyenv local 3.11.10 12:40:00 + local command 12:40:00 + command=local 12:40:00 + '[' 2 -gt 0 ']' 12:40:00 + shift 12:40:00 + case "$command" in 12:40:00 + command pyenv local 3.11.10 12:40:00 + for arg in "$@" 12:40:00 + case $arg in 12:40:00 + pkg_list+='tox ' 12:40:00 + for arg in "$@" 12:40:00 + case $arg in 12:40:00 + pkg_list+='virtualenv ' 12:40:00 + for arg in "$@" 12:40:00 + case $arg in 12:40:00 + pkg_list+='urllib3~=1.26.15 ' 12:40:00 + [[ -f /tmp/.toxenv ]] 12:40:00 ++ cat /tmp/.toxenv 12:40:00 + lf_venv=/tmp/venv-OWyF 12:40:00 + echo 'lf-activate-venv(): INFO: Reuse venv:/tmp/venv-OWyF from' file:/tmp/.toxenv 12:40:00 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-OWyF from file:/tmp/.toxenv 12:40:00 + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' 12:40:00 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 12:40:00 + local 'pip_opts=--upgrade --quiet' 12:40:00 + pip_opts='--upgrade --quiet --trusted-host pypi.org' 12:40:00 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' 12:40:00 + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' 12:40:00 + [[ -n '' ]] 12:40:00 + [[ -n '' ]] 12:40:00 + lf-venv-pip-install /tmp/venv-OWyF/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv 12:40:00 + local venv_python=/tmp/venv-OWyF/bin/python3 12:40:00 + shift 12:40:00 + local upstream=https://pypi.org/simple 12:40:00 + /tmp/venv-OWyF/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv 12:40:00 + return 0 12:40:00 + [[ -z tox virtualenv urllib3~=1.26.15 ]] 12:40:00 + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' 12:40:00 lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 12:40:00 + lf-venv-pip-install /tmp/venv-OWyF/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 12:40:00 + local venv_python=/tmp/venv-OWyF/bin/python3 12:40:00 + shift 12:40:00 + local upstream=https://pypi.org/simple 12:40:00 + /tmp/venv-OWyF/bin/python3 -m pip install --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org --upgrade-strategy eager tox virtualenv urllib3~=1.26.15 12:40:02 + return 0 12:40:02 + type python3 12:40:02 + true 12:40:02 + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-OWyF/bin to PATH' 12:40:02 lf-activate-venv(): INFO: Adding /tmp/venv-OWyF/bin to PATH 12:40:02 + PATH=/tmp/venv-OWyF/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:40:02 + return 0 12:40:02 + [[ -d /opt/pyenv ]] 12:40:02 + echo '---> Setting up pyenv' 12:40:02 ---> Setting up pyenv 12:40:02 + export PYENV_ROOT=/opt/pyenv 12:40:02 + PYENV_ROOT=/opt/pyenv 12:40:02 + export PATH=/opt/pyenv/bin:/tmp/venv-OWyF/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:40:02 + PATH=/opt/pyenv/bin:/tmp/venv-OWyF/bin:/opt/pyenv/shims:/opt/pyenv/bin:/home/jenkins/.local/bin:/home/jenkins/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/puppetlabs/bin 12:40:02 ++ pwd 12:40:02 + PYTHONPATH=/w/workspace/transportpce-tox-verify-transportpce-master 12:40:02 + export PYTHONPATH 12:40:02 + export TOX_TESTENV_PASSENV=PYTHONPATH 12:40:02 + TOX_TESTENV_PASSENV=PYTHONPATH 12:40:02 + tox --version 12:40:02 4.61.4 from /tmp/venv-OWyF/lib/python3.11/site-packages/tox/__init__.py 12:40:02 + PARALLEL=True 12:40:02 + TOX_OPTIONS_LIST= 12:40:02 + [[ -n '' ]] 12:40:02 + case ${PARALLEL,,} in 12:40:02 + TOX_OPTIONS_LIST=' --parallel auto --parallel-live' 12:40:02 + tee -a /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tox.log 12:40:02 + tox --parallel auto --parallel-live 12:40:04 docs: install_deps> python -I -m pip install -r docs/requirements.txt 12:40:04 checkbashisms: freeze> python -m pip freeze --all 12:40:04 docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt 12:40:04 buildcontroller: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 12:40:04 checkbashisms: pip==26.2.1,setuptools==84.0.0 12:40:04 checkbashisms: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh 12:40:04 checkbashisms: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sh -c 'command checkbashisms>/dev/null || sudo yum install -y devscripts-checkbashisms || sudo yum install -y devscripts-minimal || sudo yum install -y devscripts || sudo yum install -y https://archives.fedoraproject.org/pub/archive/fedora/linux/releases/31/Everything/x86_64/os/Packages/d/devscripts-checkbashisms-2.19.6-2.fc31.x86_64.rpm || (echo "checkbashisms command not found - please install it (e.g. sudo apt-get install devscripts | yum install devscripts-minimal )" >&2 && exit 1)' 12:40:04 checkbashisms: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find . -not -path '*/\.*' -name '*.sh' -exec checkbashisms -f '{}' + 12:40:05 checkbashisms: OK ✔ in 3.19 seconds 12:40:05 pre-commit: install_deps> python -I -m pip install pre-commit 12:40:08 pre-commit: freeze> python -m pip freeze --all 12:40:08 pre-commit: cfgv==3.5.0,distlib==0.4.3,filelock==3.32.6,identify==2.6.19,nodeenv==1.10.0,pip==26.2.1,platformdirs==4.11.8,pre_commit==4.6.2,python-discovery==1.6.0,PyYAML==6.0.3,setuptools==84.0.0,virtualenv==21.7.9 12:40:08 pre-commit: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh 12:40:08 pre-commit: commands[1] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sh -c 'which cpan || sudo yum install -y perl-CPAN || (echo "cpan command not found - please install it (e.g. sudo apt-get install perl-modules | yum install perl-CPAN )" >&2 && exit 1)' 12:40:08 /usr/bin/cpan 12:40:08 pre-commit: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure 12:40:08 [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. 12:40:09 [INFO] Initializing environment for https://github.com/jorisroovers/gitlint. 12:40:09 [INFO] Initializing environment for https://github.com/jorisroovers/gitlint:./gitlint-core[trusted-deps]. 12:40:10 [INFO] Initializing environment for https://github.com/Lucas-C/pre-commit-hooks. 12:40:10 [INFO] Initializing environment for https://github.com/hhatto/autopep8. 12:40:10 buildcontroller: freeze> python -m pip freeze --all 12:40:10 buildcontroller: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 12:40:10 buildcontroller: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_controller.sh 12:40:10 + update-java-alternatives -l 12:40:11 java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 12:40:11 java-1.17.0-openjdk-amd64 1711 /usr/lib/jvm/java-1.17.0-openjdk-amd64 12:40:11 java-1.21.0-openjdk-amd64 2111 /usr/lib/jvm/java-1.21.0-openjdk-amd64 12:40:11 + sudo update-java-alternatives -s java-1.21.0-openjdk-amd64 12:40:11 [INFO] Initializing environment for https://github.com/perltidy/perltidy. 12:40:11 update-alternatives: error: no alternatives for jaotc 12:40:11 update-alternatives: error: no alternatives for rmic 12:40:11 + + sed -n ;s/.* version "\(.*\)\.\(.*\)\..*".*$/\1/p; 12:40:11 java -version 12:40:11 + JAVA_VER=21 12:40:11 + echo 21 12:40:11 21 12:40:11 + sed -n ;s/javac \(.*\)\.\(.*\)\..*.*$/\1/p; 12:40:11 + javac -version 12:40:11 + JAVAC_VER=21 12:40:11 + echo 21 12:40:11 21 12:40:11 ok, java is 21 or newer 12:40:11 + [ 21 -ge 21 ] 12:40:11 + [ 21 -ge 21 ] 12:40:11 + echo ok, java is 21 or newer 12:40:11 + wget -nv https://dlcdn.apache.org/maven/maven-3/3.9.16/binaries/apache-maven-3.9.16-bin.tar.gz -P /tmp 12:40:11 [INFO] Initializing environment for https://github.com/koalaman/shellcheck-precommit. 12:40:11 2026-09-15 12:40:11 URL:https://dlcdn.apache.org/maven/maven-3/3.9.16/binaries/apache-maven-3.9.16-bin.tar.gz [9278065/9278065] -> "/tmp/apache-maven-3.9.16-bin.tar.gz" [1] 12:40:11 + sudo mkdir -p /opt 12:40:11 + sudo tar xf /tmp/apache-maven-3.9.16-bin.tar.gz -C /opt 12:40:11 + sudo ln -s /opt/apache-maven-3.9.16 /opt/maven 12:40:11 + sudo ln -s /opt/maven/bin/mvn /usr/bin/mvn 12:40:11 + mvn --version 12:40:12 [INFO] Initializing environment for https://github.com/pre-commit/mirrors-prettier. 12:40:12 Apache Maven 3.9.16 (2bdd9fddda4b155ebf8000e807eb73fd829a51d5) 12:40:12 Maven home: /opt/maven 12:40:12 Java version: 21.0.12, vendor: Ubuntu, runtime: /usr/lib/jvm/java-21-openjdk-amd64 12:40:12 Default locale: en, platform encoding: UTF-8 12:40:12 OS name: "linux", version: "5.15.0-190-generic", arch: "amd64", family: "unix" 12:40:12 NOTE: Picked up JDK_JAVA_OPTIONS: 12:40:12 --add-opens=java.base/java.io=ALL-UNNAMED 12:40:12 --add-opens=java.base/java.lang=ALL-UNNAMED 12:40:12 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 12:40:12 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 12:40:12 --add-opens=java.base/java.net=ALL-UNNAMED 12:40:12 --add-opens=java.base/java.nio=ALL-UNNAMED 12:40:12 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 12:40:12 --add-opens=java.base/java.nio.file=ALL-UNNAMED 12:40:12 --add-opens=java.base/java.util=ALL-UNNAMED 12:40:12 --add-opens=java.base/java.util.jar=ALL-UNNAMED 12:40:12 --add-opens=java.base/java.util.stream=ALL-UNNAMED 12:40:12 --add-opens=java.base/java.util.zip=ALL-UNNAMED 12:40:12 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 12:40:12 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 12:40:12 -Xlog:disable 12:40:12 [INFO] Initializing environment for https://github.com/pre-commit/mirrors-prettier:prettier@4.0.0-alpha.8. 12:40:13 [INFO] Initializing environment for https://github.com/adrienverge/yamllint. 12:40:13 [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. 12:40:13 [INFO] Once installed this environment will be reused. 12:40:13 [INFO] This may take a few minutes... 12:40:17 docs-linkcheck: freeze> python -m pip freeze --all 12:40:17 docs-linkcheck: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.7.22,charset-normalizer==3.5.1,deepmerge==3.0.1,docutils==0.22.4,idna==3.19,imagesize==2.0.1,Jinja2==3.1.6,jsonschema==4.26.0,jsonschema-specifications==2025.9.1,jsonschema_rs==0.52.1,lfdocs_conf==0.11.0,MarkupSafe==3.0.3,minijinja==2.24.0,mistune==3.3.4,packaging==26.3,picobox==4.0.0,pip==26.2.1,Pygments==2.21.0,PyYAML==6.0.3,referencing==0.37.0,requests==2.34.2,requests-file==3.0.1,roman-numerals==4.1.0,rpds-py==2026.6.3,setuptools==84.0.0,snowballstemmer==3.1.1,Sphinx==9.0.4,sphinx-data-viewer==0.1.5,sphinx-needs==8.5.0,sphinx-tabs==3.5.0,sphinx_mdinclude==0.6.2,sphinx_rtd_theme==3.1.0,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-httpdomain==2.0.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-mermaid==2.1.1,sphinxcontrib-openapi==0.9.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-serializinghtml==2.0.0,typing_extensions==4.16.0,urllib3==2.7.0 12:40:17 docs-linkcheck: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sphinx-build -q -b linkcheck -d /w/workspace/transportpce-tox-verify-transportpce-master/.tox/docs-linkcheck/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-transportpce-master/docs/_build/linkcheck 12:40:17 docs: freeze> python -m pip freeze --all 12:40:18 docs: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.7.22,charset-normalizer==3.5.1,deepmerge==3.0.1,docutils==0.22.4,idna==3.19,imagesize==2.0.1,Jinja2==3.1.6,jsonschema==4.26.0,jsonschema-specifications==2025.9.1,jsonschema_rs==0.52.1,lfdocs_conf==0.11.0,MarkupSafe==3.0.3,minijinja==2.24.0,mistune==3.3.4,packaging==26.3,picobox==4.0.0,pip==26.2.1,Pygments==2.21.0,PyYAML==6.0.3,referencing==0.37.0,requests==2.34.2,requests-file==3.0.1,roman-numerals==4.1.0,rpds-py==2026.6.3,setuptools==84.0.0,snowballstemmer==3.1.1,Sphinx==9.0.4,sphinx-data-viewer==0.1.5,sphinx-needs==8.5.0,sphinx-tabs==3.5.0,sphinx_mdinclude==0.6.2,sphinx_rtd_theme==3.1.0,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-httpdomain==2.0.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-mermaid==2.1.1,sphinxcontrib-openapi==0.9.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-serializinghtml==2.0.0,typing_extensions==4.16.0,urllib3==2.7.0 12:40:18 docs: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> sphinx-build -q -W --keep-going -b html -n -d /w/workspace/transportpce-tox-verify-transportpce-master/.tox/docs/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-transportpce-master/docs/_build/html 12:40:19 [INFO] Installing environment for https://github.com/Lucas-C/pre-commit-hooks. 12:40:19 [INFO] Once installed this environment will be reused. 12:40:19 [INFO] This may take a few minutes... 12:40:21 docs: OK ✔ in 18.99 seconds 12:40:21 pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' 12:40:25 [INFO] Installing environment for https://github.com/hhatto/autopep8. 12:40:25 [INFO] Once installed this environment will be reused. 12:40:25 [INFO] This may take a few minutes... 12:40:25 docs-linkcheck: OK ✔ in 20.93 seconds 12:40:25 pylint: freeze> python -m pip freeze --all 12:40:25 pylint: astroid==4.0.4,dill==0.4.1,isort==9.0.1,mccabe==0.7.0,mypy_extensions==1.1.0,pip==26.2.1,platformdirs==4.11.8,pylint==4.0.8,setuptools==84.0.0,tomlkit==0.15.1 12:40:25 pylint: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find transportpce_tests/ -name '*.py' -exec pylint --fail-under=10 --max-line-length=120 --disable=missing-docstring,import-error --disable=fixme --disable=duplicate-code '--module-rgx=([a-z0-9_]+$)|([0-9.]{1,30}$)' '--method-rgx=(([a-z_][a-zA-Z0-9_]{2,})|(_[a-z0-9_]*)|(__[a-zA-Z][a-zA-Z0-9_]+__))$' '--variable-rgx=[a-zA-Z_][a-zA-Z0-9_]{1,30}$' '{}' + 12:40:29 [INFO] Installing environment for https://github.com/perltidy/perltidy. 12:40:29 [INFO] Once installed this environment will be reused. 12:40:29 [INFO] This may take a few minutes... 12:40:39 [INFO] Installing environment for https://github.com/pre-commit/mirrors-prettier. 12:40:39 [INFO] Once installed this environment will be reused. 12:40:39 [INFO] This may take a few minutes... 12:40:45 12:40:45 ------------------------------------ 12:40:45 Your code has been rated at 10.00/10 12:40:45 12:41:10 [ERROR] COMPILATION ERROR : 12:41:10 [ERROR] /w/workspace/transportpce-tox-verify-transportpce-master/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/ORtoTapiTopoConversionTools.java:[658,33] cannot find symbol 12:41:10 symbol: variable NRG_NAME_SUFFIX 12:41:10 location: class org.opendaylight.transportpce.tapi.topology.ORtoTapiTopoConversionTools 12:41:10 [ERROR] /w/workspace/transportpce-tox-verify-transportpce-master/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/ORtoTapiTopoConversionTools.java:[659,55] cannot find symbol 12:41:10 symbol: variable NRG_NAME_SUFFIX 12:41:10 location: class org.opendaylight.transportpce.tapi.topology.ORtoTapiTopoConversionTools 12:41:10 [ERROR] /w/workspace/transportpce-tox-verify-transportpce-master/tapi/src/main/java/org/opendaylight/transportpce/tapi/listeners/topology/TapiOrLinkListener.java:[268,13] cannot find symbol 12:41:10 symbol: variable TapiLinkTopologyWriter 12:41:10 location: class org.opendaylight.transportpce.tapi.listeners.topology.TapiOrLinkListener 12:41:10 [ERROR] /w/workspace/transportpce-tox-verify-transportpce-master/tapi/src/main/java/org/opendaylight/transportpce/tapi/listeners/topology/TapiOrLinkListener.java:[277,14] cannot find symbol 12:41:10 symbol: variable TapiLinkTopologyWriter 12:41:10 location: class org.opendaylight.transportpce.tapi.listeners.topology.TapiOrLinkListener 12:41:10 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.15.0:compile (default-compile) on project transportpce-tapi: Compilation failure: Compilation failure: 12:41:10 [ERROR] /w/workspace/transportpce-tox-verify-transportpce-master/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/ORtoTapiTopoConversionTools.java:[658,33] cannot find symbol 12:41:10 [ERROR] symbol: variable NRG_NAME_SUFFIX 12:41:10 [ERROR] location: class org.opendaylight.transportpce.tapi.topology.ORtoTapiTopoConversionTools 12:41:10 [ERROR] /w/workspace/transportpce-tox-verify-transportpce-master/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/ORtoTapiTopoConversionTools.java:[659,55] cannot find symbol 12:41:10 [ERROR] symbol: variable NRG_NAME_SUFFIX 12:41:10 [ERROR] location: class org.opendaylight.transportpce.tapi.topology.ORtoTapiTopoConversionTools 12:41:10 [ERROR] /w/workspace/transportpce-tox-verify-transportpce-master/tapi/src/main/java/org/opendaylight/transportpce/tapi/listeners/topology/TapiOrLinkListener.java:[268,13] cannot find symbol 12:41:10 [ERROR] symbol: variable TapiLinkTopologyWriter 12:41:10 [ERROR] location: class org.opendaylight.transportpce.tapi.listeners.topology.TapiOrLinkListener 12:41:10 [ERROR] /w/workspace/transportpce-tox-verify-transportpce-master/tapi/src/main/java/org/opendaylight/transportpce/tapi/listeners/topology/TapiOrLinkListener.java:[277,14] cannot find symbol 12:41:10 [ERROR] symbol: variable TapiLinkTopologyWriter 12:41:10 [ERROR] location: class org.opendaylight.transportpce.tapi.listeners.topology.TapiOrLinkListener 12:41:10 [ERROR] -> [Help 1] 12:41:10 [ERROR] 12:41:10 [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. 12:41:10 [ERROR] Re-run Maven using the -X switch to enable full debug logging. 12:41:10 [ERROR] 12:41:10 [ERROR] For more information about the errors and possible solutions, please read the following articles: 12:41:10 [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException 12:41:10 [ERROR] 12:41:10 [ERROR] After correcting the problems, you can resume the build with the command 12:41:10 [ERROR] mvn -rf :transportpce-tapi 12:41:10 pylint: OK ✔ in 25.42 seconds 12:41:10 buildcontroller: exit 1 (59.45 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_controller.sh pid=2803 12:41:11 buildcontroller: FAIL ✖ in 1 minute 7.78 seconds 12:41:11 build_karaf_tests200: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 12:41:11 build_karaf_tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 12:41:11 build_karaf_tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 12:41:22 build_karaf_tests71: freeze> python -m pip freeze --all 12:41:22 build_karaf_tests221: freeze> python -m pip freeze --all 12:41:22 build_karaf_tests200: freeze> python -m pip freeze --all 12:41:22 build_karaf_tests71: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 12:41:22 build_karaf_tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh 12:41:22 build karaf in karaf71 with ./karaf71.env 12:41:22 build_karaf_tests221: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 12:41:22 build_karaf_tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh 12:41:22 build karaf in karaf221 with ./karaf221.env 12:41:22 NOTE: Picked up JDK_JAVA_OPTIONS: 12:41:22 --add-opens=java.base/java.io=ALL-UNNAMED 12:41:22 --add-opens=java.base/java.lang=ALL-UNNAMED 12:41:22 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 12:41:22 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 12:41:22 --add-opens=java.base/java.net=ALL-UNNAMED 12:41:22 --add-opens=java.base/java.nio=ALL-UNNAMED 12:41:22 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 12:41:22 --add-opens=java.base/java.nio.file=ALL-UNNAMED 12:41:22 --add-opens=java.base/java.util=ALL-UNNAMED 12:41:22 --add-opens=java.base/java.util.jar=ALL-UNNAMED 12:41:22 --add-opens=java.base/java.util.stream=ALL-UNNAMED 12:41:22 --add-opens=java.base/java.util.zip=ALL-UNNAMED 12:41:22 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 12:41:22 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 12:41:22 -Xlog:disable 12:41:22 build_karaf_tests200: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 12:41:22 build_karaf_tests200: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh 12:41:22 build karaf in karafoc200 with ./karafoc200.env 12:41:23 NOTE: Picked up JDK_JAVA_OPTIONS: 12:41:23 --add-opens=java.base/java.io=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.lang=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.net=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.nio=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.nio.file=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.util=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.util.jar=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.util.stream=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.util.zip=ALL-UNNAMED 12:41:23 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 12:41:23 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 12:41:23 -Xlog:disable 12:41:23 NOTE: Picked up JDK_JAVA_OPTIONS: 12:41:23 --add-opens=java.base/java.io=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.lang=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.lang.invoke=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.lang.reflect=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.net=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.nio=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.nio.charset=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.nio.file=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.util=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.util.jar=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.util.stream=ALL-UNNAMED 12:41:23 --add-opens=java.base/java.util.zip=ALL-UNNAMED 12:41:23 --add-opens java.base/sun.nio.ch=ALL-UNNAMED 12:41:23 --add-opens java.base/sun.nio.fs=ALL-UNNAMED 12:41:23 -Xlog:disable 12:41:52 [INFO] Installing environment for https://github.com/adrienverge/yamllint. 12:41:52 [INFO] Once installed this environment will be reused. 12:41:52 [INFO] This may take a few minutes... 12:41:56 trim trailing whitespace.................................................Passed 12:41:56 fix end of files.........................................................Passed 12:41:56 check for added large files..............................................Passed 12:41:56 check for merge conflicts................................................Passed 12:41:56 check for case conflicts.................................................Passed 12:41:57 check json...............................................................Passed 12:41:57 mixed line ending........................................................Passed 12:41:57 Tabs remover.............................................................Passed 12:41:57 autopep8.................................................................Passed 12:42:00 perltidy.................................................................Passed 12:42:01 ShellCheck v0.11.0.......................................................Passed 12:42:08 prettier.................................................................Passed 12:42:10 build_karaf_tests200: OK ✔ in 1 minute 0.17 seconds 12:42:10 buildlighty: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 12:42:10 yamllint.................................................................Passed 12:42:11 pre-commit: commands[3] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run gitlint-ci --hook-stage manual 12:42:11 [INFO] Installing environment for https://github.com/jorisroovers/gitlint. 12:42:11 [INFO] Once installed this environment will be reused. 12:42:11 [INFO] This may take a few minutes... 12:42:12 build_karaf_tests221: OK ✔ in 1 minute 1.52 seconds 12:42:12 sims: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 12:42:12 build_karaf_tests71: OK ✔ in 1 minute 2 seconds 12:42:12 testsPCE: install_deps> python -I -m pip install gnpy4tpce==2.4.7 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 12:42:18 buildlighty: freeze> python -m pip freeze --all 12:42:19 buildlighty: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 12:42:19 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/lighty> ./build.sh 12:42:19 NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.nio=ALL-UNNAMED 12:42:20 sims: freeze> python -m pip freeze --all 12:42:20 sims: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 12:42:20 sims: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_lightynode.sh 12:42:20 Using lighynode version 22.1.0.7 12:42:20 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory 12:42:22 gitlint..................................................................Passed 12:43:11 pre-commit: OK ✔ in 2 minutes 16.6 seconds 12:43:11 sims: OK ✔ in 14.9 seconds 12:43:11 buildlighty: OK ✔ in 29.56 seconds 12:43:11 testsPCE: freeze> python -m pip freeze --all 12:43:11 testsPCE: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,click==8.5.0,contourpy==1.3.3,cryptography==3.3.2,cycler==0.12.1,dict2xml==1.7.8,Flask==2.1.3,Flask-Injector==0.14.0,fonttools==4.65.0,gnpy4tpce==2.4.7,idna==3.19,iniconfig==2.3.0,injector==0.24.0,invoke==3.0.3,itsdangerous==2.2.0,Jinja2==3.1.6,kiwisolver==1.5.1,lxml==6.1.3,MarkupSafe==3.0.3,matplotlib==3.11.2,netconf-client==3.6.0,networkx==2.8.8,numpy==1.26.4,packaging==26.3,pandas==1.5.3,paramiko==5.0.0,pbr==5.11.1,pillow==12.3.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pyparsing==3.3.2,pytest==9.1.1,python-dateutil==2.9.0.post0,pytz==2026.3.post1,requests==2.34.2,scipy==1.17.1,setuptools==50.3.2,six==1.17.0,urllib3==2.7.0,Werkzeug==2.0.3,xlrd==1.2.0 12:43:11 testsPCE: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce 12:43:11 pytest -q transportpce_tests/pce/test01_pce.py 12:45:12 EEEEEEEEEEEEEEEEEEEE [100%] 12:45:15 ==================================== ERRORS ==================================== 12:45:15 _______ ERROR at setup of TestTransportPCEPce.test_01_load_port_mapping ________ 12:45:15 12:45:15 cls = 12:45:15 12:45:15 @classmethod 12:45:15 def setUpClass(cls): 12:45:15 # pylint: disable=bare-except 12:45:15 sample_files_parsed = False 12:45:15 time.sleep(20) 12:45:15 try: 12:45:15 TOPO_BI_DIR_FILE = os.path.join(os.path.dirname(os.path.realpath(__file__)), 12:45:15 "..", "..", "sample_configs", "honeynode-topo.json") 12:45:15 with open(TOPO_BI_DIR_FILE, 'r', encoding='utf-8') as topo_bi_dir: 12:45:15 cls.simple_topo_bi_dir_data = topo_bi_dir.read() 12:45:15 12:45:15 TOPO_UNI_DIR_FILE = os.path.join(os.path.dirname(os.path.realpath(__file__)), 12:45:15 "..", "..", "sample_configs", "NW-simple-topology.json") 12:45:15 12:45:15 with open(TOPO_UNI_DIR_FILE, 'r', encoding='utf-8') as topo_uni_dir: 12:45:15 cls.simple_topo_uni_dir_data = topo_uni_dir.read() 12:45:15 12:45:15 TOPO_UNI_DIR_COMPLEX_FILE = os.path.join(os.path.dirname(os.path.realpath(__file__)), 12:45:15 "..", "..", "sample_configs", "NW-for-test-5-4.json") 12:45:15 with open(TOPO_UNI_DIR_COMPLEX_FILE, 'r', encoding='utf-8') as topo_uni_dir_complex: 12:45:15 cls.complex_topo_uni_dir_data = topo_uni_dir_complex.read() 12:45:15 PORT_MAPPING_FILE = os.path.join(os.path.dirname(os.path.realpath(__file__)), 12:45:15 "..", "..", "sample_configs", "pce_portmapping_221.json") 12:45:15 with open(PORT_MAPPING_FILE, 'r', encoding='utf-8') as port_mapping: 12:45:15 cls.port_mapping_data = port_mapping.read() 12:45:15 sample_files_parsed = True 12:45:15 except PermissionError as err: 12:45:15 print("Permission Error when trying to read sample files\n", err) 12:45:15 sys.exit(2) 12:45:15 except FileNotFoundError as err: 12:45:15 print("File Not found Error when trying to read sample files\n", err) 12:45:15 sys.exit(2) 12:45:15 except: 12:45:15 print("Unexpected error when trying to read sample files\n", sys.exc_info()[0]) 12:45:15 sys.exit(2) 12:45:15 finally: 12:45:15 if sample_files_parsed: 12:45:15 print("sample files content loaded") 12:45:15 12:45:15 > cls.processes = test_utils.start_tpce() 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 12:45:15 transportpce_tests/pce/test01_pce.py:93: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 def start_tpce(): 12:45:15 if 'NO_ODL_STARTUP' in os.environ: 12:45:15 print('No OpenDaylight instance to start!') 12:45:15 return [] 12:45:15 print('starting OpenDaylight...') 12:45:15 if 'USE_LIGHTY' in os.environ and os.environ['USE_LIGHTY'] == 'True': 12:45:15 process = start_lighty() 12:45:15 else: 12:45:15 process = start_karaf() 12:45:15 if wait_until_log_contains(TPCE_LOG, [LIGHTY_OK_START_MSG, KARAF_OK_START_MSG], time_to_wait=100): 12:45:15 print('OpenDaylight started !') 12:45:15 else: 12:45:15 print('OpenDaylight failed to start !') 12:45:15 shutdown_process(process) 12:45:15 for pid in process_list: 12:45:15 shutdown_process(pid) 12:45:15 > sys.exit(1) 12:45:15 E SystemExit: 1 12:45:15 12:45:15 transportpce_tests/common/test_utils.py:234: SystemExit 12:45:15 ---------------------------- Captured stdout setup ----------------------------- 12:45:15 sample files content loaded 12:45:15 starting OpenDaylight... 12:45:15 starting KARAF (karaf) TransportPCE build... 12:45:15 Pattern not found after 100 seconds! OpenDaylight failed to start ! 12:45:15 ____ ERROR at setup of TestTransportPCEPce.test_02_load_simple_topology_bi _____ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef30b8ae80> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ___________ ERROR at setup of TestTransportPCEPce.test_03_get_nodeId ___________ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef30b9f2e0> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ___________ ERROR at setup of TestTransportPCEPce.test_04_get_linkId ___________ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef32fea520> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ____ ERROR at setup of TestTransportPCEPce.test_05_path_computation_xpdr_bi ____ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef30b8ae80> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ____ ERROR at setup of TestTransportPCEPce.test_06_path_computation_rdm_bi _____ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef30b9fc40> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ____ ERROR at setup of TestTransportPCEPce.test_07_load_simple_topology_uni ____ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef32fea520> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ___________ ERROR at setup of TestTransportPCEPce.test_08_get_nodeId ___________ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef302c9620> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ___________ ERROR at setup of TestTransportPCEPce.test_09_get_linkId ___________ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef30b8ae80> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ___ ERROR at setup of TestTransportPCEPce.test_10_path_computation_xpdr_uni ____ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef30b9f380> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ____ ERROR at setup of TestTransportPCEPce.test_11_path_computation_rdm_uni ____ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef30b8ae80> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 _____ ERROR at setup of TestTransportPCEPce.test_12_load_complex_topology ______ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef302c9620> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ___________ ERROR at setup of TestTransportPCEPce.test_13_get_nodeId ___________ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef32fea520> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 _____ ERROR at setup of TestTransportPCEPce.test_14_fail_path_computation ______ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef30b9f380> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ___ ERROR at setup of TestTransportPCEPce.test_15_success1_path_computation ____ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef302ca200> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ___ ERROR at setup of TestTransportPCEPce.test_16_success2_path_computation ____ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef32fea520> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 ___ ERROR at setup of TestTransportPCEPce.test_17_success3_path_computation ____ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef30b9f380> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 _ ERROR at setup of TestTransportPCEPce.test_18_path_computation_before_oms_attribute_deletion _ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef302c9b20> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 _ ERROR at setup of TestTransportPCEPce.test_19_delete_oms_attribute_in_openroadm13toopenroadm12_link _ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef32fea520> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 _ ERROR at setup of TestTransportPCEPce.test_20_path_computation_after_oms_attribute_deletion _ 12:45:15 12:45:15 cls = 12:45:15 func = . at 0x7fef30b8b880> 12:45:15 when = 'setup' 12:45:15 reraise = (, ) 12:45:15 12:45:15 @classmethod 12:45:15 def from_call( 12:45:15 cls, 12:45:15 func: Callable[[], TResult], 12:45:15 when: Literal["collect", "setup", "call", "teardown"], 12:45:15 reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, 12:45:15 ) -> CallInfo[TResult]: 12:45:15 """Call func, wrapping the result in a CallInfo. 12:45:15 12:45:15 :param func: 12:45:15 The function to call. Called without arguments. 12:45:15 :type func: Callable[[], _pytest.runner.TResult] 12:45:15 :param when: 12:45:15 The phase in which the function is called. 12:45:15 :param reraise: 12:45:15 Exception or exceptions that shall propagate if raised by the 12:45:15 function, instead of being wrapped in the CallInfo. 12:45:15 """ 12:45:15 excinfo = None 12:45:15 instant = timing.Instant() 12:45:15 try: 12:45:15 > result: TResult | None = func() 12:45:15 ^^^^^^ 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in 12:45:15 lambda: runtest_hook(item=item, **kwds), 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ 12:45:15 return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec 12:45:15 return self._inner_hookexec(hook_name, methods, kwargs, firstresult) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup 12:45:15 yield 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup 12:45:15 return (yield) 12:45:15 ^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup 12:45:15 item.session._setupstate.setup(item) 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup 12:45:15 col.setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup 12:45:15 super().setup() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup 12:45:15 self._request._fillfixtures() 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures 12:45:15 item.funcargs[argname] = self.getfixturevalue(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue 12:45:15 fixturedef = self._get_active_fixturedef(argname) 12:45:15 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef 12:45:15 fixturedef.execute(request=subrequest) 12:45:15 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 12:45:15 12:45:15 self = 12:45:15 request = > 12:45:15 12:45:15 def execute(self, request: SubRequest) -> FixtureValue: 12:45:15 """Return the value of this fixture, executing it if not cached.""" 12:45:15 # Ensure that the dependent fixtures requested by this fixture are loaded. 12:45:15 # This needs to be done before checking if we have a cached value, since 12:45:15 # if a dependent fixture has their cache invalidated, e.g. due to 12:45:15 # parametrization, they finalize themselves and fixtures depending on it 12:45:15 # (which will likely include this fixture) setting `self.cached_result = None`. 12:45:15 # See #4871 12:45:15 requested_fixtures_that_should_finalize_us = [] 12:45:15 for argname in self.argnames: 12:45:15 fixturedef = request._get_active_fixturedef(argname) 12:45:15 # Saves requested fixtures in a list so we later can add our finalizer 12:45:15 # to them, ensuring that if a requested fixture gets torn down we get torn 12:45:15 # down first. This is generally handled by SetupState, but still currently 12:45:15 # needed when this fixture is not parametrized but depends on a parametrized 12:45:15 # fixture. 12:45:15 requested_fixtures_that_should_finalize_us.append(fixturedef) 12:45:15 12:45:15 # Check for (and return) cached value/exception. 12:45:15 if self.cached_result is not None: 12:45:15 request_cache_key = self.cache_key(request) 12:45:15 cache_key = self.cached_result[1] 12:45:15 try: 12:45:15 # Attempt to make a normal == check: this might fail for objects 12:45:15 # which do not implement the standard comparison (like numpy arrays -- #6497). 12:45:15 cache_hit = bool(request_cache_key == cache_key) 12:45:15 except (ValueError, RuntimeError): 12:45:15 # If the comparison raises, use 'is' as fallback. 12:45:15 cache_hit = request_cache_key is cache_key 12:45:15 12:45:15 if cache_hit: 12:45:15 if self.cached_result[2] is not None: 12:45:15 exc, exc_tb = self.cached_result[2] 12:45:15 raise exc.with_traceback(exc_tb) 12:45:15 else: 12:45:15 return self.cached_result[0] 12:45:15 # We have a previous but differently parametrized fixture instance 12:45:15 # so we need to tear it down before creating a new one. 12:45:15 self.finish(request) 12:45:15 assert self.cached_result is None 12:45:15 12:45:15 # Add finalizer to requested fixtures we saved previously. 12:45:15 # We make sure to do this after checking for cached value to avoid 12:45:15 # adding our finalizer multiple times. (#12135) 12:45:15 finalizer = functools.partial(self.finish, request=request) 12:45:15 for parent_fixture in requested_fixtures_that_should_finalize_us: 12:45:15 parent_fixture.addfinalizer(finalizer) 12:45:15 12:45:15 # Register the pytest_fixture_post_finalizer as the first finalizer, 12:45:15 # which is executed last. 12:45:15 > assert not self._finalizers 12:45:15 ^^^^^^^^^^^^^^^^^^^^ 12:45:15 E AssertionError 12:45:15 12:45:15 ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError 12:45:15 =========================== short test summary info ============================ 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_01_load_port_mapping 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_02_load_simple_topology_bi 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_03_get_nodeId 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_04_get_linkId 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_05_path_computation_xpdr_bi 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_06_path_computation_rdm_bi 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_07_load_simple_topology_uni 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_08_get_nodeId 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_09_get_linkId 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_10_path_computation_xpdr_uni 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_11_path_computation_rdm_uni 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_12_load_complex_topology 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_13_get_nodeId 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_14_fail_path_computation 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_15_success1_path_computation 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_16_success2_path_computation 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_17_success3_path_computation 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_18_path_computation_before_oms_attribute_deletion 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_19_delete_oms_attribute_in_openroadm13toopenroadm12_link 12:45:15 ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_20_path_computation_after_oms_attribute_deletion 12:45:15 20 errors in 123.82s (0:02:03) 12:45:15 testsPCE: exit 1 (124.11 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce pid=4878 12:45:15 testsPCE: FAIL ✖ in 3 minutes 3.02 seconds 12:45:15 tests_tapi: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 12:45:23 tests_tapi: freeze> python -m pip freeze --all 12:45:24 tests_tapi: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 12:45:24 tests_tapi: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi 12:45:24 using environment variables from ./karaf221.env 12:45:24 pytest -q transportpce_tests/tapi/test01_abstracted_topology.py 12:46:30 ................................................... [100%] 12:49:41 51 passed in 257.40s (0:04:17) 12:49:41 pytest -q transportpce_tests/tapi/test02_full_topology.py 12:50:33 .................................... [100%] 12:55:10 36 passed in 327.96s (0:05:27) 12:55:10 pytest -q transportpce_tests/tapi/test03_tapi_device_change_notifications.py 12:55:58 ....................................................................... [100%] 13:00:37 71 passed in 326.79s (0:05:26) 13:00:37 pytest -q transportpce_tests/tapi/test04_topo_extension.py 13:01:28 ................... [100%] 13:03:01 19 passed in 144.56s (0:02:24) 13:03:02 pytest -q transportpce_tests/tapi/test05_pce_tapi.py 13:05:02 ...................... [100%] 13:10:39 22 passed in 456.91s (0:07:36) 13:10:39 tests_tapi: OK ✔ in 25 minutes 23.73 seconds 13:10:39 tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 13:10:39 tests200: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 13:10:49 tests200: freeze> python -m pip freeze --all 13:10:50 tests221: freeze> python -m pip freeze --all 13:10:50 tests200: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 13:10:50 tests200: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh oc200 13:10:50 using environment variables from ./karafoc200.env 13:10:50 pytest -q transportpce_tests/oc200/test01_portmapping.py 13:10:50 tests221: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 13:10:50 tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 2.2.1 13:10:50 using environment variables from ./karaf221.env 13:10:50 pytest -q transportpce_tests/2.2.1/test01_portmapping.py 13:11:34 ................. [100%] 13:11:52 10 passed in 61.70s (0:01:01) 13:11:52 pytest -q transportpce_tests/oc200/test02_topology.py 13:11:54 .............................. [100%] 13:12:26 35 passed in 96.13s (0:01:36) 13:12:26 pytest -q transportpce_tests/2.2.1/test02_topo_portmapping.py 13:12:30 ............ [100%] 13:12:54 14 passed in 62.39s (0:01:02) 13:12:54 pytest -q transportpce_tests/oc200/test03_renderer.py 13:13:01 ...... [100%] 13:13:16 6 passed in 48.91s 13:13:16 pytest -q transportpce_tests/2.2.1/test03_topology.py 13:13:25 ................ [100%] 13:13:50 16 passed in 54.93s 13:13:50 pytest -q transportpce_tests/oc200/test04_end2end.py 13:14:12 ......................................................................... [100%] 13:15:47 44 passed in 151.17s (0:02:31) 13:15:47 pytest -q transportpce_tests/2.2.1/test04_otn_topology.py 13:15:48 .................... [100%] 13:16:48 12 passed in 61.15s (0:01:01) 13:16:49 pytest -q transportpce_tests/2.2.1/test05_flex_grid.py 13:16:56 ...... [100%] 13:17:04 43 passed in 194.57s (0:03:14) 13:17:05 tests200: OK ✔ in 6 minutes 25.76 seconds 13:17:05 tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 13:17:15 .tests71: freeze> python -m pip freeze --all 13:17:16 tests71: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 13:17:16 tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 7.1 13:17:16 using environment variables from ./karaf71.env 13:17:16 pytest -q transportpce_tests/7.1/test01_portmapping.py 13:17:27 .................. [100%] 13:18:00 12 passed in 43.77s 13:18:00 pytest -q transportpce_tests/7.1/test02_otn_renderer.py 13:18:04 ................. [100%] 13:18:44 16 passed in 114.79s (0:01:54) 13:18:44 pytest -q transportpce_tests/2.2.1/test06_renderer_service_path_nominal.py 13:18:44 ................................................. [100%] 13:19:21 31 passed in 37.44s 13:19:21 pytest -q transportpce_tests/2.2.1/test07_otn_renderer.py 13:19:23 ....................................................... [100%] 13:20:38 62 passed in 157.77s (0:02:37) 13:20:38 pytest -q transportpce_tests/7.1/test03_renderer_or_modes.py 13:20:40 ....... [100%] 13:20:55 26 passed in 93.16s (0:01:33) 13:20:55 pytest -q transportpce_tests/2.2.1/test08_otn_sh_renderer.py 13:21:18 ............................................................. [100%] 13:22:43 22 passed in 108.00s (0:01:47) 13:22:43 pytest -q transportpce_tests/2.2.1/test09_olm.py 13:22:45 ......... [100%] 13:23:03 48 passed in 144.80s (0:02:24) 13:23:03 pytest -q transportpce_tests/7.1/test04_renderer_regen_mode.py 13:23:33 ....................................... [100%] 13:24:25 22 passed in 80.94s (0:01:20) 13:24:30 ....................... [100%] 13:25:56 40 passed in 193.00s (0:03:13) 13:25:56 pytest -q transportpce_tests/2.2.1/test11_otn_end2end.py 13:26:39 ........................................................................ [ 74%] 13:32:17 ......................... [100%] 13:34:09 97 passed in 492.49s (0:08:12) 13:34:09 pytest -q transportpce_tests/2.2.1/test12_end2end.py 13:34:51 ...................................................... [100%] 13:41:39 54 passed in 449.89s (0:07:29) 13:41:39 pytest -q transportpce_tests/2.2.1/test14_otn_switch_end2end.py 13:42:36 ........................................................................ [ 71%] 13:47:46 ............................. [100%] 13:52:56 101 passed in 676.23s (0:11:16) 13:52:56 pytest -q transportpce_tests/2.2.1/test15_otn_end2end_with_intermediate_switch.py 13:53:53 ........................................................................ [ 67%] 13:59:40 ................................... [100%] 14:03:01 107 passed in 604.63s (0:10:04) 14:03:01 pytest -q transportpce_tests/2.2.1/test16_freq_end2end.py 14:03:44 ............................................. [100%] 14:06:23 45 passed in 201.65s (0:03:21) 14:06:23 tests71: OK ✔ in 7 minutes 20.23 seconds 14:06:23 tests221: OK ✔ in 55 minutes 44 seconds 14:06:23 tests_hybrid: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-transportpce-master/tests/test-requirements.txt 14:06:33 tests_hybrid: freeze> python -m pip freeze --all 14:06:33 tests_hybrid: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 14:06:33 tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh hybrid 14:06:33 using environment variables from ./karaf221.env 14:06:33 pytest -q transportpce_tests/hybrid/test01_device_change_notifications.py 14:07:14 ................................................... [100%] 14:09:01 51 passed in 147.22s (0:02:27) 14:09:01 pytest -q transportpce_tests/hybrid/test02_B100G_end2end.py 14:09:43 ........................................................................ [ 66%] 14:14:04 ..................................... [100%] 14:16:11 109 passed in 429.42s (0:07:09) 14:16:11 pytest -q transportpce_tests/hybrid/test03_autonomous_reroute.py 14:16:59 ..................................................... [100%] 14:20:32 53 passed in 260.70s (0:04:20) 14:20:32 buildcontroller: FAIL code 1 (67.78=setup[8.34]+cmd[59.45] seconds) 14:20:32 sims: OK (14.90=setup[8.54]+cmd[6.36] seconds) 14:20:32 testsPCE: FAIL code 1 (183.01=setup[58.90]+cmd[124.11] seconds) 14:20:32 build_karaf_tests221: OK (61.52=setup[12.49]+cmd[49.03] seconds) 14:20:32 tests_tapi: OK (1523.73=setup[8.59]+cmd[1515.14] seconds) 14:20:32 tests221: OK (3344.00=setup[11.13]+cmd[3332.86] seconds) 14:20:32 build_karaf_tests71: OK (62.00=setup[12.44]+cmd[49.56] seconds) 14:20:32 tests71: OK (440.23=setup[11.77]+cmd[428.46] seconds) 14:20:32 build_karaf_tests200: OK (60.17=setup[12.51]+cmd[47.66] seconds) 14:20:32 tests200: OK (385.76=setup[11.01]+cmd[374.74] seconds) 14:20:32 tests_hybrid: OK (848.94=setup[10.68]+cmd[838.26] seconds) 14:20:32 buildlighty: OK (29.56=setup[8.42]+cmd[21.14] seconds) 14:20:32 docs: OK (18.98=setup[15.60]+cmd[3.39] seconds) 14:20:32 docs-linkcheck: OK (20.93=setup[15.05]+cmd[5.88] seconds) 14:20:32 checkbashisms: OK (3.19=setup[2.00]+cmd[0.00,0.04,1.15] seconds) 14:20:32 pre-commit: OK (136.60=setup[2.57]+cmd[0.02,0.01,122.72,11.28] seconds) 14:20:32 pylint: OK (25.42=setup[4.06]+cmd[21.37] seconds) 14:20:32 evaluation failed :( (6029.51 seconds) 14:20:32 + tox_status=1 14:20:32 + echo '---> Completed tox runs' 14:20:32 ---> Completed tox runs 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/build_karaf_tests200/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=build_karaf_tests200 14:20:32 + cp -r .tox/build_karaf_tests200/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests200 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/build_karaf_tests221/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=build_karaf_tests221 14:20:32 + cp -r .tox/build_karaf_tests221/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests221 14:20:32 + for i in .tox/*/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 ++ echo .tox/build_karaf_tests71/log 14:20:32 + tox_env=build_karaf_tests71 14:20:32 + cp -r .tox/build_karaf_tests71/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests71 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/buildcontroller/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=buildcontroller 14:20:32 + cp -r .tox/buildcontroller/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/buildcontroller 14:20:32 + for i in .tox/*/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 ++ echo .tox/buildlighty/log 14:20:32 + tox_env=buildlighty 14:20:32 + cp -r .tox/buildlighty/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/buildlighty 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/checkbashisms/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=checkbashisms 14:20:32 + cp -r .tox/checkbashisms/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/checkbashisms 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/docs-linkcheck/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=docs-linkcheck 14:20:32 + cp -r .tox/docs-linkcheck/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/docs-linkcheck 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/docs/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=docs 14:20:32 + cp -r .tox/docs/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/docs 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/pre-commit/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=pre-commit 14:20:32 + cp -r .tox/pre-commit/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/pre-commit 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/pylint/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=pylint 14:20:32 + cp -r .tox/pylint/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/pylint 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/sims/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=sims 14:20:32 + cp -r .tox/sims/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/sims 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/tests200/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=tests200 14:20:32 + cp -r .tox/tests200/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests200 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/tests221/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=tests221 14:20:32 + cp -r .tox/tests221/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests221 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/tests71/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=tests71 14:20:32 + cp -r .tox/tests71/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests71 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/testsPCE/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=testsPCE 14:20:32 + cp -r .tox/testsPCE/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/testsPCE 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/tests_hybrid/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=tests_hybrid 14:20:32 + cp -r .tox/tests_hybrid/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests_hybrid 14:20:32 + for i in .tox/*/log 14:20:32 ++ echo .tox/tests_tapi/log 14:20:32 ++ awk -F/ '{print $2}' 14:20:32 + tox_env=tests_tapi 14:20:32 + cp -r .tox/tests_tapi/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests_tapi 14:20:32 + DOC_DIR=docs/_build/html 14:20:32 + [[ -d docs/_build/html ]] 14:20:32 + echo '---> Archiving generated docs' 14:20:32 ---> Archiving generated docs 14:20:32 + mv docs/_build/html /w/workspace/transportpce-tox-verify-transportpce-master/archives/docs 14:20:32 + echo '---> tox-run.sh ends' 14:20:32 ---> tox-run.sh ends 14:20:32 + test 1 -eq 0 14:20:32 + exit 1 14:20:32 ++ '[' 1 = 1 ']' 14:20:32 ++ '[' -x /usr/bin/clear_console ']' 14:20:32 ++ /usr/bin/clear_console -q 14:20:32 Build step 'Execute shell' marked build as failure 14:20:32 $ ssh-agent -k 14:20:32 unset SSH_AUTH_SOCK; 14:20:32 unset SSH_AGENT_PID; 14:20:32 echo Agent pid 1555 killed; 14:20:32 [ssh-agent] Stopped. 14:20:32 [PostBuildScript] - [INFO] Executing post build scripts. 14:20:32 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins17476071368793137151.sh 14:20:32 ---> sysstat.sh 14:20:32 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins11791569397638813276.sh 14:20:32 ---> package-listing.sh 14:20:32 + '[' -f /etc/os-release ']' 14:20:32 + . /etc/os-release 14:20:32 ++ PRETTY_NAME='Ubuntu 22.04.5 LTS' 14:20:32 ++ NAME=Ubuntu 14:20:32 ++ VERSION_ID=22.04 14:20:32 ++ VERSION='22.04.5 LTS (Jammy Jellyfish)' 14:20:32 ++ VERSION_CODENAME=jammy 14:20:32 ++ ID=ubuntu 14:20:32 ++ ID_LIKE=debian 14:20:32 ++ HOME_URL=https://www.ubuntu.com/ 14:20:32 ++ SUPPORT_URL=https://help.ubuntu.com/ 14:20:32 ++ BUG_REPORT_URL=https://bugs.launchpad.net/ubuntu/ 14:20:32 ++ PRIVACY_POLICY_URL=https://www.ubuntu.com/legal/terms-and-policies/privacy-policy 14:20:32 ++ UBUNTU_CODENAME=jammy 14:20:32 + case " ${ID:-} ${ID_LIKE:-} " in 14:20:32 + OS_FAMILY=debian 14:20:32 + workspace=/w/workspace/transportpce-tox-verify-transportpce-master 14:20:32 + START_PACKAGES=/tmp/packages_start.txt 14:20:32 + END_PACKAGES=/tmp/packages_end.txt 14:20:32 + DIFF_PACKAGES=/tmp/packages_diff.txt 14:20:32 + PACKAGES=/tmp/packages_start.txt 14:20:32 + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' 14:20:32 + PACKAGES=/tmp/packages_end.txt 14:20:32 + case "${OS_FAMILY}" in 14:20:32 + dpkg -l 14:20:32 + grep '^ii' 14:20:32 + '[' -f /tmp/packages_start.txt ']' 14:20:32 + '[' -f /tmp/packages_end.txt ']' 14:20:32 + diff /tmp/packages_start.txt /tmp/packages_end.txt 14:20:32 + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' 14:20:32 + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/ 14:20:32 + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/transportpce-tox-verify-transportpce-master/archives/ 14:20:32 + exit 0 14:20:32 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins13791589748260849598.sh 14:20:32 ---> capture-instance-metadata.sh 14:20:32 Setup pyenv: 14:20:32 system 14:20:32 3.8.20 14:20:32 3.9.20 14:20:32 3.10.15 14:20:32 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 14:20:33 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-jUCY from file:/tmp/.os_lf_venv 14:20:33 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 14:20:34 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/setuptools/ 14:20:35 lf-activate-venv(): INFO: Installing additional packages: lftools 14:20:37 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/bs4/ 14:20:38 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/idna/ 14:20:39 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/idna/ 14:20:40 WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/idna/ 14:20:40 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/jinja2/ 14:20:42 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/pyasn1-modules/ 14:20:42 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/pyasn1-modules/ 14:20:42 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/pygerrit2/ 14:20:43 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/pyjwt/ 14:20:43 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/pyjwt/ 14:20:44 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/python-jenkins/ 14:20:44 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/requests/ 14:20:45 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/requests/ 14:20:45 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/rsa/ 14:20:45 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/rsa/ 14:20:46 WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/rsa/ 14:20:51 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/pycparser/ 14:20:57 lf-activate-venv(): INFO: Adding /tmp/venv-jUCY/bin to PATH 14:20:57 INFO: Running in OpenStack, capturing instance metadata 14:20:57 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins3117744615525893784.sh 14:20:57 provisioning config files... 14:20:58 Could not find credentials [logs] for transportpce-tox-verify-transportpce-master #6081 14:20:58 copy managed file [jenkins-log-archives-settings] to file:/w/workspace/transportpce-tox-verify-transportpce-master@tmp/config7997868871893045642tmp 14:20:58 Regular expression run condition: Expression=[^.*logs-s3.*], Label=[odl-logs-s3-cloudfront-index] 14:20:58 Run condition [Regular expression match] enabling perform for step [Provide Configuration files] 14:20:58 provisioning config files... 14:20:58 copy managed file [jenkins-s3-log-ship] to file:/home/jenkins/.aws/credentials 14:20:58 [EnvInject] - Injecting environment variables from a build step. 14:20:58 [EnvInject] - Injecting as environment variables the properties content 14:20:58 SERVER_ID=logs 14:20:58 14:20:58 [EnvInject] - Variables injected successfully. 14:20:58 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins7121295664917014146.sh 14:20:58 ---> create-netrc.sh 14:20:58 WARN: Log server credential not found. 14:20:58 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins5491762784549419413.sh 14:20:58 ---> python-tools-install.sh 14:20:58 Setup pyenv: 14:20:58 system 14:20:58 3.8.20 14:20:58 3.9.20 14:20:58 3.10.15 14:20:58 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 14:20:58 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-jUCY from file:/tmp/.os_lf_venv 14:20:58 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 14:21:00 lf-activate-venv(): INFO: Installing additional packages: lftools 14:21:01 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/lftools/ 14:21:01 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/lftools/ 14:21:10 lf-activate-venv(): INFO: Adding /tmp/venv-jUCY/bin to PATH 14:21:10 [transportpce-tox-verify-transportpce-master] $ /bin/sh /tmp/jenkins12913575805937386801.sh 14:21:10 ---> uv-install.sh 14:21:10 uv 0.12.15 is already installed 14:21:10 uvx 0.12.15 (x86_64-unknown-linux-gnu) 14:21:10 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins457312886692245572.sh 14:21:10 ---> sudo-logs.sh 14:21:10 Archiving 'sudo' log.. 14:21:10 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins3539690135544570181.sh 14:21:10 ---> job-cost.sh 14:21:10 INFO: Activating Python virtual environment... 14:21:10 Setup pyenv: 14:21:11 system 14:21:11 3.8.20 14:21:11 3.9.20 14:21:11 3.10.15 14:21:11 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 14:21:11 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-jUCY from file:/tmp/.os_lf_venv 14:21:11 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 14:21:12 lf-activate-venv(): INFO: Installing additional packages: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 14:21:17 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'RemoteDisconnected('Remote end closed connection without response')': /repository/PyPi/simple/wrapt/ 14:21:18 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/wrapt/ 14:21:21 lf-activate-venv(): INFO: Adding /tmp/venv-jUCY/bin to PATH 14:21:21 INFO: No stack-cost file found 14:21:21 INFO: Instance uptime: 6237s 14:21:21 INFO: Fetching instance metadata (attempt 1 of 3)... 14:21:21 DEBUG: URL: http://169.254.169.254/latest/meta-data/instance-type 14:21:22 INFO: Successfully fetched instance metadata 14:21:22 INFO: Instance type: v3-standard-4 14:21:22 INFO: Retrieving pricing info for: v3-standard-4 14:21:22 INFO: Fetching Vexxhost pricing API (attempt 1 of 3)... 14:21:22 DEBUG: URL: https://pricing.vexxhost.net/v1/pricing/v3-standard-4/cost?seconds=6237 14:21:22 INFO: Successfully fetched Vexxhost pricing API 14:21:22 INFO: Retrieved cost: 0.22 14:21:22 INFO: Retrieved resource: v3-standard-4 14:21:22 INFO: Creating archive directory: /w/workspace/transportpce-tox-verify-transportpce-master/archives/cost 14:21:22 INFO: Archiving costs to: /w/workspace/transportpce-tox-verify-transportpce-master/archives/cost.csv 14:21:22 INFO: Successfully archived job cost data 14:21:22 DEBUG: Cost data: transportpce-tox-verify-transportpce-master,6081,2026-09-15 14:21:22,v3-standard-4,6237,0.22,0.00,FAILURE 14:21:22 [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins18388618697700497986.sh 14:21:22 ---> logs-deploy.sh 14:21:22 Setup pyenv: 14:21:22 system 14:21:22 3.8.20 14:21:22 3.9.20 14:21:22 3.10.15 14:21:22 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) 14:21:23 lf-activate-venv(): INFO: Reuse venv:/tmp/venv-jUCY from file:/tmp/.os_lf_venv 14:21:23 lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) 14:21:24 lf-activate-venv(): INFO: Installing additional packages: lftools urllib3~=1.26.15 14:21:29 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/xdg/ 14:21:30 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/setuptools/ 14:21:32 WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/s3transfer/ 14:21:32 WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1006)'))': /repository/PyPi/simple/s3transfer/ 14:21:35 lf-activate-venv(): INFO: Adding /tmp/venv-jUCY/bin to PATH 14:21:35 WARNING: Nexus logging server not set 14:21:35 INFO: S3 path logs/releng/vex-yul-odl-jenkins-1/transportpce-tox-verify-transportpce-master/6081/ 14:21:35 INFO: archiving logs to S3 14:21:37 ---> uname -a: 14:21:37 Linux prd-ubuntu2204-docker-4c-16g-8401 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux 14:21:37 14:21:37 14:21:37 ---> lscpu: 14:21:37 Architecture: x86_64 14:21:37 CPU op-mode(s): 32-bit, 64-bit 14:21:37 Address sizes: 40 bits physical, 48 bits virtual 14:21:37 Byte Order: Little Endian 14:21:37 CPU(s): 4 14:21:37 On-line CPU(s) list: 0-3 14:21:37 Vendor ID: AuthenticAMD 14:21:37 Model name: AMD EPYC-Rome Processor 14:21:37 CPU family: 23 14:21:37 Model: 49 14:21:37 Thread(s) per core: 1 14:21:37 Core(s) per socket: 1 14:21:37 Socket(s): 4 14:21:37 Stepping: 0 14:21:37 BogoMIPS: 5599.99 14:21:37 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean flushbyasid pausefilter pfthreshold v_vmsave_vmload vgif umip rdpid arch_capabilities 14:21:37 Virtualization: AMD-V 14:21:37 Hypervisor vendor: KVM 14:21:37 Virtualization type: full 14:21:37 L1d cache: 128 KiB (4 instances) 14:21:37 L1i cache: 128 KiB (4 instances) 14:21:37 L2 cache: 2 MiB (4 instances) 14:21:37 L3 cache: 64 MiB (4 instances) 14:21:37 NUMA node(s): 1 14:21:37 NUMA node0 CPU(s): 0-3 14:21:37 Vulnerability Gather data sampling: Not affected 14:21:37 Vulnerability Indirect target selection: Not affected 14:21:37 Vulnerability Itlb multihit: Not affected 14:21:37 Vulnerability L1tf: Not affected 14:21:37 Vulnerability Mds: Not affected 14:21:37 Vulnerability Meltdown: Not affected 14:21:37 Vulnerability Mmio stale data: Not affected 14:21:37 Vulnerability Reg file data sampling: Not affected 14:21:37 Vulnerability Retbleed: Mitigation; untrained return thunk; SMT disabled 14:21:37 Vulnerability Spec rstack overflow: Mitigation; SMT disabled 14:21:37 Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp 14:21:37 Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization 14:21:37 Vulnerability Spectre v2: Mitigation; Retpolines; IBPB conditional; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected 14:21:37 Vulnerability Srbds: Not affected 14:21:37 Vulnerability Tsa: Not affected 14:21:37 Vulnerability Tsx async abort: Not affected 14:21:37 Vulnerability Vmscape: Not affected 14:21:37 14:21:37 14:21:37 ---> nproc: 14:21:37 4 14:21:37 14:21:37 14:21:37 ---> df -h: 14:21:37 Filesystem Size Used Avail Use% Mounted on 14:21:37 tmpfs 1.6G 1.1M 1.6G 1% /run 14:21:37 /dev/vda1 78G 16G 62G 21% / 14:21:37 tmpfs 7.9G 0 7.9G 0% /dev/shm 14:21:37 tmpfs 5.0M 0 5.0M 0% /run/lock 14:21:37 /dev/vda15 105M 6.1M 99M 6% /boot/efi 14:21:37 tmpfs 1.6G 4.0K 1.6G 1% /run/user/1001 14:21:37 14:21:37 14:21:37 ---> free -m: 14:21:37 total used free shared buff/cache available 14:21:37 Mem: 15989 736 6785 4 8467 14909 14:21:37 Swap: 1023 0 1023 14:21:37 14:21:37 14:21:37 ---> ip addr: 14:21:37 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 14:21:37 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 14:21:37 inet 127.0.0.1/8 scope host lo 14:21:37 valid_lft forever preferred_lft forever 14:21:37 inet6 ::1/128 scope host 14:21:37 valid_lft forever preferred_lft forever 14:21:37 2: ens3: mtu 1458 qdisc mq state UP group default qlen 1000 14:21:37 link/ether fa:16:3e:17:58:54 brd ff:ff:ff:ff:ff:ff 14:21:37 altname enp0s3 14:21:37 inet 10.30.171.187/23 metric 100 brd 10.30.171.255 scope global dynamic ens3 14:21:37 valid_lft 80156sec preferred_lft 80156sec 14:21:37 inet6 fe80::f816:3eff:fe17:5854/64 scope link 14:21:37 valid_lft forever preferred_lft forever 14:21:37 3: docker0: mtu 1458 qdisc noqueue state DOWN group default 14:21:37 link/ether c2:60:d3:b9:1c:dc brd ff:ff:ff:ff:ff:ff 14:21:37 inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0 14:21:37 valid_lft forever preferred_lft forever 14:21:37 inet6 fe80::c060:d3ff:feb9:1cdc/64 scope link 14:21:37 valid_lft forever preferred_lft forever 14:21:37 14:21:37 14:21:37 ---> sar -b -r -n DEV: 14:21:37 Linux 5.15.0-190-generic (prd-ubuntu2204-docker-4c-16g-8401) 09/15/26 _x86_64_ (4 CPU) 14:21:37 14:21:37 12:37:36 LINUX RESTART (4 CPU) 14:21:37 14:21:37 12:40:08 tps rtps wtps dtps bread/s bwrtn/s bdscd/s 14:21:37 12:50:08 92.49 8.83 65.86 17.80 843.56 24331.97 227724.15 14:21:37 13:00:01 5.42 0.10 5.00 0.32 1.44 176.45 563.71 14:21:37 13:10:08 8.37 0.00 7.96 0.40 0.01 263.06 466.84 14:21:37 13:20:08 42.54 0.81 39.49 2.24 13.25 3285.76 1710.68 14:21:37 13:30:01 15.53 0.00 14.81 0.72 0.00 415.77 531.50 14:21:37 13:40:08 5.50 0.00 5.33 0.18 0.00 147.19 150.25 14:21:37 13:50:08 6.36 0.00 6.17 0.19 0.00 171.07 69.36 14:21:37 14:00:01 5.01 0.00 4.81 0.19 0.00 151.76 72.67 14:21:37 14:10:08 11.81 0.00 11.30 0.51 0.01 683.83 372.78 14:21:37 14:20:08 5.54 0.00 5.37 0.17 0.00 185.37 62.77 14:21:37 Average: 19.86 0.97 16.61 2.27 85.83 2981.68 23172.31 14:21:37 14:21:37 12:40:08 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 14:21:37 12:50:08 4736824 12490908 3440672 21.01 219664 7384476 4729104 27.15 1712208 9229764 1412 14:21:37 13:00:01 2894940 10657532 5272456 32.20 221188 7391504 5930160 34.04 1733208 11030780 252 14:21:37 13:10:08 1802168 9582664 6346440 38.76 222592 7407908 7068620 40.57 1739124 12130476 84 14:21:37 13:20:08 4274120 11852748 4075724 24.89 246928 7167868 4775056 27.41 1967620 9407472 364 14:21:37 13:30:01 3752876 11382096 4546676 27.77 249396 7215852 5280896 30.31 1986984 9917412 252 14:21:37 13:40:08 3628220 11276968 4651744 28.41 250148 7234620 5375696 30.86 1988356 10018644 96 14:21:37 13:50:08 2131892 9802812 6125052 37.41 250804 7255652 6879700 39.49 1990304 11523168 64 14:21:37 14:00:01 2081312 9774892 6153048 37.58 251464 7277108 6966336 39.99 1993976 11577364 232 14:21:37 14:10:08 3455040 11306512 4621964 28.23 255996 7420320 5362368 30.78 2010184 10182176 240 14:21:37 14:20:08 2700484 10583156 5344548 32.64 256820 7449680 5930612 34.04 2021812 10904612 520 14:21:37 Average: 3145788 10871029 5057832 30.89 242500 7320499 5829855 33.46 1914378 10592187 352 14:21:37 14:21:37 12:40:08 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 14:21:37 12:50:08 lo 9.27 9.27 5.42 5.42 0.00 0.00 0.00 0.00 14:21:37 12:50:08 ens3 190.29 149.79 2154.19 14.72 0.00 0.00 0.00 0.00 14:21:37 12:50:08 docker0 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 14:21:37 13:00:01 lo 15.36 15.36 8.34 8.34 0.00 0.00 0.00 0.00 14:21:37 13:00:01 ens3 0.69 0.60 0.15 0.13 0.00 0.00 0.00 0.00 14:21:37 13:00:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:21:37 13:10:08 lo 9.57 9.57 6.03 6.03 0.00 0.00 0.00 0.00 14:21:37 13:10:08 ens3 0.46 0.39 0.08 0.06 0.00 0.00 0.00 0.00 14:21:37 13:10:08 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:21:37 13:20:08 lo 25.45 25.45 18.77 18.77 0.00 0.00 0.00 0.00 14:21:37 13:20:08 ens3 2.28 2.23 0.72 0.53 0.00 0.00 0.00 0.00 14:21:37 13:20:08 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:21:37 13:30:01 lo 28.04 28.04 13.91 13.91 0.00 0.00 0.00 0.00 14:21:37 13:30:01 ens3 1.34 1.40 0.24 1.17 0.00 0.00 0.00 0.00 14:21:37 13:30:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:21:37 13:40:08 lo 24.10 24.10 8.99 8.99 0.00 0.00 0.00 0.00 14:21:37 13:40:08 ens3 0.56 0.59 0.11 0.10 0.00 0.00 0.00 0.00 14:21:37 13:40:08 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:21:37 13:50:08 lo 24.16 24.16 11.04 11.04 0.00 0.00 0.00 0.00 14:21:37 13:50:08 ens3 0.63 0.65 0.12 0.11 0.00 0.00 0.00 0.00 14:21:37 13:50:08 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:21:37 14:00:01 lo 11.96 11.96 7.61 7.61 0.00 0.00 0.00 0.00 14:21:37 14:00:01 ens3 0.63 0.45 0.16 0.12 0.00 0.00 0.00 0.00 14:21:37 14:00:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:21:37 14:10:08 lo 20.02 20.02 10.83 10.83 0.00 0.00 0.00 0.00 14:21:37 14:10:08 ens3 1.03 0.86 0.27 0.21 0.00 0.00 0.00 0.00 14:21:37 14:10:08 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:21:37 14:20:08 lo 33.23 33.23 12.92 12.92 0.00 0.00 0.00 0.00 14:21:37 14:20:08 ens3 6.68 4.37 4.29 2.93 0.00 0.00 0.00 0.00 14:21:37 14:20:08 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:21:37 Average: lo 20.11 20.11 10.38 10.38 0.00 0.00 0.00 0.00 14:21:37 Average: ens3 20.46 16.13 216.03 2.01 0.00 0.00 0.00 0.00 14:21:37 Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:21:37 14:21:37 14:21:37 ---> sar -P ALL: 14:21:37 Linux 5.15.0-190-generic (prd-ubuntu2204-docker-4c-16g-8401) 09/15/26 _x86_64_ (4 CPU) 14:21:37 14:21:37 12:37:36 LINUX RESTART (4 CPU) 14:21:37 14:21:37 12:40:08 CPU %user %nice %system %iowait %steal %idle 14:21:37 12:50:08 all 33.71 0.00 1.92 0.60 0.02 63.74 14:21:37 12:50:08 0 33.22 0.00 1.75 0.35 0.02 64.66 14:21:37 12:50:08 1 32.37 0.00 1.82 0.53 0.02 65.26 14:21:37 12:50:08 2 34.68 0.00 1.95 0.49 0.02 62.86 14:21:37 12:50:08 3 34.58 0.00 2.18 1.05 0.02 62.17 14:21:37 13:00:01 all 12.40 0.00 0.59 0.03 0.02 86.97 14:21:37 13:00:01 0 12.40 0.00 0.60 0.03 0.02 86.96 14:21:37 13:00:01 1 12.18 0.00 0.57 0.03 0.02 87.20 14:21:37 13:00:01 2 12.29 0.00 0.58 0.02 0.02 87.10 14:21:37 13:00:01 3 12.74 0.00 0.60 0.04 0.02 86.60 14:21:37 13:10:08 all 15.23 0.00 0.77 0.03 0.01 83.96 14:21:37 13:10:08 0 15.43 0.00 0.78 0.03 0.01 83.74 14:21:37 13:10:08 1 15.19 0.00 0.78 0.03 0.01 83.98 14:21:37 13:10:08 2 15.16 0.00 0.70 0.04 0.01 84.08 14:21:37 13:10:08 3 15.13 0.00 0.80 0.01 0.01 84.05 14:21:37 13:20:08 all 53.51 0.00 1.91 0.13 0.03 44.41 14:21:37 13:20:08 0 54.03 0.00 1.98 0.15 0.03 43.82 14:21:37 13:20:08 1 53.55 0.00 2.06 0.27 0.03 44.09 14:21:37 13:20:08 2 53.23 0.00 1.81 0.07 0.03 44.86 14:21:37 13:20:08 3 53.24 0.00 1.80 0.05 0.03 44.88 14:21:37 13:30:01 all 25.62 0.00 0.97 0.05 0.02 73.34 14:21:37 13:30:01 0 25.35 0.00 1.06 0.05 0.02 73.51 14:21:37 13:30:01 1 25.65 0.00 0.93 0.05 0.02 73.35 14:21:37 13:30:01 2 25.96 0.00 0.95 0.02 0.02 73.05 14:21:37 13:30:01 3 25.53 0.00 0.93 0.06 0.02 73.45 14:21:37 13:40:08 all 8.41 0.00 0.55 0.03 0.01 91.00 14:21:37 13:40:08 0 8.33 0.00 0.60 0.01 0.01 91.04 14:21:37 13:40:08 1 8.66 0.00 0.56 0.01 0.01 90.76 14:21:37 13:40:08 2 8.49 0.00 0.54 0.03 0.01 90.94 14:21:37 13:40:08 3 8.18 0.00 0.51 0.06 0.01 91.25 14:21:37 13:50:08 all 10.39 0.00 0.64 0.03 0.01 88.93 14:21:37 13:50:08 0 9.83 0.00 0.68 0.06 0.01 89.42 14:21:37 13:50:08 1 10.74 0.00 0.61 0.02 0.02 88.62 14:21:37 13:50:08 2 10.46 0.00 0.64 0.02 0.01 88.86 14:21:37 13:50:08 3 10.53 0.00 0.63 0.03 0.02 88.80 14:21:37 14:00:01 all 9.52 0.00 0.55 0.02 0.01 89.89 14:21:37 14:00:01 0 9.46 0.00 0.57 0.02 0.01 89.94 14:21:37 14:00:01 1 9.30 0.00 0.67 0.01 0.02 90.01 14:21:37 14:00:01 2 9.01 0.00 0.52 0.03 0.02 90.43 14:21:37 14:00:01 3 10.30 0.00 0.46 0.03 0.01 89.20 14:21:37 14:10:08 all 18.84 0.00 0.80 0.05 0.01 80.30 14:21:37 14:10:08 0 18.07 0.00 0.89 0.03 0.01 81.00 14:21:37 14:10:08 1 19.83 0.00 0.84 0.03 0.01 79.28 14:21:37 14:10:08 2 18.85 0.00 0.77 0.13 0.02 80.23 14:21:37 14:10:08 3 18.61 0.00 0.69 0.02 0.01 80.67 14:21:37 14:20:08 all 10.34 0.00 0.54 0.03 0.01 89.08 14:21:37 14:20:08 0 10.16 0.00 0.59 0.01 0.01 89.23 14:21:37 14:20:08 1 9.89 0.00 0.54 0.03 0.01 89.53 14:21:37 14:20:08 2 10.75 0.00 0.49 0.04 0.01 88.71 14:21:37 14:20:08 3 10.55 0.00 0.54 0.05 0.01 88.85 14:21:37 Average: all 19.79 0.00 0.92 0.10 0.02 79.17 14:21:37 Average: 0 19.62 0.00 0.95 0.07 0.02 79.34 14:21:37 Average: 1 19.73 0.00 0.94 0.10 0.02 79.21 14:21:37 Average: 2 19.88 0.00 0.89 0.09 0.02 79.12 14:21:37 Average: 3 19.93 0.00 0.91 0.14 0.02 79.00 14:21:37 14:21:37 14:21:37