Triggered by Gerrit: https://git.opendaylight.org/gerrit/c/transportpce/+/126721 Running as SYSTEM [EnvInject] - Loading node environment variables. Building remotely on prd-ubuntu2204-docker-4c-16g-62480 (ubuntu2204-docker-4c-16g) in workspace /w/workspace/transportpce-tox-verify-transportpce-master [ssh-agent] Looking for ssh-agent implementation... [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-XXXXXXW20YBj/agent.10991 SSH_AGENT_PID=10993 [ssh-agent] Started. Running ssh-add (command line suppressed) Identity added: /w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_1928725109497412876.key (/w/workspace/transportpce-tox-verify-transportpce-master@tmp/private_key_1928725109497412876.key) [ssh-agent] Using credentials jenkins (jenkins-ssh) The recommended git tool is: NONE using credential jenkins-ssh Wiping out workspace first. Cloning the remote Git repository Cloning repository git://devvexx.opendaylight.org/mirror/transportpce > git init /w/workspace/transportpce-tox-verify-transportpce-master # timeout=10 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce > git --version # timeout=10 > git --version # 'git version 2.34.1' using GIT_SSH to set credentials jenkins-ssh Verifying host key using known hosts file, will automatically accept unseen keys > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/* # timeout=10 > git config remote.origin.url git://devvexx.opendaylight.org/mirror/transportpce # timeout=10 Fetching upstream changes from git://devvexx.opendaylight.org/mirror/transportpce using GIT_SSH to set credentials jenkins-ssh Verifying host key using known hosts file, will automatically accept unseen keys > git fetch --tags --force --progress -- git://devvexx.opendaylight.org/mirror/transportpce refs/changes/21/126721/1 # timeout=10 > git rev-parse 6c46329f071916d0846a4ce350a395776f904fdb^{commit} # timeout=10 JENKINS-19022: warning: possible memory leak due to Git plugin usage; see: https://plugins.jenkins.io/git/#remove-git-plugin-buildsbybranch-builddata-script Checking out Revision 6c46329f071916d0846a4ce350a395776f904fdb (refs/changes/21/126721/1) > git config core.sparsecheckout # timeout=10 > git checkout -f 6c46329f071916d0846a4ce350a395776f904fdb # timeout=10 Commit message: "Add Nexus IQ policy evaluation to CLM scan" > git rev-parse FETCH_HEAD^{commit} # timeout=10 > git rev-list --no-walk 778c4831b98f585a845bf3baa723efd596bd713c # timeout=10 > git remote # timeout=10 > git submodule init # timeout=10 > git submodule sync # timeout=10 > git config --get remote.origin.url # timeout=10 > git submodule init # timeout=10 > git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10 ERROR: No submodules found. provisioning config files... copy managed file [npmrc] to file:/home/jenkins/.npmrc copy managed file [pipconf] to file:/home/jenkins/.config/pip/pip.conf [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins4950901839769776258.sh ---> python-tools-install.sh Setup pyenv: * system (set by /opt/pyenv/version) * 3.8.20 (set by /opt/pyenv/version) * 3.9.20 (set by /opt/pyenv/version) 3.10.15 3.11.10 lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-mp8Y lf-activate-venv(): INFO: Save venv in file: /tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-mp8Y/bin to PATH Generating Requirements File 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. httplib2 0.30.2 requires pyparsing<4,>=3.0.4, but you have pyparsing 2.4.7 which is incompatible. Python 3.11.10 pip 26.2.1 from /tmp/venv-mp8Y/lib/python3.11/site-packages/pip (python 3.11) aiohappyeyeballs==2.7.1 aiohttp==3.14.4 aiosignal==1.4.0 appdirs==1.4.4 argcomplete==3.7.2 aspy.yaml==1.3.0 attrs==26.1.0 autopage==0.6.0 beautifulsoup4==4.15.0 boto3==1.43.109 botocore==1.43.109 bs4==0.0.2 certifi==2026.7.22 cffi==2.1.1 cfgv==3.5.0 chardet==7.6.0 charset-normalizer==3.5.2 click==8.5.0 cliff==4.16.0 cmd2==4.2.4 cryptography==3.3.2 debtcollector==3.1.0 decorator==5.3.1 defusedxml==0.7.1 Deprecated==1.3.1 distlib==0.4.3 dnspython==2.8.0 docker==7.2.0 dogpile.cache==1.5.0 durationpy==0.11 email-validator==2.3.0 filelock==4.0.12 frozenlist==1.8.0 future==1.0.0 gitdb==4.0.12 GitPython==3.2.0 httplib2==0.30.2 identify==2.6.20 idna==3.20 importlib-resources==1.5.0 iso8601==2.1.0 Jinja2==3.1.6 jmespath==1.1.0 jsonpatch==1.33 jsonpointer==3.2.0 jsonschema==4.26.0 jsonschema-specifications==2025.9.1 keystoneauth1==5.18.0 kubernetes==36.0.3 lftools==0.37.23 lxml==6.1.3 markdown-it-py==4.2.0 MarkupSafe==3.0.4 mdurl==0.1.2 msgpack==1.2.3 multi_key_dict==2.0.3 multidict==6.9.1 munch==4.0.0 netaddr==1.3.0 niet==1.4.2 nodeenv==1.11.0 oauth2client==4.1.3 oauthlib==4.0.0 openstacksdk==4.21.0 os-service-types==1.9.0 osc-lib==4.7.0 oslo.config==10.7.0 oslo.context==6.5.0 oslo.i18n==6.9.0 oslo.log==8.3.2 oslo.serialization==5.11.0 oslo.utils==10.2.0 packaging==26.3 pbr==7.1.3 platformdirs==4.12.3 prettytable==3.18.0 prompt_toolkit==3.0.53 propcache==0.5.4 psutil==7.2.2 pyasn1==0.6.4 pyasn1_modules==0.4.2 pycparser==3.0 pygerrit2==2.0.15 PyGithub==2.10.0 Pygments==2.21.0 PyJWT==2.15.1 PyNaCl==1.6.2 pyparsing==2.4.7 pyperclip==1.11.0 pyrsistent==0.20.0 python-dateutil==2.9.0.post0 python-discovery==1.6.1 python-heatclient==5.3.0 python-jenkins==1.8.3 python-keystoneclient==6.0.0 python-magnumclient==5.0.0 python-manilaclient==6.3.0 python-openstackclient==10.3.0 python-swiftclient==4.11.0 PyYAML==6.0.3 referencing==0.37.0 requests==2.34.2 requests-oauthlib==2.0.0 rfc3986==2.0.0 rich==15.0.0 rich-argparse==1.8.0 rpds-py==2026.9.1 rsa==4.9.1 ruamel.yaml==0.19.1 ruamel.yaml.clib==0.2.15 s3transfer==0.19.2 simplejson==4.2.0 six==1.17.0 smmap==5.0.3 soupsieve==2.10 stevedore==5.9.1 tabulate==0.10.0 toml==0.10.2 tomlkit==0.15.1 tqdm==4.70.1 typing_extensions==4.16.0 urllib3==1.26.20 virtualenv==21.14.5 wcwidth==0.9.2 websocket-client==1.9.2 wrapt==2.5.0 xdg==6.0.0 xmltodict==1.0.4 yarl==1.25.1 yq==4.4.0 [transportpce-tox-verify-transportpce-master] $ /bin/sh /tmp/jenkins1827863190228241680.sh ---> uv-install.sh Installing uv/uvx (latest) using shell installer 2026-10-07 21:55:25 URL:https://releases.astral.sh/installers/uv/latest/uv-installer.sh [71308/71308] -> "/tmp/uv-install-tXfzX4.sh" [1] downloading uv 0.12.23 x86_64-unknown-linux-gnu installing to /home/jenkins/.local/bin uv uvx everything's installed! To add $HOME/.local/bin to your PATH, either restart your shell or run: source $HOME/.local/bin/env (sh, bash, zsh) source $HOME/.local/bin/env.fish (fish) Adding install location to PATH ---> Validating uv/uvx install uvx 0.12.23 (x86_64-unknown-linux-gnu) [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PYTHON=python3 [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins17122961669851546763.sh ---> tox-install.sh + source /home/jenkins/lf-env.sh + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 ++ mktemp -d /tmp/venv-XXXX + lf_venv=/tmp/venv-dKEV + local venv_file=/tmp/.os_lf_venv + local python=python3 + local options + local set_path=true + local install_args= ++ 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 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 + true + case $1 in + venv_file=/tmp/.toxenv + shift 2 + true + case $1 in + shift + break + case $python in + local pkg_list= + [[ -d /opt/pyenv ]] + echo 'Setup pyenv:' Setup pyenv: + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + 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 + 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 + pyenv versions system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ 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 ++ 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 ++ 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 ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ awk '{ print $1 }' ++ sed 's/^[ *]* //' ++ grep -E '^[0-9.]*[0-9]$' ++ [[ ! -s /tmp/.pyenv_versions ]] +++ grep '^3' /tmp/.pyenv_versions +++ sort -V +++ tail -n 1 ++ py_version_xyz=3.11.10 ++ [[ -z 3.11.10 ]] ++ echo 3.11.10 ++ return 0 + pyenv local 3.11.10 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.11.10 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] + [[ ! -f /tmp/.toxenv ]] + [[ -n '' ]] + python3 -m venv /tmp/venv-dKEV + echo 'lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-dKEV' lf-activate-venv(): INFO: Creating python3 venv at /tmp/venv-dKEV + echo /tmp/venv-dKEV + echo 'lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv' lf-activate-venv(): INFO: Save venv in file: /tmp/.toxenv + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) + local 'pip_opts=--upgrade --quiet' + pip_opts='--upgrade --quiet --trusted-host pypi.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' + [[ -n '' ]] + [[ -n '' ]] + lf-venv-pip-install /tmp/venv-dKEV/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv + local venv_python=/tmp/venv-dKEV/bin/python3 + shift + local upstream=https://pypi.org/simple + /tmp/venv-dKEV/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 + return 0 + [[ -z tox virtualenv urllib3~=1.26.15 ]] + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 + lf-venv-pip-install /tmp/venv-dKEV/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 + local venv_python=/tmp/venv-dKEV/bin/python3 + shift + local upstream=https://pypi.org/simple + /tmp/venv-dKEV/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 + return 0 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-dKEV/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-dKEV/bin to PATH + PATH=/tmp/venv-dKEV/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 + return 0 + python3 --version Python 3.11.10 + python3 -m pip --version pip 26.2.1 from /tmp/venv-dKEV/lib/python3.11/site-packages/pip (python 3.11) + python3 -m pip freeze cachetools==7.2.1 colorama==0.4.6 distlib==0.4.3 filelock==4.0.12 packaging==26.3 platformdirs==4.12.3 pluggy==1.6.0 pyproject-api==1.11.3 python-discovery==1.6.1 tomli_w==1.2.0 tox==4.64.9 typing_extensions==4.16.0 urllib3==1.26.20 virtualenv==21.14.5 [transportpce-tox-verify-transportpce-master] $ /bin/sh -xe /tmp/jenkins13279064056032825510.sh [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content PARALLEL=True [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins13977201805504136359.sh ---> tox-run.sh + 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 + ARCHIVE_TOX_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/tox + ARCHIVE_DOC_DIR=/w/workspace/transportpce-tox-verify-transportpce-master/archives/docs + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox + cd /w/workspace/transportpce-tox-verify-transportpce-master/. + source /home/jenkins/lf-env.sh + lf-activate-venv --venv-file /tmp/.toxenv tox virtualenv urllib3~=1.26.15 ++ mktemp -d /tmp/venv-XXXX + lf_venv=/tmp/venv-xcd5 + local venv_file=/tmp/.os_lf_venv + local python=python3 + local options + local set_path=true + local install_args= ++ 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 + options=' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' + eval set -- ' --venv-file '\''/tmp/.toxenv'\'' -- '\''tox'\'' '\''virtualenv'\'' '\''urllib3~=1.26.15'\''' ++ set -- --venv-file /tmp/.toxenv -- tox virtualenv urllib3~=1.26.15 + true + case $1 in + venv_file=/tmp/.toxenv + shift 2 + true + case $1 in + shift + break + case $python in + local pkg_list= + [[ -d /opt/pyenv ]] + echo 'Setup pyenv:' Setup pyenv: + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + 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 + 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 + pyenv versions system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) + command -v pyenv ++ pyenv init - --no-rehash + eval 'PATH="$(bash --norc -ec '\''IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "'\'''\''/opt/pyenv/shims'\'''\''" ]]; then unset '\''\'\'''\''paths[i]'\''\'\'''\''; fi; done; echo "${paths[*]}"'\'')" export PATH="/opt/pyenv/shims:${PATH}" export PYENV_SHELL=bash source '\''/opt/pyenv/libexec/../completions/pyenv.bash'\'' pyenv() { local command command="${1:-}" if [ "$#" -gt 0 ]; then shift fi case "$command" in rehash|shell) eval "$(pyenv "sh-$command" "$@")" ;; *) command pyenv "$command" "$@" ;; esac }' +++ bash --norc -ec 'IFS=:; paths=($PATH); for i in ${!paths[@]}; do if [[ ${paths[i]} == "/opt/pyenv/shims" ]]; then unset '\''paths[i]'\''; fi; done; echo "${paths[*]}"' ++ 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 ++ 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 ++ 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 ++ export PYENV_SHELL=bash ++ PYENV_SHELL=bash ++ source /opt/pyenv/libexec/../completions/pyenv.bash +++ complete -F _pyenv pyenv ++ lf-pyver python3 ++ local py_version_xy=python3 ++ local py_version_xyz= ++ pyenv versions ++ local command ++ command=versions ++ '[' 1 -gt 0 ']' ++ shift ++ case "$command" in ++ command pyenv versions ++ sed 's/^[ *]* //' ++ grep -E '^[0-9.]*[0-9]$' ++ awk '{ print $1 }' ++ [[ ! -s /tmp/.pyenv_versions ]] +++ grep '^3' /tmp/.pyenv_versions +++ sort -V +++ tail -n 1 ++ py_version_xyz=3.11.10 ++ [[ -z 3.11.10 ]] ++ echo 3.11.10 ++ return 0 + pyenv local 3.11.10 + local command + command=local + '[' 2 -gt 0 ']' + shift + case "$command" in + command pyenv local 3.11.10 + for arg in "$@" + case $arg in + pkg_list+='tox ' + for arg in "$@" + case $arg in + pkg_list+='virtualenv ' + for arg in "$@" + case $arg in + pkg_list+='urllib3~=1.26.15 ' + [[ -f /tmp/.toxenv ]] ++ cat /tmp/.toxenv + lf_venv=/tmp/venv-dKEV + echo 'lf-activate-venv(): INFO: Reuse venv:/tmp/venv-dKEV from' file:/tmp/.toxenv lf-activate-venv(): INFO: Reuse venv:/tmp/venv-dKEV from file:/tmp/.toxenv + echo 'lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv)' lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) + local 'pip_opts=--upgrade --quiet' + pip_opts='--upgrade --quiet --trusted-host pypi.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org' + pip_opts='--upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org' + [[ -n '' ]] + [[ -n '' ]] + lf-venv-pip-install /tmp/venv-dKEV/bin/python3 --upgrade --quiet --trusted-host pypi.org --trusted-host files.pythonhosted.org --trusted-host pypi.python.org pip 'setuptools<66' virtualenv + local venv_python=/tmp/venv-dKEV/bin/python3 + shift + local upstream=https://pypi.org/simple + /tmp/venv-dKEV/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 + return 0 + [[ -z tox virtualenv urllib3~=1.26.15 ]] + echo 'lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 ' lf-activate-venv(): INFO: Installing additional packages: tox virtualenv urllib3~=1.26.15 + lf-venv-pip-install /tmp/venv-dKEV/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 + local venv_python=/tmp/venv-dKEV/bin/python3 + shift + local upstream=https://pypi.org/simple + /tmp/venv-dKEV/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 + return 0 + type python3 + true + echo 'lf-activate-venv(): INFO: Adding /tmp/venv-dKEV/bin to PATH' lf-activate-venv(): INFO: Adding /tmp/venv-dKEV/bin to PATH + PATH=/tmp/venv-dKEV/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 + return 0 + [[ -d /opt/pyenv ]] + echo '---> Setting up pyenv' ---> Setting up pyenv + export PYENV_ROOT=/opt/pyenv + PYENV_ROOT=/opt/pyenv + export PATH=/opt/pyenv/bin:/tmp/venv-dKEV/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 + PATH=/opt/pyenv/bin:/tmp/venv-dKEV/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 ++ pwd + PYTHONPATH=/w/workspace/transportpce-tox-verify-transportpce-master + export PYTHONPATH + export TOX_TESTENV_PASSENV=PYTHONPATH + TOX_TESTENV_PASSENV=PYTHONPATH + tox --version 4.64.9 from /tmp/venv-dKEV/lib/python3.11/site-packages/tox/__init__.py + PARALLEL=True + TOX_OPTIONS_LIST= + [[ -n '' ]] + case ${PARALLEL,,} in + TOX_OPTIONS_LIST=' --parallel auto --parallel-live' + tox --parallel auto --parallel-live + tee -a /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tox.log docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt checkbashisms: freeze> python -m pip freeze --all 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 docs: install_deps> python -I -m pip install -r docs/requirements.txt checkbashisms: pip==26.2.1,setuptools==84.0.0 checkbashisms: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh 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)' checkbashisms: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> find . -not -path '*/\.*' -name '*.sh' -exec checkbashisms -f '{}' + checkbashisms: OK ✔ in 3.2 seconds pre-commit: install_deps> python -I -m pip install pre-commit pre-commit: freeze> python -m pip freeze --all pre-commit: cfgv==3.5.0,distlib==0.4.3,filelock==4.0.12,identify==2.6.20,nodeenv==1.11.0,packaging==26.3,pip==26.2.1,platformdirs==4.12.3,pre_commit==4.6.2,python-discovery==1.6.1,PyYAML==6.0.3,setuptools==84.0.0,virtualenv==21.14.5 pre-commit: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./fixCIcentOS8reposMirrors.sh 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)' /usr/bin/cpan pre-commit: commands[2] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run --all-files --show-diff-on-failure [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Initializing environment for https://github.com/jorisroovers/gitlint. [INFO] Initializing environment for https://github.com/jorisroovers/gitlint:./gitlint-core[trusted-deps]. [INFO] Initializing environment for https://github.com/Lucas-C/pre-commit-hooks. [INFO] Initializing environment for https://github.com/hhatto/autopep8. buildcontroller: freeze> python -m pip freeze --all [INFO] Initializing environment for https://github.com/perltidy/perltidy. buildcontroller: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,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.8.0 buildcontroller: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_controller.sh + update-java-alternatives -l java-1.11.0-openjdk-amd64 1111 /usr/lib/jvm/java-1.11.0-openjdk-amd64 java-1.17.0-openjdk-amd64 1711 /usr/lib/jvm/java-1.17.0-openjdk-amd64 java-1.21.0-openjdk-amd64 2111 /usr/lib/jvm/java-1.21.0-openjdk-amd64 + sudo update-java-alternatives -s java-1.21.0-openjdk-amd64 update-alternatives: error: no alternatives for jaotc update-alternatives: error: no alternatives for rmic + java -version + sed -n ;s/.* version "\(.*\)\.\(.*\)\..*".*$/\1/p; + JAVA_VER=21.0 + echo 21.0 21.0 + sed -n ;s/javac \(.*\)\.\(.*\)\..*.*$/\1/p; + javac -version + JAVAC_VER=21.0 + echo 21.0 21.0 No java21 or newer available + [ 21.0 -ge 21 ] ./installMavenUbuntu.sh: 14: [: Illegal number: 21.0 + echo No java21 or newer available + exit 1 buildcontroller: exit 1 (0.65 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_controller.sh pid=12243 buildcontroller: FAIL ✖ in 9.64 seconds pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' [INFO] Initializing environment for https://github.com/koalaman/shellcheck-precommit. [INFO] Initializing environment for https://github.com/pre-commit/mirrors-prettier. [INFO] Initializing environment for https://github.com/pre-commit/mirrors-prettier:prettier@4.0.0-alpha.8. [INFO] Initializing environment for https://github.com/adrienverge/yamllint. [INFO] Installing environment for https://github.com/pre-commit/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... pylint: freeze> python -m pip freeze --all pylint: astroid==4.3.3,dill==0.4.1,isort==9.0.2,mccabe==0.7.0,mypy_extensions==1.1.0,pip==26.2.1,platformdirs==4.12.3,pylint==4.1.2,setuptools==84.0.0,tomlkit==0.15.1 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}$' '{}' + docs: freeze> python -m pip freeze --all docs-linkcheck: freeze> python -m pip freeze --all docs: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.7.22,charset-normalizer==3.5.2,deepmerge==3.0.1,docutils==0.22.4,idna==3.20,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.4,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.9.1,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.1.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.8.0 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 docs-linkcheck: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.7.22,charset-normalizer==3.5.2,deepmerge==3.0.1,docutils==0.22.4,idna==3.20,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.4,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.9.1,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.1.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.8.0 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 [INFO] Installing environment for https://github.com/Lucas-C/pre-commit-hooks. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... docs: OK ✔ in 17.8 seconds 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 docs-linkcheck: OK ✔ in 20.09 seconds 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 [INFO] Installing environment for https://github.com/hhatto/autopep8. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... build_karaf_tests221: freeze> python -m pip freeze --all build_karaf_tests221: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,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.8.0 build_karaf_tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh ./build_karaf_for_tests.sh: 21: cd: can't cd to ../karaf221 ./build_karaf_for_tests.sh: 22: mvn: not found ./build_karaf_for_tests.sh: 23: ./target/assembly/ressources/post_install_for_tests.sh: not found build karaf in karaf221 with ./karaf221.env build_karaf_tests221: exit 127 (0.00 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh pid=12756 build_karaf_tests221: FAIL ✖ in 6.95 seconds 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 [INFO] Installing environment for https://github.com/perltidy/perltidy. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... build_karaf_tests71: freeze> python -m pip freeze --all build_karaf_tests71: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,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.8.0 build_karaf_tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh ./build_karaf_for_tests.sh: 21: cd: can't cd to ../karaf71 ./build_karaf_for_tests.sh: 22: mvn: not found build karaf in karaf71 with ./karaf71.env ./build_karaf_for_tests.sh: 23: ./target/assembly/ressources/post_install_for_tests.sh: not found build_karaf_tests71: exit 127 (0.00 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh pid=12784 build_karaf_tests71: FAIL ✖ in 6.5 seconds 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 ************* Module 2.2.1.test12_end2end transportpce_tests/2.2.1/test12_end2end.py:435:0: C0325: Unnecessary parens after 'in' keyword (superfluous-parens) ************* Module common.test_utils transportpce_tests/common/test_utils.py:532:0: C0325: Unnecessary parens after 'in' keyword (superfluous-parens) transportpce_tests/common/test_utils.py:555:0: C0325: Unnecessary parens after 'in' keyword (superfluous-parens) transportpce_tests/common/test_utils.py:581:0: C0325: Unnecessary parens after 'in' keyword (superfluous-parens) transportpce_tests/common/test_utils.py:617:0: C0325: Unnecessary parens after 'in' keyword (superfluous-parens) transportpce_tests/common/test_utils.py:635:0: C0325: Unnecessary parens after 'in' keyword (superfluous-parens) transportpce_tests/common/test_utils.py:666:0: C0325: Unnecessary parens after 'in' keyword (superfluous-parens) transportpce_tests/common/test_utils.py:687:0: C0325: Unnecessary parens after 'in' keyword (superfluous-parens) ----------------------------------- Your code has been rated at 9.99/10 build_karaf_tests200: freeze> python -m pip freeze --all build_karaf_tests200: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,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.8.0 build_karaf_tests200: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh ./build_karaf_for_tests.sh: 21: cd: can't cd to ../karafoc200 ./build_karaf_for_tests.sh: 22: mvn: not found ./build_karaf_for_tests.sh: 23: ./target/assembly/ressources/post_install_for_tests.sh: not found build karaf in karafoc200 with ./karafoc200.env build_karaf_tests200: exit 127 (0.00 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./build_karaf_for_tests.sh pid=12811 build_karaf_tests200: FAIL ✖ in 6.48 seconds 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 pylint: exit 1 (17.93 seconds) /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}$' '{}' + pid=12642 pylint: FAIL ✖ in 22.68 seconds 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 buildlighty: freeze> python -m pip freeze --all buildlighty: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,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.8.0 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/lighty> ./build.sh ./build.sh: 7: mvn: not found unzip: cannot find or open target/tpce-bin.zip, target/tpce-bin.zip.zip or target/tpce-bin.zip.ZIP. buildlighty: exit 9 (0.01 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/lighty> ./build.sh pid=12934 [INFO] Installing environment for https://github.com/pre-commit/mirrors-prettier. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... [INFO] Installing environment for https://github.com/adrienverge/yamllint. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... buildlighty: FAIL ✖ in 6.51 seconds sims: freeze> python -m pip freeze --all sims: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,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.8.0 sims: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./install_lightynode.sh Using lighynode version 22.1.0.7 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory trim trailing whitespace.................................................Passed fix end of files.........................................................Passed check for added large files..............................................Passed check for merge conflicts................................................Passed check for case conflicts.................................................Passed check json...............................................................Passed mixed line ending........................................................Passed Tabs remover.............................................................Passed autopep8.................................................................Passed perltidy.................................................................Passed ShellCheck v0.11.0.......................................................Passed prettier.................................................................Passed yamllint.................................................................Passed sims: OK ✔ in 9.7 seconds pre-commit: commands[3] /w/workspace/transportpce-tox-verify-transportpce-master/tests> pre-commit run gitlint-ci --hook-stage manual [INFO] Installing environment for https://github.com/jorisroovers/gitlint. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... gitlint..................................................................Passed pre-commit: OK ✔ in 57.04 seconds testsPCE: freeze> python -m pip freeze --all testsPCE: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,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.66.1,gnpy4tpce==2.4.7,idna==3.20,iniconfig==2.3.1,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.4,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.3,pytest==9.1.1,python-dateutil==2.9.0.post0,pytz==2026.5,requests==2.34.2,scipy==1.17.1,setuptools==50.3.2,six==1.17.0,urllib3==2.8.0,Werkzeug==2.0.3,xlrd==1.2.0 testsPCE: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce pytest -q transportpce_tests/pce/test01_pce.py EEEEEEEEEEEEEEEEEEEE [100%] ==================================== ERRORS ==================================== _______ ERROR at setup of TestTransportPCEPce.test_01_load_port_mapping ________ cls = @classmethod def setUpClass(cls): # pylint: disable=bare-except sample_files_parsed = False time.sleep(20) try: TOPO_BI_DIR_FILE = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..", "..", "sample_configs", "honeynode-topo.json") with open(TOPO_BI_DIR_FILE, 'r', encoding='utf-8') as topo_bi_dir: cls.simple_topo_bi_dir_data = topo_bi_dir.read() TOPO_UNI_DIR_FILE = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..", "..", "sample_configs", "NW-simple-topology.json") with open(TOPO_UNI_DIR_FILE, 'r', encoding='utf-8') as topo_uni_dir: cls.simple_topo_uni_dir_data = topo_uni_dir.read() TOPO_UNI_DIR_COMPLEX_FILE = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..", "..", "sample_configs", "NW-for-test-5-4.json") with open(TOPO_UNI_DIR_COMPLEX_FILE, 'r', encoding='utf-8') as topo_uni_dir_complex: cls.complex_topo_uni_dir_data = topo_uni_dir_complex.read() PORT_MAPPING_FILE = os.path.join(os.path.dirname(os.path.realpath(__file__)), "..", "..", "sample_configs", "pce_portmapping_221.json") with open(PORT_MAPPING_FILE, 'r', encoding='utf-8') as port_mapping: cls.port_mapping_data = port_mapping.read() sample_files_parsed = True except PermissionError as err: print("Permission Error when trying to read sample files\n", err) sys.exit(2) except FileNotFoundError as err: print("File Not found Error when trying to read sample files\n", err) sys.exit(2) except: print("Unexpected error when trying to read sample files\n", sys.exc_info()[0]) sys.exit(2) finally: if sample_files_parsed: print("sample files content loaded") > cls.processes = test_utils.start_tpce() ^^^^^^^^^^^^^^^^^^^^^^^ transportpce_tests/pce/test01_pce.py:93: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def start_tpce(): if 'NO_ODL_STARTUP' in os.environ: print('No OpenDaylight instance to start!') return [] print('starting OpenDaylight...') if 'USE_LIGHTY' in os.environ and os.environ['USE_LIGHTY'] == 'True': process = start_lighty() else: process = start_karaf() if wait_until_log_contains(TPCE_LOG, [LIGHTY_OK_START_MSG, KARAF_OK_START_MSG], time_to_wait=100): print('OpenDaylight started !') else: print('OpenDaylight failed to start !') shutdown_process(process) for pid in process_list: shutdown_process(pid) > sys.exit(1) E SystemExit: 1 transportpce_tests/common/test_utils.py:234: SystemExit ---------------------------- Captured stdout setup ----------------------------- sample files content loaded starting OpenDaylight... starting KARAF (karaf) TransportPCE build... Pattern not found after 100 seconds! OpenDaylight failed to start ! ____ ERROR at setup of TestTransportPCEPce.test_02_load_simple_topology_bi _____ cls = func = . at 0x7f2776d73380> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___________ ERROR at setup of TestTransportPCEPce.test_03_get_nodeId ___________ cls = func = . at 0x7f2776d87c40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___________ ERROR at setup of TestTransportPCEPce.test_04_get_linkId ___________ cls = func = . at 0x7f2776d87420> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ____ ERROR at setup of TestTransportPCEPce.test_05_path_computation_xpdr_bi ____ cls = func = . at 0x7f2776d73380> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ____ ERROR at setup of TestTransportPCEPce.test_06_path_computation_rdm_bi _____ cls = func = . at 0x7f2776d871a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ____ ERROR at setup of TestTransportPCEPce.test_07_load_simple_topology_uni ____ cls = func = . at 0x7f2776d876a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___________ ERROR at setup of TestTransportPCEPce.test_08_get_nodeId ___________ cls = func = . at 0x7f27767e1da0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___________ ERROR at setup of TestTransportPCEPce.test_09_get_linkId ___________ cls = func = . at 0x7f2776d73ec0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___ ERROR at setup of TestTransportPCEPce.test_10_path_computation_xpdr_uni ____ cls = func = . at 0x7f2776d73380> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ____ ERROR at setup of TestTransportPCEPce.test_11_path_computation_rdm_uni ____ cls = func = . at 0x7f2776d73ec0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _____ ERROR at setup of TestTransportPCEPce.test_12_load_complex_topology ______ cls = func = . at 0x7f27767e1940> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___________ ERROR at setup of TestTransportPCEPce.test_13_get_nodeId ___________ cls = func = . at 0x7f2776d871a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _____ ERROR at setup of TestTransportPCEPce.test_14_fail_path_computation ______ cls = func = . at 0x7f2776d73380> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___ ERROR at setup of TestTransportPCEPce.test_15_success1_path_computation ____ cls = func = . at 0x7f27767e2980> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___ ERROR at setup of TestTransportPCEPce.test_16_success2_path_computation ____ cls = func = . at 0x7f2776d84540> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___ ERROR at setup of TestTransportPCEPce.test_17_success3_path_computation ____ cls = func = . at 0x7f2776d73380> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPce.test_18_path_computation_before_oms_attribute_deletion _ cls = func = . at 0x7f27767e22a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPce.test_19_delete_oms_attribute_in_openroadm13toopenroadm12_link _ cls = func = . at 0x7f2776d871a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPce.test_20_path_computation_after_oms_attribute_deletion _ cls = func = . at 0x7f2776d842c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_01_load_port_mapping ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_02_load_simple_topology_bi ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_03_get_nodeId ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_04_get_linkId ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_05_path_computation_xpdr_bi ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_06_path_computation_rdm_bi ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_07_load_simple_topology_uni ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_08_get_nodeId ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_09_get_linkId ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_10_path_computation_xpdr_uni ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_11_path_computation_rdm_uni ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_12_load_complex_topology ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_13_get_nodeId ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_14_fail_path_computation ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_15_success1_path_computation ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_16_success2_path_computation ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_17_success3_path_computation ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_18_path_computation_before_oms_attribute_deletion ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_19_delete_oms_attribute_in_openroadm13toopenroadm12_link ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_20_path_computation_after_oms_attribute_deletion 20 errors in 123.79s (0:02:03) testsPCE: exit 1 (124.12 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh pce pid=13594 testsPCE: FAIL ✖ in 2 minutes 51.32 seconds 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 tests_tapi: freeze> python -m pip freeze --all tests_tapi: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,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.8.0 tests_tapi: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi using environment variables from ./karaf221.env pytest -q transportpce_tests/tapi/test01_abstracted_topology.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [100%] ==================================== ERRORS ==================================== _ ERROR at setup of TestTransportPCEAbstractedTopology.test_01_get_tapi_topology_T100G _ cls = @classmethod def setUpClass(cls): cls.init_failed = False os.environ['JAVA_MIN_MEM'] = '1024M' os.environ['JAVA_MAX_MEM'] = '4096M' > cls.processes = test_utils.start_tpce() ^^^^^^^^^^^^^^^^^^^^^^^ transportpce_tests/tapi/test01_abstracted_topology.py:148: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def start_tpce(): if 'NO_ODL_STARTUP' in os.environ: print('No OpenDaylight instance to start!') return [] print('starting OpenDaylight...') if 'USE_LIGHTY' in os.environ and os.environ['USE_LIGHTY'] == 'True': process = start_lighty() else: process = start_karaf() if wait_until_log_contains(TPCE_LOG, [LIGHTY_OK_START_MSG, KARAF_OK_START_MSG], time_to_wait=100): print('OpenDaylight started !') else: print('OpenDaylight failed to start !') shutdown_process(process) for pid in process_list: shutdown_process(pid) > sys.exit(1) E SystemExit: 1 transportpce_tests/common/test_utils.py:234: SystemExit ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF (karaf221) TransportPCE build... Pattern not found after 100 seconds! OpenDaylight failed to start ! _ ERROR at setup of TestTransportPCEAbstractedTopology.test_02_get_tapi_topology_T0 _ cls = func = . at 0x7f0093977740> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError __ ERROR at setup of TestTransportPCEAbstractedTopology.test_03_connect_rdmb ___ cls = func = . at 0x7f00939cbc40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_04_check_tapi_topos _ cls = func = . at 0x7f009605b060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_05_disconnect_roadmb _ cls = func = . at 0x7f00952c7060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError __ ERROR at setup of TestTransportPCEAbstractedTopology.test_06_connect_xpdra __ cls = func = . at 0x7f00939cb100> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_07_check_tapi_topos _ cls = func = . at 0x7f0093975b20> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError __ ERROR at setup of TestTransportPCEAbstractedTopology.test_08_connect_rdma ___ cls = func = . at 0x7f00939cb6a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError __ ERROR at setup of TestTransportPCEAbstractedTopology.test_09_connect_rdmc ___ cls = func = . at 0x7f009605b060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_10_check_tapi_topos _ cls = func = . at 0x7f00939762a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_11_connect_xpdra_n1_to_roadma_pp1 _ cls = func = . at 0x7f009605b060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_12_connect_roadma_pp1_to_xpdra_n1 _ cls = func = . at 0x7f00935a2020> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_13_check_tapi_topology_T100G _ cls = func = . at 0x7f009605b060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_14_check_tapi_topology_T0 _ cls = func = . at 0x7f0093975a80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError __ ERROR at setup of TestTransportPCEAbstractedTopology.test_15_connect_xpdrc __ cls = func = . at 0x7f00935a25c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_16_connect_xpdrc_n1_to_roadmc_pp1 _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_17_connect_roadmc_pp1_to_xpdrc_n1 _ cls = func = . at 0x7f0093976480> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_18_check_tapi_topology_T100G _ cls = func = . at 0x7f00939cb100> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_19_check_tapi_topology_T0 _ cls = func = . at 0x7f0093976480> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_20_connect_spdr_sa1 _ cls = func = . at 0x7f009605b060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_21_connect_spdr_sc1 _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_22_check_tapi_topology_T100G _ cls = func = . at 0x7f009605b060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_23_check_tapi_topology_T0 _ cls = func = . at 0x7f00935a1bc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_24_connect_sprda_n1_to_roadma_pp2 _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_25_connect_roadma_pp2_to_spdra_n1 _ cls = func = . at 0x7f00935a1bc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_26_connect_sprdc_n1_to_roadmc_pp2 _ cls = func = . at 0x7f00935a0d60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_27_connect_roadmc_pp2_to_spdrc_n1 _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_28_check_tapi_topology_T100G _ cls = func = . at 0x7f00935a07c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_29_check_tapi_topology_T0 _ cls = func = . at 0x7f00935a2ac0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_30_add_oms_attributes _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_31_create_OCH_OTU4_service _ cls = func = . at 0x7f00935a1300> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_32_check_tapi_topology_T0 _ cls = func = . at 0x7f00935a2ac0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_33_create_ODU4_service _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_34_check_tapi_topology_T0 _ cls = func = . at 0x7f00935a1a80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_35_connect_sprda_2_n2_to_roadma_pp3 _ cls = func = . at 0x7f00935a2fc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_36_connect_roadma_pp3_to_spdra_2_n2 _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_37_check_tapi_topology_T0 _ cls = func = . at 0x7f00935a1e40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_38_delete_ODU4_service _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_39_delete_OCH_OTU4_service _ cls = func = . at 0x7f00935a2020> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_40_check_tapi_topology_T0 _ cls = func = . at 0x7f00935a2340> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_41_disconnect_xponders_from_roadm _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_42_check_tapi_topology_T0 _ cls = func = . at 0x7f00935a2340> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_43_get_tapi_topology_T100G _ cls = func = . at 0x7f00935a3240> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_44_disconnect_roadma _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_45_disconnect_roadmc _ cls = func = . at 0x7f00935a3420> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_46_check_tapi_topos _ cls = func = . at 0x7f00935a3560> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_47_disconnect_xpdra _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_48_disconnect_xpdrc _ cls = func = . at 0x7f00935a23e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_49_disconnect_spdr_sa1 _ cls = func = . at 0x7f00935a1a80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_50_disconnect_spdr_sc1 _ cls = func = . at 0x7f00939768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEAbstractedTopology.test_51_check_uninstall_Tapi_Feature _ cls = func = . at 0x7f00935a3060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_01_get_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_02_get_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_03_connect_rdmb ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_04_check_tapi_topos ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_05_disconnect_roadmb ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_06_connect_xpdra ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_07_check_tapi_topos ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_08_connect_rdma ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_09_connect_rdmc ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_10_check_tapi_topos ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_11_connect_xpdra_n1_to_roadma_pp1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_12_connect_roadma_pp1_to_xpdra_n1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_13_check_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_14_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_15_connect_xpdrc ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_16_connect_xpdrc_n1_to_roadmc_pp1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_17_connect_roadmc_pp1_to_xpdrc_n1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_18_check_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_19_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_20_connect_spdr_sa1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_21_connect_spdr_sc1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_22_check_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_23_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_24_connect_sprda_n1_to_roadma_pp2 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_25_connect_roadma_pp2_to_spdra_n1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_26_connect_sprdc_n1_to_roadmc_pp2 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_27_connect_roadmc_pp2_to_spdrc_n1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_28_check_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_29_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_30_add_oms_attributes ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_31_create_OCH_OTU4_service ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_32_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_33_create_ODU4_service ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_34_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_35_connect_sprda_2_n2_to_roadma_pp3 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_36_connect_roadma_pp3_to_spdra_2_n2 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_37_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_38_delete_ODU4_service ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_39_delete_OCH_OTU4_service ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_40_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_41_disconnect_xponders_from_roadm ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_42_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_43_get_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_44_disconnect_roadma ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_45_disconnect_roadmc ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_46_check_tapi_topos ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_47_disconnect_xpdra ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_48_disconnect_xpdrc ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_49_disconnect_spdr_sa1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_50_disconnect_spdr_sc1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_51_check_uninstall_Tapi_Feature 51 errors in 109.34s (0:01:49) tests_tapi: exit 1 (109.60 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh tapi pid=13666 tests_tapi: FAIL ✖ in 1 minute 56.69 seconds 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 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 tests200: freeze> python -m pip freeze --all tests221: freeze> python -m pip freeze --all tests200: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,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.8.0 tests200: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh oc200 using environment variables from ./karafoc200.env pytest -q transportpce_tests/oc200/test01_portmapping.py tests221: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,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.8.0 tests221: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 2.2.1 using environment variables from ./karaf221.env pytest -q transportpce_tests/2.2.1/test01_portmapping.py EEEEEEEEEEEEEEEEEEE [100%] ==================================== ERRORS ==================================== __ ERROR at setup of TestTransportPCEPortmapping.test_01_meta_data_insertion ___ cls = @classmethod def setUpClass(cls): > cls.processes = test_utils.start_tpce() ^^^^^^^^^^^^^^^^^^^^^^^ transportpce_tests/oc200/test01_portmapping.py:29: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def start_tpce(): if 'NO_ODL_STARTUP' in os.environ: print('No OpenDaylight instance to start!') return [] print('starting OpenDaylight...') if 'USE_LIGHTY' in os.environ and os.environ['USE_LIGHTY'] == 'True': process = start_lighty() else: process = start_karaf() if wait_until_log_contains(TPCE_LOG, [LIGHTY_OK_START_MSG, KARAF_OK_START_MSG], time_to_wait=100): print('OpenDaylight started !') else: print('OpenDaylight failed to start !') shutdown_process(process) for pid in process_list: shutdown_process(pid) > sys.exit(1) E SystemExit: 1 transportpce_tests/common/test_utils.py:234: SystemExit ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF (karafoc200) TransportPCE build... Pattern not found after 100 seconds! OpenDaylight failed to start ! _ ERROR at setup of TestTransportPCEPortmapping.test_02_catalog_input_insertion _ cls = func = . at 0x7f187e147420> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests200/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_03_xpdr_device_connection _ cls = func = . at 0x7f187ba5fec0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests200/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_04_xpdr_device_connected __ cls = func = . at 0x7f187d1ff600> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests200/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_05_xpdr_portmapping_info __ cls = func = . at 0x7f187ba3b740> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests200/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_06_mpdr_portmapping_NETWORK5 _ cls = func = . at 0x7f187e147420> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests200/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_07_mpdr_portmapping_CLIENT1 _ cls = func = . at 0x7f187d1ff600> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests200/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError __ ERROR at setup of TestTransportPCEPortmapping.test_08_mpdr_switching_pool ___ cls = func = . at 0x7f187ba5f880> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests200/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___ ERROR at setup of TestTransportPCEPortmapping.test_09_check_mccapprofile ___ cls = func = . at 0x7f187ba5f6a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests200/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_10_xpdr_device_disconnection _ cls = func = . at 0x7f187ba5f600> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests200/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests200/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests200/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests200/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/oc200/test01_portmapping.py::TestTransportPCEPortmapping::test_01_meta_data_insertion ERROR transportpce_tests/oc200/test01_portmapping.py::TestTransportPCEPortmapping::test_02_catalog_input_insertion ERROR transportpce_tests/oc200/test01_portmapping.py::TestTransportPCEPortmapping::test_03_xpdr_device_connection ERROR transportpce_tests/oc200/test01_portmapping.py::TestTransportPCEPortmapping::test_04_xpdr_device_connected ERROR transportpce_tests/oc200/test01_portmapping.py::TestTransportPCEPortmapping::test_05_xpdr_portmapping_info ERROR transportpce_tests/oc200/test01_portmapping.py::TestTransportPCEPortmapping::test_06_mpdr_portmapping_NETWORK5 ERROR transportpce_tests/oc200/test01_portmapping.py::TestTransportPCEPortmapping::test_07_mpdr_portmapping_CLIENT1 ERROR transportpce_tests/oc200/test01_portmapping.py::TestTransportPCEPortmapping::test_08_mpdr_switching_pool ERROR transportpce_tests/oc200/test01_portmapping.py::TestTransportPCEPortmapping::test_09_check_mccapprofile ERROR transportpce_tests/oc200/test01_portmapping.py::TestTransportPCEPortmapping::test_10_xpdr_device_disconnection 10 errors in 101.96s (0:01:41) tests200: exit 1 (102.23 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh oc200 pid=13811 Etests200: FAIL ✖ in 1 minute 50.01 seconds 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 EEEEEEEEEEEEEEEEEEEEEEEEE [100%] ==================================== ERRORS ==================================== _ ERROR at setup of TestTransportPCEPortmapping.test_01_rdm_device_connection __ cls = @classmethod def setUpClass(cls): > cls.processes = test_utils.start_tpce() ^^^^^^^^^^^^^^^^^^^^^^^ transportpce_tests/2.2.1/test01_portmapping.py:33: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def start_tpce(): if 'NO_ODL_STARTUP' in os.environ: print('No OpenDaylight instance to start!') return [] print('starting OpenDaylight...') if 'USE_LIGHTY' in os.environ and os.environ['USE_LIGHTY'] == 'True': process = start_lighty() else: process = start_karaf() if wait_until_log_contains(TPCE_LOG, [LIGHTY_OK_START_MSG, KARAF_OK_START_MSG], time_to_wait=100): print('OpenDaylight started !') else: print('OpenDaylight failed to start !') shutdown_process(process) for pid in process_list: shutdown_process(pid) > sys.exit(1) E SystemExit: 1 transportpce_tests/common/test_utils.py:234: SystemExit ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF (karaf221) TransportPCE build... Pattern not found after 100 seconds! OpenDaylight failed to start ! __ ERROR at setup of TestTransportPCEPortmapping.test_02_rdm_device_connected __ cls = func = . at 0x7f92a81ef100> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError __ ERROR at setup of TestTransportPCEPortmapping.test_03_rdm_portmapping_info __ cls = func = . at 0x7f92a81ef2e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_04_rdm_portmapping_DEG1_TTP_TXRX _ cls = func = . at 0x7f92aa903240> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_05_rdm_portmapping_DEG2_TTP_TXRX_with_ots_oms _ cls = func = . at 0x7f92a9b13060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_06_rdm_portmapping_SRG1_PP3_TXRX _ cls = func = . at 0x7f92a81ef100> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_07_rdm_portmapping_SRG3_PP1_TXRX _ cls = func = . at 0x7f92a9b13060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_08_xpdr_device_connection _ cls = func = . at 0x7f92a81ed120> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_09_xpdr_device_connected __ cls = func = . at 0x7f92a8232d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_10_xpdr_portmapping_info __ cls = func = . at 0x7f92a9b13060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_11_xpdr_portmapping_NETWORK1 _ cls = func = . at 0x7f92a81ed120> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_12_xpdr_portmapping_XPDR2_NETWORK1 _ cls = func = . at 0x7f92a8233f60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_13_xpdr_portmapping_XPDR1_CLIENT1 _ cls = func = . at 0x7f92a9b13060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_14_xpdr_portmapping_XPDR1_CLIENT2 _ cls = func = . at 0x7f92a82339c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_15_spdr_device_connection _ cls = func = . at 0x7f92a81ed120> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_16_spdr_device_connected __ cls = func = . at 0x7f92a9b13060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_17_spdr_portmapping_info __ cls = func = . at 0x7f92a8232520> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_18_spdr_switching_pool_1 __ cls = func = . at 0x7f92a82339c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_19_spdr_switching_pool_2 __ cls = func = . at 0x7f92a8233d80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_20_spdr_switching_pool_3 __ cls = func = . at 0x7f92a81ed120> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_21_spdr_portmapping_mappings _ cls = func = . at 0x7f92a9b13060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_22_spdr_portmapping_XPDR1_CLIENT1 _ cls = func = . at 0x7f92a81ee0c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_23_spdr_portmapping_XPDR1_NETWORK1 _ cls = func = . at 0x7f92a81edf80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_24_spdr_portmapping_XPDR2_CLIENT2 _ cls = func = . at 0x7f92a82339c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_25_spdr_portmapping_XPDR2_NETWORK2 _ cls = func = . at 0x7f92a81edf80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_26_spdr_portmapping_XPDR3_CLIENT3 _ cls = func = . at 0x7f92a9b13060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_27_spdr_portmapping_XPDR3_NETWORK1 _ cls = func = . at 0x7f92a82339c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_28_spdr_device_disconnection _ cls = func = . at 0x7f92a9b13060> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_29_xpdr_device_disconnected _ cls = func = . at 0x7f92a828c4a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_30_xpdr_device_disconnection _ cls = func = . at 0x7f92a82339c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_31_xpdr_device_disconnected _ cls = func = . at 0x7f92a828d800> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_32_xpdr_device_not_connected _ cls = func = . at 0x7f92a828c540> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_33_rdm_device_disconnection _ cls = func = . at 0x7f92a82339c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_34_rdm_device_disconnected _ cls = func = . at 0x7f92a828d6c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_35_rdm_device_not_connected _ cls = func = . at 0x7f92a82339c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_01_rdm_device_connection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_02_rdm_device_connected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_03_rdm_portmapping_info ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_04_rdm_portmapping_DEG1_TTP_TXRX ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_05_rdm_portmapping_DEG2_TTP_TXRX_with_ots_oms ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_06_rdm_portmapping_SRG1_PP3_TXRX ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_07_rdm_portmapping_SRG3_PP1_TXRX ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_08_xpdr_device_connection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_09_xpdr_device_connected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_10_xpdr_portmapping_info ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_11_xpdr_portmapping_NETWORK1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_12_xpdr_portmapping_XPDR2_NETWORK1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_13_xpdr_portmapping_XPDR1_CLIENT1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_14_xpdr_portmapping_XPDR1_CLIENT2 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_15_spdr_device_connection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_16_spdr_device_connected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_17_spdr_portmapping_info ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_18_spdr_switching_pool_1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_19_spdr_switching_pool_2 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_20_spdr_switching_pool_3 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_21_spdr_portmapping_mappings ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_22_spdr_portmapping_XPDR1_CLIENT1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_23_spdr_portmapping_XPDR1_NETWORK1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_24_spdr_portmapping_XPDR2_CLIENT2 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_25_spdr_portmapping_XPDR2_NETWORK2 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_26_spdr_portmapping_XPDR3_CLIENT3 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_27_spdr_portmapping_XPDR3_NETWORK1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_28_spdr_device_disconnection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_29_xpdr_device_disconnected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_30_xpdr_device_disconnection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_31_xpdr_device_disconnected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_32_xpdr_device_not_connected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_33_rdm_device_disconnection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_34_rdm_device_disconnected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_35_rdm_device_not_connected 35 errors in 106.63s (0:01:46) tests221: exit 1 (106.93 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 2.2.1 pid=13822 tests221: FAIL ✖ in 1 minute 54.77 seconds 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 tests71: freeze> python -m pip freeze --all tests71: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,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.8.0 tests71: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 7.1 using environment variables from ./karaf71.env pytest -q transportpce_tests/7.1/test01_portmapping.py tests_hybrid: freeze> python -m pip freeze --all tests_hybrid: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.2,cryptography==50.0.2,dict2xml==1.7.8,idna==3.20,iniconfig==2.3.1,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.8.0 tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh hybrid using environment variables from ./karaf221.env pytest -q transportpce_tests/hybrid/test01_device_change_notifications.py EEEEEEEEEEEE [100%] ==================================== ERRORS ==================================== _ ERROR at setup of TestTransportPCEPortmapping.test_01_xpdr_device_connection _ cls = @classmethod def setUpClass(cls): > cls.processes = test_utils.start_tpce() ^^^^^^^^^^^^^^^^^^^^^^^ transportpce_tests/7.1/test01_portmapping.py:32: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def start_tpce(): if 'NO_ODL_STARTUP' in os.environ: print('No OpenDaylight instance to start!') return [] print('starting OpenDaylight...') if 'USE_LIGHTY' in os.environ and os.environ['USE_LIGHTY'] == 'True': process = start_lighty() else: process = start_karaf() if wait_until_log_contains(TPCE_LOG, [LIGHTY_OK_START_MSG, KARAF_OK_START_MSG], time_to_wait=100): print('OpenDaylight started !') else: print('OpenDaylight failed to start !') shutdown_process(process) for pid in process_list: shutdown_process(pid) > sys.exit(1) E SystemExit: 1 transportpce_tests/common/test_utils.py:234: SystemExit ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF (karaf71) TransportPCE build... Pattern not found after 100 seconds! OpenDaylight failed to start ! _ ERROR at setup of TestTransportPCEPortmapping.test_02_xpdr_device_connected __ cls = func = . at 0x7f0d4b3df4c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests71/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_03_xpdr_portmapping_info __ cls = func = . at 0x7f0d48cc3a60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests71/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_04_tpdr_portmapping_NETWORK1 _ cls = func = . at 0x7f0d4a5e2fc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests71/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_05_tpdr_portmapping_CLIENT1 _ cls = func = . at 0x7f0d4b3df2e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests71/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_06_mpdr_portmapping_NETWORK1 _ cls = func = . at 0x7f0d48cc37e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests71/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_07_mpdr_portmapping_CLIENT1 _ cls = func = . at 0x7f0d4a5e2fc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests71/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___ ERROR at setup of TestTransportPCEPortmapping.test_08_check_mccapprofile ___ cls = func = . at 0x7f0d48cc3a60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests71/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError __ ERROR at setup of TestTransportPCEPortmapping.test_09_mpdr_switching_pool ___ cls = func = . at 0x7f0d48cc1120> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests71/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_10_xpdr_device_disconnection _ cls = func = . at 0x7f0d48cc37e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests71/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_11_xpdr_device_disconnected _ cls = func = . at 0x7f0d48cc3600> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests71/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_12_xpdr_device_not_connected _ cls = func = . at 0x7f0d48cc1120> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests71/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests71/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests71/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests71/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_01_xpdr_device_connection ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_02_xpdr_device_connected ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_03_xpdr_portmapping_info ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_04_tpdr_portmapping_NETWORK1 ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_05_tpdr_portmapping_CLIENT1 ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_06_mpdr_portmapping_NETWORK1 ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_07_mpdr_portmapping_CLIENT1 ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_08_check_mccapprofile ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_09_mpdr_switching_pool ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_10_xpdr_device_disconnection ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_11_xpdr_device_disconnected ERROR transportpce_tests/7.1/test01_portmapping.py::TestTransportPCEPortmapping::test_12_xpdr_device_not_connected 12 errors in 102.34s (0:01:42) tests71: exit 1 (102.64 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh 7.1 pid=13946 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [100%] ==================================== ERRORS ==================================== _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_01_connect_xpdrA _ cls = @classmethod def setUpClass(cls): > cls.processes = test_utils.start_tpce() ^^^^^^^^^^^^^^^^^^^^^^^ transportpce_tests/hybrid/test01_device_change_notifications.py:76: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ def start_tpce(): if 'NO_ODL_STARTUP' in os.environ: print('No OpenDaylight instance to start!') return [] print('starting OpenDaylight...') if 'USE_LIGHTY' in os.environ and os.environ['USE_LIGHTY'] == 'True': process = start_lighty() else: process = start_karaf() if wait_until_log_contains(TPCE_LOG, [LIGHTY_OK_START_MSG, KARAF_OK_START_MSG], time_to_wait=100): print('OpenDaylight started !') else: print('OpenDaylight failed to start !') shutdown_process(process) for pid in process_list: shutdown_process(pid) > sys.exit(1) E SystemExit: 1 transportpce_tests/common/test_utils.py:234: SystemExit ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF (karaf221) TransportPCE build... Pattern not found after 100 seconds! OpenDaylight failed to start ! _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_02_connect_xpdrC _ cls = func = . at 0x7f2d06e22a20> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_03_connect_rdmA _ cls = func = . at 0x7f2d06e77f60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_04_connect_rdmC _ cls = func = . at 0x7f2d09522f20> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_05_connect_xpdrA_N1_to_roadmA_PP1 _ cls = func = . at 0x7f2d06e21440> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_06_connect_roadmA_PP1_to_xpdrA_N1 _ cls = func = . at 0x7f2d087653a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_07_connect_xpdrC_N1_to_roadmC_PP1 _ cls = func = . at 0x7f2d06e21440> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_08_connect_roadmC_PP1_to_xpdrC_N1 _ cls = func = . at 0x7f2d06e76700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_09_add_omsAttributes_ROADMA_ROADMC _ cls = func = . at 0x7f2d06e76980> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_10_add_omsAttributes_ROADMC_ROADMA _ cls = func = . at 0x7f2d06e76700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_11_create_eth_service1 _ cls = func = . at 0x7f2d06e21440> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_12_get_eth_service1 _ cls = func = . at 0x7f2d0684d940> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_13_change_status_line_port_xpdra _ cls = func = . at 0x7f2d06e76700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_14_check_update_portmapping _ cls = func = . at 0x7f2d06e21440> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_15_check_update_openroadm_topo _ cls = func = . at 0x7f2d0684dda0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_16_check_update_service1 _ cls = func = . at 0x7f2d06e21440> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_17_restore_status_line_port_xpdra _ cls = func = . at 0x7f2d06e218a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_18_check_update_portmapping_ok _ cls = func = . at 0x7f2d06e768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_19_check_update_openroadm_topo_ok _ cls = func = . at 0x7f2d06e218a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_20_check_update_service1_ok _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_21_change_status_port_roadma_srg _ cls = func = . at 0x7f2d06e768e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_22_check_update_portmapping _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_23_check_update_openroadm_topo _ cls = func = . at 0x7f2d0684e0c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_24_restore_status_port_roadma_srg _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_25_check_update_portmapping_ok _ cls = func = . at 0x7f2d0684e0c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_26_check_update_openroadm_topo_ok _ cls = func = . at 0x7f2d0684c860> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_27_check_update_service1_ok _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_28_change_status_line_port_roadma_deg _ cls = func = . at 0x7f2d0684d440> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_29_check_update_portmapping _ cls = func = . at 0x7f2d0684d260> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_30_check_update_openroadm_topo _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_31_restore_status_line_port_roadma_srg _ cls = func = . at 0x7f2d0684d6c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_32_check_update_portmapping_ok _ cls = func = . at 0x7f2d0684d800> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_33_check_update_openroadm_topo_ok _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_34_check_update_service1_ok _ cls = func = . at 0x7f2d0684dd00> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_35_change_status_line_port_xpdrc _ cls = func = . at 0x7f2d0684d800> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_36_check_update_portmapping _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_37_check_update_openroadm_topo _ cls = func = . at 0x7f2d0684df80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_38_restore_status_line_port_xpdrc _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_39_check_update_portmapping_ok _ cls = func = . at 0x7f2d0684cea0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_40_check_update_openroadm_topo_ok _ cls = func = . at 0x7f2d0684da80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_41_check_update_service1_ok _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_42_change_status_port_roadma_srg _ cls = func = . at 0x7f2d0684da80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_43_check_update_portmapping _ cls = func = . at 0x7f2d0684ea20> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_44_check_update_openroadm_topo _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_45_check_update_service1_ok _ cls = func = . at 0x7f2d0684d9e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_46_delete_eth_service1 _ cls = func = . at 0x7f2d0684dbc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_47_disconnect_xponders_from_roadm _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_48_disconnect_XPDRA _ cls = func = . at 0x7f2d0684df80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_49_disconnect_XPDRC _ cls = func = . at 0x7f2d0684e5c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_50_disconnect_ROADMA _ cls = func = . at 0x7f2d06e76d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEDeviceChangeNotifications.test_51_disconnect_ROADMC _ cls = func = . at 0x7f2d0684e2a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_01_connect_xpdrA ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_02_connect_xpdrC ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_03_connect_rdmA ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_04_connect_rdmC ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_05_connect_xpdrA_N1_to_roadmA_PP1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_06_connect_roadmA_PP1_to_xpdrA_N1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_07_connect_xpdrC_N1_to_roadmC_PP1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_08_connect_roadmC_PP1_to_xpdrC_N1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_09_add_omsAttributes_ROADMA_ROADMC ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_10_add_omsAttributes_ROADMC_ROADMA ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_11_create_eth_service1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_12_get_eth_service1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_13_change_status_line_port_xpdra ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_14_check_update_portmapping ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_15_check_update_openroadm_topo ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_16_check_update_service1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_17_restore_status_line_port_xpdra ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_18_check_update_portmapping_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_19_check_update_openroadm_topo_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_20_check_update_service1_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_21_change_status_port_roadma_srg ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_22_check_update_portmapping ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_23_check_update_openroadm_topo ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_24_restore_status_port_roadma_srg ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_25_check_update_portmapping_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_26_check_update_openroadm_topo_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_27_check_update_service1_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_28_change_status_line_port_roadma_deg ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_29_check_update_portmapping ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_30_check_update_openroadm_topo ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_31_restore_status_line_port_roadma_srg ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_32_check_update_portmapping_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_33_check_update_openroadm_topo_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_34_check_update_service1_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_35_change_status_line_port_xpdrc ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_36_check_update_portmapping ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_37_check_update_openroadm_topo ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_38_restore_status_line_port_xpdrc ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_39_check_update_portmapping_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_40_check_update_openroadm_topo_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_41_check_update_service1_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_42_change_status_port_roadma_srg ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_43_check_update_portmapping ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_44_check_update_openroadm_topo ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_45_check_update_service1_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_46_delete_eth_service1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_47_disconnect_xponders_from_roadm ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_48_disconnect_XPDRA ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_49_disconnect_XPDRC ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_50_disconnect_ROADMA ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_51_disconnect_ROADMC 51 errors in 109.02s (0:01:49) tests71: FAIL ✖ in 1 minute 49.87 seconds tests_hybrid: exit 1 (109.29 seconds) /w/workspace/transportpce-tox-verify-transportpce-master/tests> ./launch_tests.sh hybrid pid=13965 buildcontroller: FAIL code 1 (9.64=setup[8.98]+cmd[0.65] seconds) sims: OK (9.70=setup[6.88]+cmd[2.81] seconds) testsPCE: FAIL code 1 (171.32=setup[47.20]+cmd[124.12] seconds) build_karaf_tests221: FAIL code 127 (6.94=setup[6.94]+cmd[0.00] seconds) tests_tapi: FAIL code 1 (116.69=setup[7.09]+cmd[109.60] seconds) tests221: FAIL code 1 (114.77=setup[7.84]+cmd[106.93] seconds) build_karaf_tests71: FAIL code 127 (6.50=setup[6.50]+cmd[0.00] seconds) tests71: FAIL code 1 (109.87=setup[7.24]+cmd[102.64] seconds) build_karaf_tests200: FAIL code 127 (6.48=setup[6.48]+cmd[0.00] seconds) tests200: FAIL code 1 (110.01=setup[7.78]+cmd[102.23] seconds) tests_hybrid: FAIL code 1 (115.80=setup[6.50]+cmd[109.29] seconds) buildlighty: FAIL code 9 (6.51=setup[6.51]+cmd[0.01] seconds) docs: OK (17.80=setup[14.81]+cmd[2.99] seconds) docs-linkcheck: OK (20.09=setup[15.09]+cmd[5.00] seconds) checkbashisms: OK (3.20=setup[1.95]+cmd[0.01,0.04,1.20] seconds) pre-commit: OK (57.04=setup[3.22]+cmd[0.00,0.00,45.31,8.51] seconds) pylint: FAIL code 1 (22.68=setup[4.75]+cmd[17.93] seconds) evaluation failed :( (550.94 seconds) + tox_status=1 + echo '---> Completed tox runs' ---> Completed tox runs + for i in .tox/*/log ++ echo .tox/build_karaf_tests200/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests200 + cp -r .tox/build_karaf_tests200/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests200 + for i in .tox/*/log ++ echo .tox/build_karaf_tests221/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests221 + cp -r .tox/build_karaf_tests221/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests221 + for i in .tox/*/log ++ echo .tox/build_karaf_tests71/log ++ awk -F/ '{print $2}' + tox_env=build_karaf_tests71 + cp -r .tox/build_karaf_tests71/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/build_karaf_tests71 + for i in .tox/*/log ++ echo .tox/buildcontroller/log ++ awk -F/ '{print $2}' + tox_env=buildcontroller + cp -r .tox/buildcontroller/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/buildcontroller + for i in .tox/*/log ++ echo .tox/buildlighty/log ++ awk -F/ '{print $2}' + tox_env=buildlighty + cp -r .tox/buildlighty/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/buildlighty + for i in .tox/*/log ++ echo .tox/checkbashisms/log ++ awk -F/ '{print $2}' + tox_env=checkbashisms + cp -r .tox/checkbashisms/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/checkbashisms + for i in .tox/*/log ++ echo .tox/docs-linkcheck/log ++ awk -F/ '{print $2}' + tox_env=docs-linkcheck + cp -r .tox/docs-linkcheck/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/docs-linkcheck + for i in .tox/*/log ++ echo .tox/docs/log ++ awk -F/ '{print $2}' + tox_env=docs + cp -r .tox/docs/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/docs + for i in .tox/*/log ++ echo .tox/pre-commit/log ++ awk -F/ '{print $2}' + tox_env=pre-commit + cp -r .tox/pre-commit/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/pre-commit + for i in .tox/*/log ++ echo .tox/pylint/log ++ awk -F/ '{print $2}' + tox_env=pylint + cp -r .tox/pylint/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/pylint + for i in .tox/*/log ++ echo .tox/sims/log ++ awk -F/ '{print $2}' + tox_env=sims + cp -r .tox/sims/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/sims + for i in .tox/*/log ++ echo .tox/tests200/log ++ awk -F/ '{print $2}' + tox_env=tests200 + cp -r .tox/tests200/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests200 + for i in .tox/*/log ++ echo .tox/tests221/log ++ awk -F/ '{print $2}' + tox_env=tests221 + cp -r .tox/tests221/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests221 + for i in .tox/*/log ++ echo .tox/tests71/log ++ awk -F/ '{print $2}' + tox_env=tests71 + cp -r .tox/tests71/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests71 + for i in .tox/*/log ++ echo .tox/testsPCE/log ++ awk -F/ '{print $2}' + tox_env=testsPCE + cp -r .tox/testsPCE/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/testsPCE + for i in .tox/*/log ++ echo .tox/tests_hybrid/log ++ awk -F/ '{print $2}' + tox_env=tests_hybrid + cp -r .tox/tests_hybrid/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests_hybrid + for i in .tox/*/log ++ echo .tox/tests_tapi/log ++ awk -F/ '{print $2}' + tox_env=tests_tapi + cp -r .tox/tests_tapi/log /w/workspace/transportpce-tox-verify-transportpce-master/archives/tox/tests_tapi + DOC_DIR=docs/_build/html + [[ -d docs/_build/html ]] + echo '---> Archiving generated docs' ---> Archiving generated docs + mv docs/_build/html /w/workspace/transportpce-tox-verify-transportpce-master/archives/docs + echo '---> tox-run.sh ends' ---> tox-run.sh ends + test 1 -eq 0 + exit 1 ++ '[' 1 = 1 ']' ++ '[' -x /usr/bin/clear_console ']' ++ /usr/bin/clear_console -q Build step 'Execute shell' marked build as failure $ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 10993 killed; [ssh-agent] Stopped. [PostBuildScript] - [INFO] Executing post build scripts. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins9837726175010688462.sh ---> sysstat.sh [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins2361976029345359540.sh ---> package-listing.sh + '[' -f /etc/os-release ']' + . /etc/os-release ++ PRETTY_NAME='Ubuntu 22.04.5 LTS' ++ NAME=Ubuntu ++ VERSION_ID=22.04 ++ VERSION='22.04.5 LTS (Jammy Jellyfish)' ++ VERSION_CODENAME=jammy ++ ID=ubuntu ++ ID_LIKE=debian ++ HOME_URL=https://www.ubuntu.com/ ++ SUPPORT_URL=https://help.ubuntu.com/ ++ BUG_REPORT_URL=https://bugs.launchpad.net/ubuntu/ ++ PRIVACY_POLICY_URL=https://www.ubuntu.com/legal/terms-and-policies/privacy-policy ++ UBUNTU_CODENAME=jammy + case " ${ID:-} ${ID_LIKE:-} " in + OS_FAMILY=debian + workspace=/w/workspace/transportpce-tox-verify-transportpce-master + START_PACKAGES=/tmp/packages_start.txt + END_PACKAGES=/tmp/packages_end.txt + DIFF_PACKAGES=/tmp/packages_diff.txt + PACKAGES=/tmp/packages_start.txt + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' + PACKAGES=/tmp/packages_end.txt + case "${OS_FAMILY}" in + dpkg -l + grep '^ii' + '[' -f /tmp/packages_start.txt ']' + '[' -f /tmp/packages_end.txt ']' + diff /tmp/packages_start.txt /tmp/packages_end.txt + '[' /w/workspace/transportpce-tox-verify-transportpce-master ']' + mkdir -p /w/workspace/transportpce-tox-verify-transportpce-master/archives/ + cp -f /tmp/packages_diff.txt /tmp/packages_end.txt /tmp/packages_start.txt /w/workspace/transportpce-tox-verify-transportpce-master/archives/ + exit 0 [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins8125023412147653235.sh ---> capture-instance-metadata.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-mp8Y from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-mp8Y/bin to PATH INFO: Running in OpenStack, capturing instance metadata [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins18099689937350652087.sh provisioning config files... Could not find credentials [logs] for transportpce-tox-verify-transportpce-master #6140 copy managed file [jenkins-log-archives-settings] to file:/w/workspace/transportpce-tox-verify-transportpce-master@tmp/config12115792851781047283tmp Regular expression run condition: Expression=[^.*logs-s3.*], Label=[odl-logs-s3-cloudfront-index] Run condition [Regular expression match] enabling perform for step [Provide Configuration files] provisioning config files... copy managed file [jenkins-s3-log-ship] to file:/home/jenkins/.aws/credentials [EnvInject] - Injecting environment variables from a build step. [EnvInject] - Injecting as environment variables the properties content SERVER_ID=logs [EnvInject] - Variables injected successfully. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins2719911490100480049.sh ---> create-netrc.sh WARN: Log server credential not found. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins14768726531426332877.sh ---> python-tools-install.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-mp8Y from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Installing additional packages: lftools lf-activate-venv(): INFO: Adding /tmp/venv-mp8Y/bin to PATH [transportpce-tox-verify-transportpce-master] $ /bin/sh /tmp/jenkins9655725944899065657.sh ---> uv-install.sh uv 0.12.23 is already installed uvx 0.12.23 (x86_64-unknown-linux-gnu) [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins14545764754057799808.sh ---> sudo-logs.sh Archiving 'sudo' log.. [transportpce-tox-verify-transportpce-master] $ /bin/bash /tmp/jenkins13759343395270297966.sh ---> job-cost.sh INFO: Activating Python virtual environment... Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-mp8Y from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Installing additional packages: zipp==1.1.0 python-openstackclient urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-mp8Y/bin to PATH INFO: No stack-cost file found INFO: Instance uptime: 109268s INFO: Fetching instance metadata (attempt 1 of 3)... DEBUG: URL: http://169.254.169.254/latest/meta-data/instance-type INFO: Successfully fetched instance metadata INFO: Instance type: v3-standard-4 INFO: Retrieving pricing info for: v3-standard-4 INFO: Fetching Vexxhost pricing API (attempt 1 of 3)... DEBUG: URL: https://pricing.vexxhost.net/v1/pricing/v3-standard-4/cost?seconds=109268 INFO: Successfully fetched Vexxhost pricing API INFO: Retrieved cost: 3.41 INFO: Retrieved resource: v3-standard-4 INFO: Creating archive directory: /w/workspace/transportpce-tox-verify-transportpce-master/archives/cost INFO: Archiving costs to: /w/workspace/transportpce-tox-verify-transportpce-master/archives/cost.csv INFO: Successfully archived job cost data DEBUG: Cost data: transportpce-tox-verify-transportpce-master,6140,2026-10-07 22:05:33,v3-standard-4,109268,3.41,0.00,FAILURE [transportpce-tox-verify-transportpce-master] $ /bin/bash -l /tmp/jenkins5699910824228558535.sh ---> logs-deploy.sh Setup pyenv: system 3.8.20 3.9.20 3.10.15 * 3.11.10 (set by /w/workspace/transportpce-tox-verify-transportpce-master/.python-version) lf-activate-venv(): INFO: Reuse venv:/tmp/venv-mp8Y from file:/tmp/.os_lf_venv lf-activate-venv(): INFO: Installing base packages (pip, setuptools, virtualenv) lf-activate-venv(): INFO: Installing additional packages: lftools urllib3~=1.26.15 lf-activate-venv(): INFO: Adding /tmp/venv-mp8Y/bin to PATH WARNING: Nexus logging server not set INFO: S3 path logs/releng/vex-yul-odl-jenkins-1/transportpce-tox-verify-transportpce-master/6140/ INFO: archiving logs to S3 ---> uname -a: Linux prd-ubuntu2204-docker-4c-16g-62480 5.15.0-198-generic #208-Ubuntu SMP Fri Sep 4 10:22:38 UTC 2026 x86_64 x86_64 x86_64 GNU/Linux ---> lscpu: Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 40 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: AuthenticAMD Model name: AMD EPYC-Rome Processor CPU family: 23 Model: 49 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 4 Stepping: 0 BogoMIPS: 5600.00 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 Virtualization: AMD-V Hypervisor vendor: KVM Virtualization type: full L1d cache: 128 KiB (4 instances) L1i cache: 128 KiB (4 instances) L2 cache: 2 MiB (4 instances) L3 cache: 64 MiB (4 instances) NUMA node(s): 1 NUMA node0 CPU(s): 0-3 Vulnerability Gather data sampling: Not affected Vulnerability Indirect target selection: Not affected Vulnerability Itlb multihit: Not affected Vulnerability L1tf: Not affected Vulnerability Mds: Not affected Vulnerability Meltdown: Not affected Vulnerability Mmio stale data: Not affected Vulnerability Reg file data sampling: Not affected Vulnerability Retbleed: Mitigation; untrained return thunk; SMT disabled Vulnerability Spec rstack overflow: Mitigation; SMT disabled Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization Vulnerability Spectre v2: Mitigation; Retpolines; IBPB conditional; STIBP disabled; RSB filling; PBRSB-eIBRS Not affected; BHI Not affected Vulnerability Srbds: Not affected Vulnerability Tsa: Not affected Vulnerability Tsx async abort: Not affected Vulnerability Vmscape: Not affected ---> nproc: 4 ---> df -h: Filesystem Size Used Avail Use% Mounted on tmpfs 1.6G 1.1M 1.6G 1% /run /dev/vda1 78G 12G 67G 15% / tmpfs 7.9G 0 7.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda15 105M 6.1M 99M 6% /boot/efi tmpfs 1.6G 4.0K 1.6G 1% /run/user/1001 ---> free -m: total used free shared buff/cache available Mem: 15989 746 9278 4 5964 14899 Swap: 1023 0 1023 ---> ip addr: 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: mtu 1458 qdisc mq state UP group default qlen 1000 link/ether fa:16:3e:88:c3:4d brd ff:ff:ff:ff:ff:ff altname enp0s3 inet 10.30.170.153/23 metric 100 brd 10.30.171.255 scope global dynamic ens3 valid_lft 52728sec preferred_lft 52728sec inet6 fe80::f816:3eff:fe88:c34d/64 scope link valid_lft forever preferred_lft forever 3: docker0: mtu 1458 qdisc noqueue state DOWN group default link/ether 0a:bd:55:da:5c:29 brd ff:ff:ff:ff:ff:ff inet 10.250.0.254/24 brd 10.250.0.255 scope global docker0 valid_lft forever preferred_lft forever inet6 fe80::8bd:55ff:feda:5c29/64 scope link valid_lft forever preferred_lft forever ---> sar -b -r -n DEV: Linux 5.15.0-198-generic (prd-ubuntu2204-docker-4c-16g-62480) 10/07/26 _x86_64_ (4 CPU) 00:00:09 tps rtps wtps dtps bread/s bwrtn/s bdscd/s 00:10:00 1.81 0.18 1.61 0.01 4.53 23.30 218.67 00:20:28 1.69 0.00 1.69 0.00 0.00 17.51 0.00 00:30:09 1.64 0.00 1.64 0.00 0.00 16.95 0.00 00:40:00 1.58 0.00 1.58 0.00 0.00 16.39 0.00 00:50:28 1.70 0.00 1.70 0.00 0.00 17.34 0.00 01:00:28 1.66 0.00 1.66 0.00 0.00 16.73 0.00 01:10:00 1.63 0.00 1.63 0.00 0.00 16.72 0.00 01:20:09 1.69 0.00 1.69 0.00 0.00 17.58 0.00 01:30:09 1.88 0.00 1.82 0.05 0.00 28.54 237.10 01:40:01 1.57 0.00 1.57 0.00 0.00 16.12 0.01 01:50:09 1.71 0.00 1.71 0.00 0.00 17.16 0.00 02:00:09 1.57 0.00 1.57 0.00 0.00 16.13 0.00 02:10:01 1.57 0.00 1.57 0.00 0.00 15.96 0.00 02:20:09 1.71 0.00 1.71 0.00 0.00 17.31 0.00 02:30:28 1.63 0.00 1.63 0.00 0.00 16.52 0.00 02:40:01 1.63 0.00 1.63 0.00 0.00 16.72 0.00 02:50:09 1.71 0.00 1.71 0.00 0.00 17.28 0.00 03:00:09 1.70 0.00 1.69 0.00 0.00 17.47 0.05 03:10:01 1.71 0.00 1.71 0.00 0.00 18.01 3.03 03:20:28 1.79 0.00 1.79 0.00 0.01 18.01 0.00 03:30:28 1.72 0.00 1.72 0.00 0.00 17.52 0.00 03:40:01 1.67 0.00 1.67 0.00 0.00 16.97 0.00 03:50:09 1.75 0.00 1.75 0.00 0.00 17.73 0.00 04:00:28 1.67 0.00 1.67 0.00 0.00 17.00 0.00 04:10:01 1.71 0.00 1.71 0.00 0.00 17.44 0.00 04:20:28 1.76 0.00 1.76 0.00 0.00 17.78 0.00 04:30:09 1.80 0.00 1.80 0.00 0.00 18.01 0.00 04:40:01 1.69 0.00 1.69 0.00 0.00 17.09 0.00 04:50:03 1.63 0.00 1.63 0.00 0.00 16.60 0.00 05:00:28 1.53 0.00 1.53 0.00 0.00 15.48 0.00 05:10:01 1.73 0.00 1.73 0.00 0.00 17.45 0.00 05:20:02 1.76 0.00 1.76 0.00 0.00 17.68 0.00 05:30:28 1.75 0.00 1.75 0.00 0.00 17.80 0.00 05:40:00 1.72 0.00 1.72 0.00 0.00 17.30 0.00 05:50:28 1.57 0.00 1.57 0.00 0.00 15.81 0.00 06:00:09 1.63 0.00 1.63 0.00 0.00 16.61 0.00 06:10:01 1.39 0.00 1.39 0.00 0.00 14.05 0.00 06:20:09 1.56 0.00 1.56 0.00 0.00 16.13 0.00 06:30:09 1.52 0.01 1.50 0.00 0.09 15.35 0.00 06:40:01 1.52 0.00 1.52 0.00 0.00 15.36 0.00 06:50:09 1.57 0.00 1.57 0.00 0.00 16.06 0.00 07:00:09 1.54 0.00 1.54 0.00 0.00 15.72 0.00 07:10:01 1.45 0.00 1.45 0.00 0.00 14.77 0.00 07:20:28 1.60 0.00 1.60 0.00 0.00 16.31 0.00 07:30:28 1.52 0.00 1.52 0.00 0.00 15.39 0.00 07:40:01 1.51 0.00 1.51 0.00 0.00 15.37 0.00 07:50:09 1.49 0.00 1.49 0.00 0.00 15.31 0.00 08:00:09 1.41 0.00 1.41 0.00 0.00 14.38 0.00 08:10:01 1.51 0.00 1.51 0.00 0.00 15.51 0.00 08:20:28 1.85 0.00 1.85 0.00 0.00 18.85 0.00 08:30:09 1.78 0.00 1.78 0.00 0.00 18.02 0.00 08:40:01 1.70 0.00 1.70 0.00 0.00 17.34 0.00 08:50:09 1.78 0.00 1.78 0.00 0.00 18.03 0.00 09:00:09 1.75 0.00 1.75 0.00 0.00 17.78 0.00 09:10:01 1.75 0.00 1.75 0.00 0.00 17.64 0.00 09:20:28 1.86 0.00 1.86 0.00 0.00 18.61 0.00 09:30:28 1.80 0.00 1.80 0.00 0.00 18.28 0.00 09:40:00 1.75 0.00 1.75 0.00 0.00 17.71 0.00 09:50:28 1.80 0.00 1.80 0.00 0.00 18.01 0.00 10:00:27 1.91 0.00 1.91 0.00 0.00 19.65 1.28 10:10:00 1.79 0.00 1.79 0.00 0.00 17.82 0.00 10:20:28 1.88 0.00 1.88 0.00 0.00 18.82 0.00 10:30:28 1.84 0.00 1.84 0.00 0.00 18.53 0.00 10:40:01 1.78 0.00 1.78 0.00 0.00 18.03 0.00 10:50:24 1.83 0.00 1.83 0.00 0.00 18.24 0.00 11:00:28 1.76 0.00 1.76 0.00 0.00 17.90 0.00 11:10:01 1.81 0.00 1.81 0.00 0.00 17.95 0.00 11:20:28 1.87 0.00 1.87 0.00 0.00 18.84 0.00 11:30:22 1.68 0.00 1.68 0.00 0.00 17.10 0.00 11:40:01 1.73 0.00 1.73 0.00 0.00 17.49 0.00 11:50:27 1.77 0.00 1.77 0.00 0.00 18.02 0.00 12:00:28 1.85 0.00 1.85 0.00 0.00 18.49 0.00 12:10:01 1.72 0.00 1.72 0.00 0.00 17.51 0.00 12:20:28 1.77 0.00 1.77 0.00 0.00 17.98 0.00 12:30:25 1.75 0.00 1.75 0.00 0.00 17.76 0.00 12:40:01 1.76 0.00 1.76 0.00 0.00 17.92 0.00 12:50:28 1.86 0.00 1.86 0.00 0.00 18.65 0.00 13:00:24 1.83 0.00 1.83 0.00 0.00 18.42 0.00 13:10:01 1.73 0.00 1.73 0.00 0.00 17.82 0.00 13:20:28 1.79 0.00 1.79 0.00 0.00 18.29 0.00 13:30:28 1.79 0.00 1.79 0.00 0.37 18.27 0.00 13:40:01 1.80 0.00 1.80 0.00 0.00 18.34 0.00 13:50:28 1.78 0.00 1.78 0.00 0.00 17.94 0.00 14:00:28 1.75 0.00 1.75 0.00 0.00 17.89 0.00 14:10:01 1.88 0.00 1.87 0.01 0.00 19.11 0.08 14:20:28 1.82 0.00 1.82 0.00 0.00 18.44 0.00 14:30:28 1.76 0.00 1.76 0.00 0.00 17.85 0.00 14:40:01 1.73 0.00 1.73 0.00 0.00 17.61 0.00 14:50:28 1.81 0.00 1.81 0.00 0.00 18.28 0.00 15:00:28 1.78 0.00 1.78 0.00 0.00 18.11 0.00 15:10:01 1.70 0.00 1.70 0.00 0.00 17.30 0.00 15:20:28 1.82 0.00 1.82 0.00 0.00 18.38 0.00 15:30:28 1.73 0.00 1.73 0.00 0.00 17.41 0.00 15:40:01 1.77 0.00 1.77 0.00 0.00 18.13 0.00 15:50:28 2.02 0.00 2.02 0.00 0.00 22.54 17.56 16:00:28 1.88 0.00 1.88 0.00 0.00 20.01 7.25 16:10:01 1.77 0.00 1.77 0.00 0.00 17.83 0.00 16:20:28 1.82 0.00 1.82 0.00 0.00 18.07 0.00 16:30:28 1.71 0.00 1.71 0.00 0.00 17.45 0.00 16:40:01 1.76 0.00 1.76 0.00 0.00 17.71 0.00 16:50:28 1.87 0.00 1.87 0.00 0.00 19.07 0.14 17:00:28 1.90 0.00 1.90 0.00 0.00 18.99 0.00 17:10:01 1.77 0.00 1.77 0.00 0.00 17.95 0.00 17:20:28 1.81 0.00 1.81 0.00 0.00 18.39 0.00 17:30:28 1.81 0.00 1.81 0.00 0.00 18.25 0.00 17:40:01 1.79 0.00 1.79 0.00 0.00 18.15 0.00 17:50:28 1.81 0.00 1.81 0.00 0.00 18.22 0.00 18:00:28 1.78 0.00 1.78 0.00 0.35 18.11 0.00 18:10:01 3.73 0.17 3.34 0.22 214.18 306.92 2948.28 18:20:28 1.79 0.00 1.79 0.00 0.00 18.39 0.00 18:30:09 1.86 0.00 1.86 0.00 0.00 19.13 0.00 18:40:00 1.78 0.00 1.78 0.00 0.00 17.93 0.00 18:50:28 1.91 0.00 1.91 0.00 0.00 19.08 0.00 19:00:28 1.79 0.00 1.79 0.00 0.00 17.83 0.00 19:10:00 1.69 0.00 1.69 0.00 0.00 17.24 0.00 19:20:28 1.90 0.00 1.90 0.00 0.00 18.80 0.00 19:30:28 1.79 0.00 1.79 0.00 0.00 17.87 0.00 19:40:01 1.78 0.00 1.78 0.00 0.00 18.06 0.00 19:50:28 1.78 0.00 1.78 0.00 0.00 17.92 0.00 20:00:28 1.75 0.00 1.75 0.00 0.00 17.91 0.00 20:10:01 1.76 0.00 1.76 0.00 0.00 17.96 0.00 20:20:28 1.80 0.00 1.80 0.00 0.00 18.14 0.00 20:30:28 1.77 0.00 1.77 0.00 0.00 18.04 0.00 20:40:01 1.74 0.00 1.74 0.00 0.00 17.55 0.00 20:50:28 1.77 0.00 1.77 0.00 0.00 17.94 0.00 21:00:28 1.74 0.00 1.74 0.00 0.00 17.53 0.00 21:10:01 1.71 0.00 1.71 0.00 0.00 17.47 0.00 21:20:28 1.78 0.00 1.78 0.00 0.00 18.11 0.00 21:30:28 1.73 0.00 1.73 0.00 0.00 17.68 0.00 21:40:01 1.72 0.00 1.72 0.00 0.00 17.62 0.00 21:50:28 1.77 0.00 1.77 0.00 0.00 17.85 0.00 22:00:28 84.64 6.62 74.68 3.35 729.65 10353.39 2859.17 Average: 2.38 0.05 2.30 0.03 7.12 98.10 46.66 00:00:09 kbmemfree kbavail kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty 00:10:00 13294532 15472096 530392 3.24 88604 2305288 1159388 6.65 303080 2489944 8 00:20:28 13293680 15471836 530668 3.24 88976 2305496 1159452 6.66 303452 2490444 4 00:30:09 13293812 15472428 530116 3.24 89300 2305632 1159468 6.66 303772 2490428 40 00:40:00 13293376 15472328 530192 3.24 89612 2305640 1159452 6.66 304092 2490444 4 00:50:28 13293392 15472728 529752 3.24 90000 2305652 1159468 6.66 304460 2491136 8 01:00:28 13293060 15472872 529568 3.23 90320 2305784 1159500 6.66 304800 2492316 8 01:10:00 13291940 15472180 530264 3.24 90596 2305924 1159644 6.66 305072 2495328 8 01:20:09 13297800 15478552 523928 3.20 90968 2306060 1159952 6.66 305436 2505096 40 01:30:09 13295728 15477316 525060 3.21 91480 2306324 1159952 6.66 305888 2505492 168 01:40:01 13295140 15477076 525300 3.21 91832 2306332 1159996 6.66 306224 2505724 8 01:50:09 13293640 15476092 526344 3.21 92200 2306460 1159952 6.66 306604 2505472 4 02:00:09 13291648 15474460 527940 3.22 92524 2306480 1159952 6.66 306936 2505704 28 02:10:01 13288976 15472236 530040 3.24 92844 2306612 1159936 6.66 307256 2505964 204 02:20:09 13288268 15471944 530336 3.24 93244 2306628 1159952 6.66 307648 2505832 36 02:30:28 13287384 15471436 530936 3.24 93592 2306636 1159952 6.66 308004 2505860 12 02:40:01 13286088 15470624 531724 3.25 93944 2306772 1159936 6.66 308352 2506116 204 02:50:09 13285252 15470084 532200 3.25 94232 2306788 1160016 6.66 308644 2506108 192 03:00:09 13269296 15454452 547756 3.35 94548 2306796 1160016 6.66 309396 2505644 36 03:10:01 13268996 15454644 547608 3.34 94892 2306932 1160000 6.66 309740 2505960 204 03:20:28 13269668 15455620 546688 3.34 95180 2306948 1160016 6.66 310032 2506004 188 03:30:28 13269784 15456040 546212 3.34 95468 2306956 1160016 6.66 310316 2505984 16 03:40:01 13269964 15456664 545656 3.33 95812 2307088 1160000 6.66 310624 2506056 204 03:50:09 13270364 15457464 544828 3.33 96160 2307100 1160016 6.66 311004 2506128 32 04:00:28 13270560 15458052 544184 3.32 96544 2307112 1160016 6.66 311368 2506140 16 04:10:01 13270084 15457980 544220 3.32 96912 2307120 1160000 6.66 311752 2506284 204 04:20:28 13270240 15458624 543560 3.32 97276 2307260 1160016 6.66 312104 2506304 36 04:30:09 13269792 15458492 543684 3.32 97584 2307260 1160016 6.66 312424 2506328 32 04:40:01 13269288 15458376 543744 3.32 97948 2307268 1160000 6.66 312788 2506472 200 04:50:03 13269064 15458596 543428 3.32 98240 2307420 1160000 6.66 313096 2506592 300 05:00:28 13270408 15460192 541920 3.31 98480 2307424 1160016 6.66 313324 2506524 12 05:10:01 13269596 15459724 542312 3.31 98824 2307436 1160000 6.66 313640 2506732 4 05:20:02 13269092 15459724 542340 3.31 99172 2307568 1160000 6.66 314020 2506704 8 05:30:28 13268844 15459820 542300 3.31 99496 2307584 1160016 6.66 314344 2506796 192 05:40:00 13268340 15459604 542460 3.31 99772 2307588 1160000 6.66 314608 2506724 8 05:50:28 13268088 15459548 542520 3.31 99948 2307600 1160032 6.66 314784 2506844 8 06:00:09 13268088 15459912 542164 3.31 100168 2307736 1168208 6.71 315008 2506972 40 06:10:01 13268088 15460064 542036 3.31 100304 2307744 1168192 6.71 315152 2507116 200 06:20:09 13268456 15460644 541404 3.31 100520 2307756 1168208 6.71 315368 2507044 184 06:30:09 13268816 15461328 540744 3.30 100676 2307916 1168208 6.71 315548 2507140 36 06:40:01 13269968 15462680 539380 3.29 100876 2307928 1168192 6.71 315748 2507196 304 06:50:09 13269380 15462248 539836 3.30 101016 2307936 1168208 6.71 315884 2507184 28 07:00:09 13269324 15462480 539496 3.30 101156 2308076 1168208 6.71 316024 2507320 32 07:10:01 13269380 15462680 539320 3.29 101276 2308084 1168256 6.71 316144 2507460 200 07:20:28 13269720 15463308 538680 3.29 101424 2308220 1168272 6.71 316296 2507740 4 07:30:28 13269640 15463356 538696 3.29 101540 2308232 1176464 6.75 316412 2507832 8 07:40:01 13269640 15463500 538520 3.29 101688 2308236 1176448 6.75 316548 2508704 200 07:50:09 13268888 15462860 539140 3.29 101788 2308252 1176464 6.75 316660 2508964 228 08:00:09 13266716 15460912 541060 3.30 101880 2308384 1176560 6.75 316752 2512272 208 08:10:01 13265204 15459548 542460 3.31 102012 2308396 1176512 6.75 316884 2512084 4 08:20:28 13265204 15459764 542200 3.31 102216 2308408 1176528 6.75 317088 2512176 32 08:30:09 13264700 15459640 542312 3.31 102456 2308540 1176528 6.75 317328 2512316 32 08:40:01 13263944 15459112 542844 3.32 102668 2308556 1176512 6.75 317540 2512664 204 08:50:09 13263696 15459112 542868 3.32 102900 2308560 1176528 6.75 317764 2512356 32 09:00:09 13263696 15459464 542468 3.31 103092 2308704 1176544 6.75 317968 2512652 200 09:10:01 13262940 15459072 542796 3.32 103344 2308840 1176512 6.75 318192 2512776 204 09:20:28 13261964 15458312 543584 3.32 103524 2308844 1176528 6.75 318396 2512668 24 09:30:28 13261460 15458040 543868 3.32 103780 2308856 1176528 6.75 318628 2512680 16 09:40:00 13261208 15458184 543688 3.32 104024 2308996 1176512 6.75 318880 2512756 8 09:50:28 13260956 15458208 543712 3.32 104272 2309004 1176528 6.75 319144 2513036 8 10:00:27 13260020 15457700 544264 3.32 104512 2309204 1176528 6.75 319372 2514860 4 10:10:00 13260020 15458068 543876 3.32 104724 2309340 1176512 6.75 319592 2513036 8 10:20:28 13258256 15456524 545352 3.33 104924 2309352 1176528 6.75 319796 2513116 4 10:30:28 13255988 15454600 547288 3.34 105124 2309492 1176528 6.75 320000 2513256 4 10:40:01 13251676 15450504 551300 3.37 105332 2309500 1176640 6.75 320200 2513956 12 10:50:24 13251676 15450764 551056 3.37 105584 2309508 1176656 6.75 320456 2514024 32 11:00:28 13251452 15450760 551052 3.37 105788 2309520 1176652 6.75 320656 2514036 8 11:10:01 13251452 15451048 550764 3.36 105952 2309652 1176640 6.75 320812 2514108 8 11:20:28 13250696 15450520 551320 3.37 106168 2309664 1176656 6.75 321024 2514228 4 11:30:22 13250696 15450748 551108 3.37 106360 2309680 1176656 6.75 321232 2514360 308 11:40:01 13250696 15451052 550784 3.36 106524 2309812 1176640 6.75 321396 2514704 20 11:50:27 13251544 15452108 549720 3.36 106720 2309824 1176656 6.75 321584 2515064 8 12:00:28 13250856 15451632 550204 3.36 106920 2309828 1176704 6.75 321788 2515148 8 12:10:01 13250632 15451732 550056 3.36 107096 2309968 1176688 6.75 321968 2515272 204 12:20:28 13250408 15451752 550016 3.36 107332 2309976 1176720 6.75 322200 2515416 8 12:30:25 13252784 15454376 547488 3.34 107556 2309988 1176720 6.75 322428 2515436 32 12:40:01 13254648 15456476 545332 3.33 107776 2310000 1176704 6.75 322648 2515384 4 12:50:28 13254424 15456728 545084 3.33 107996 2310260 1176720 6.75 322860 2515736 4 13:00:24 13253420 15456016 545804 3.33 108264 2310272 1176784 6.75 323136 2515776 32 13:10:01 13252664 15455548 546244 3.34 108548 2310280 1176768 6.75 323408 2515736 8 13:20:28 13252720 15455872 545896 3.33 108808 2310288 1176784 6.75 323660 2515752 8 13:30:28 13252780 15456468 545344 3.33 109080 2310540 1176784 6.75 323948 2516012 16 13:40:01 13252780 15456684 545072 3.33 109288 2310544 1176768 6.75 324156 2516404 200 13:50:28 13252780 15456896 544864 3.33 109504 2310560 1176784 6.75 324360 2516024 8 14:00:28 13252528 15456944 544732 3.33 109688 2310696 1176784 6.75 324520 2516168 16 14:10:01 13270504 15475168 526544 3.22 109888 2310704 1176768 6.75 324780 2516148 236 14:20:28 13269504 15474396 527348 3.22 110104 2310712 1176784 6.75 324992 2516164 8 14:30:28 13269000 15474104 527608 3.22 110208 2310856 1176784 6.75 325100 2516280 12 14:40:01 13268748 15474024 527576 3.22 110344 2310864 1176768 6.75 325224 2516312 204 14:50:28 13268748 15474192 527420 3.22 110480 2310872 1176784 6.75 325376 2516388 8 15:00:28 13268748 15474328 527348 3.22 110616 2310880 1176784 6.75 325512 2516328 4 15:10:01 13268244 15474092 527500 3.22 110748 2311016 1176768 6.75 325640 2517060 200 15:20:28 13267744 15473740 527876 3.22 110884 2311032 1176784 6.75 325768 2516300 8 15:30:28 13267240 15473388 528284 3.23 111004 2311036 1176784 6.75 325896 2516508 8 15:40:01 13267240 15473756 527944 3.22 111164 2311248 1176832 6.76 326060 2517164 204 15:50:28 13267524 15474292 527324 3.22 111300 2311388 1176784 6.75 326388 2517144 4 16:00:28 13266264 15473272 528348 3.23 111412 2311484 1176784 6.75 326524 2516748 36 16:10:01 13266016 15473124 528428 3.23 111504 2311496 1176768 6.75 326608 2516788 204 16:20:28 13265764 15473080 528532 3.23 111568 2311628 1176784 6.75 326676 2516920 36 16:30:28 13265260 15472692 528940 3.23 111668 2311640 1176784 6.75 326780 2516960 8 16:40:01 13264508 15472104 529512 3.23 111820 2311648 1176768 6.75 326932 2517152 236 16:50:28 13264004 15471780 529804 3.24 111932 2311720 1176784 6.75 327040 2517008 8 17:00:28 13263500 15471736 529792 3.24 112108 2311992 1176784 6.75 327220 2517288 8 17:10:01 13262244 15470568 530952 3.24 112200 2311996 1176768 6.75 327288 2517292 204 17:20:28 13261740 15470192 531416 3.25 112312 2312008 1176784 6.75 327424 2517508 8 17:30:28 13261248 15469792 531816 3.25 112392 2312016 1176784 6.75 327504 2517324 4 17:40:01 13261248 15469972 531592 3.25 112564 2312028 1176768 6.75 327684 2517536 356 17:50:28 13260996 15469876 531708 3.25 112712 2312036 1176784 6.75 327820 2517360 12 18:00:28 13260744 15469924 531608 3.25 112828 2312216 1176784 6.75 327940 2517532 8 18:10:01 13103624 15443260 556216 3.40 113612 2440744 1180864 6.78 386016 2589400 8 18:20:28 13103996 15444048 555496 3.39 113744 2441008 1180880 6.78 386152 2589736 36 18:30:09 13104488 15444844 554684 3.39 113900 2441148 1180880 6.78 386312 2589684 4 18:40:00 13104396 15445052 554576 3.39 114060 2441284 1180864 6.78 386472 2589824 8 18:50:28 13103896 15445016 554808 3.39 114224 2441576 1180880 6.78 386636 2590116 4 19:00:28 13104436 15445848 553952 3.38 114384 2441712 1180880 6.78 386788 2590252 20 19:10:00 13103932 15445592 554252 3.39 114500 2441848 1180864 6.78 386904 2590392 44 19:20:28 13103176 15445008 554816 3.39 114652 2441864 1180880 6.78 387064 2590416 4 19:30:28 13102424 15444416 555456 3.39 114808 2441868 1180880 6.78 387212 2590416 16 19:40:01 13101920 15444204 555656 3.39 114948 2442008 1180928 6.78 387360 2590836 212 19:50:28 13101696 15444076 555752 3.39 115040 2442012 1180880 6.78 387452 2590588 16 20:00:28 13101724 15444220 555620 3.39 115152 2442024 1180880 6.78 387560 2590616 36 20:10:01 13102280 15444884 554888 3.39 115248 2442036 1180864 6.78 387656 2590624 20 20:20:28 13101732 15444588 555252 3.39 115356 2442172 1180880 6.78 387768 2590756 4 20:30:28 13102456 15445420 554404 3.39 115460 2442184 1180880 6.78 387864 2590840 8 20:40:01 13103192 15446256 553524 3.38 115552 2442192 1180864 6.78 387956 2591180 240 20:50:28 13102720 15446012 553872 3.38 115636 2442328 1180880 6.78 388048 2590924 36 21:00:28 13103540 15446888 552928 3.38 115684 2442336 1180880 6.78 388096 2590920 4 21:10:01 13103036 15446460 553376 3.38 115752 2442344 1180864 6.78 388164 2590940 40 21:20:28 13102032 15445676 554048 3.38 115816 2442488 1180880 6.78 388228 2591068 36 21:30:28 13101340 15445112 554660 3.39 115916 2442496 1180880 6.78 388328 2591132 8 21:40:01 13101516 15445360 554404 3.39 115976 2442504 1180864 6.78 388388 2591276 232 21:50:28 13101264 15445188 554504 3.39 116044 2442512 1180880 6.78 388456 2591328 8 22:00:28 9859700 15264156 679736 4.15 213964 5176492 1385584 7.95 715292 5233128 12 Average: 13213145 15458644 542497 3.31 105787 2353777 1173964 6.74 332818 2545056 69 00:00:09 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil 00:10:00 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 00:10:00 ens3 0.36 0.16 0.12 0.07 0.00 0.00 0.00 0.00 00:10:00 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 00:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 00:20:28 ens3 0.27 0.11 0.06 0.04 0.00 0.00 0.00 0.00 00:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 00:30:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 00:30:09 ens3 0.55 0.15 0.15 0.08 0.00 0.00 0.00 0.00 00:30:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 00:40:00 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 00:40:00 ens3 0.76 0.19 0.22 0.13 0.00 0.00 0.00 0.00 00:40:00 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 00:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 00:50:28 ens3 3.04 0.20 0.49 0.15 0.00 0.00 0.00 0.00 00:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 01:00:28 ens3 0.72 0.11 0.09 0.05 0.00 0.00 0.00 0.00 01:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:10:00 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 01:10:00 ens3 3.51 0.27 0.56 0.19 0.00 0.00 0.00 0.00 01:10:00 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:20:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 01:20:09 ens3 3.86 2.08 0.49 2.75 0.00 0.00 0.00 0.00 01:20:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:30:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 01:30:09 ens3 1.91 0.13 0.23 0.07 0.00 0.00 0.00 0.00 01:30:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 01:40:01 ens3 2.53 0.15 25.27 0.06 0.00 0.00 0.00 0.00 01:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 01:50:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 01:50:09 ens3 0.43 0.09 0.05 0.02 0.00 0.00 0.00 0.00 01:50:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:00:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 02:00:09 ens3 0.47 0.08 0.05 0.02 0.00 0.00 0.00 0.00 02:00:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 02:10:01 ens3 0.29 0.08 0.05 0.03 0.00 0.00 0.00 0.00 02:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:20:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 02:20:09 ens3 0.28 0.09 0.06 0.02 0.00 0.00 0.00 0.00 02:20:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 02:30:28 ens3 0.28 0.08 0.04 0.02 0.00 0.00 0.00 0.00 02:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 02:40:01 ens3 0.38 0.13 0.09 0.05 0.00 0.00 0.00 0.00 02:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 02:50:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 02:50:09 ens3 0.47 0.13 0.10 0.06 0.00 0.00 0.00 0.00 02:50:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:00:09 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 03:00:09 ens3 0.33 0.12 0.09 0.04 0.00 0.00 0.00 0.00 03:00:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:10:01 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 03:10:01 ens3 0.27 0.13 0.09 0.04 0.00 0.00 0.00 0.00 03:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 03:20:28 ens3 0.25 0.09 0.05 0.02 0.00 0.00 0.00 0.00 03:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 03:30:28 ens3 0.35 0.13 0.09 0.06 0.00 0.00 0.00 0.00 03:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 03:40:01 ens3 0.21 0.07 0.03 0.01 0.00 0.00 0.00 0.00 03:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 03:50:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 03:50:09 ens3 0.21 0.09 0.03 0.02 0.00 0.00 0.00 0.00 03:50:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 04:00:28 ens3 0.21 0.08 0.05 0.02 0.00 0.00 0.00 0.00 04:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 04:10:01 ens3 0.20 0.09 0.05 0.03 0.00 0.00 0.00 0.00 04:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 04:20:28 ens3 0.22 0.08 0.05 0.02 0.00 0.00 0.00 0.00 04:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:30:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 04:30:09 ens3 0.19 0.07 0.03 0.02 0.00 0.00 0.00 0.00 04:30:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 04:40:01 ens3 0.20 0.07 0.03 0.01 0.00 0.00 0.00 0.00 04:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 04:50:03 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 04:50:03 ens3 0.33 0.12 0.09 0.06 0.00 0.00 0.00 0.00 04:50:03 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 05:00:28 ens3 0.47 0.18 0.15 0.10 0.00 0.00 0.00 0.00 05:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 05:10:01 ens3 0.23 0.09 0.05 0.03 0.00 0.00 0.00 0.00 05:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:20:02 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 05:20:02 ens3 0.25 0.09 0.06 0.04 0.00 0.00 0.00 0.00 05:20:02 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 05:30:28 ens3 0.30 0.11 0.08 0.04 0.00 0.00 0.00 0.00 05:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:40:00 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 05:40:00 ens3 0.19 0.06 0.02 0.01 0.00 0.00 0.00 0.00 05:40:00 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 05:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 05:50:28 ens3 0.28 0.10 0.06 0.03 0.00 0.00 0.00 0.00 05:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:00:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 06:00:09 ens3 0.24 0.11 0.06 0.04 0.00 0.00 0.00 0.00 06:00:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 06:10:01 ens3 0.22 0.09 0.05 0.03 0.00 0.00 0.00 0.00 06:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:20:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 06:20:09 ens3 0.22 0.08 0.04 0.02 0.00 0.00 0.00 0.00 06:20:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:30:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 06:30:09 ens3 0.28 0.10 0.07 0.04 0.00 0.00 0.00 0.00 06:30:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 06:40:01 ens3 0.26 0.09 0.05 0.03 0.00 0.00 0.00 0.00 06:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 06:50:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 06:50:09 ens3 0.30 0.12 0.09 0.05 0.00 0.00 0.00 0.00 06:50:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:00:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 07:00:09 ens3 0.42 0.15 0.13 0.08 0.00 0.00 0.00 0.00 07:00:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 07:10:01 ens3 0.44 0.18 0.14 0.09 0.00 0.00 0.00 0.00 07:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 07:20:28 ens3 0.91 0.27 0.31 0.19 0.00 0.00 0.00 0.00 07:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 07:30:28 ens3 0.36 0.10 0.07 0.04 0.00 0.00 0.00 0.00 07:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 07:40:01 ens3 0.32 0.11 0.07 0.04 0.00 0.00 0.00 0.00 07:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 07:50:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 07:50:09 ens3 0.25 0.09 0.04 0.02 0.00 0.00 0.00 0.00 07:50:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:00:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 08:00:09 ens3 1.32 1.21 0.20 2.22 0.00 0.00 0.00 0.00 08:00:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 08:10:01 ens3 0.39 0.15 0.12 0.08 0.00 0.00 0.00 0.00 08:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 08:20:28 ens3 0.50 0.16 0.16 0.10 0.00 0.00 0.00 0.00 08:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:30:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 08:30:09 ens3 0.26 0.09 0.06 0.04 0.00 0.00 0.00 0.00 08:30:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 08:40:01 ens3 0.20 0.06 0.03 0.01 0.00 0.00 0.00 0.00 08:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 08:50:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 08:50:09 ens3 0.21 0.09 0.04 0.02 0.00 0.00 0.00 0.00 08:50:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:00:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 09:00:09 ens3 0.29 0.12 0.07 0.05 0.00 0.00 0.00 0.00 09:00:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 09:10:01 ens3 0.30 0.12 0.08 0.05 0.00 0.00 0.00 0.00 09:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 09:20:28 ens3 0.49 0.19 0.17 0.11 0.00 0.00 0.00 0.00 09:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 09:30:28 ens3 0.37 0.13 0.10 0.06 0.00 0.00 0.00 0.00 09:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:40:00 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 09:40:00 ens3 0.19 0.06 0.02 0.01 0.00 0.00 0.00 0.00 09:40:00 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 09:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 09:50:28 ens3 0.23 0.08 0.05 0.02 0.00 0.00 0.00 0.00 09:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:00:27 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 10:00:27 ens3 0.31 0.16 0.11 0.05 0.00 0.00 0.00 0.00 10:00:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:10:00 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 10:10:00 ens3 0.20 0.09 0.05 0.03 0.00 0.00 0.00 0.00 10:10:00 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 10:20:28 ens3 0.22 0.08 0.05 0.02 0.00 0.00 0.00 0.00 10:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 10:30:28 ens3 0.22 0.08 0.04 0.02 0.00 0.00 0.00 0.00 10:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 10:40:01 ens3 6.52 4.69 4.44 3.10 0.00 0.00 0.00 0.00 10:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10:50:24 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 10:50:24 ens3 0.22 0.09 0.05 0.02 0.00 0.00 0.00 0.00 10:50:24 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 11:00:28 ens3 0.32 0.12 0.08 0.05 0.00 0.00 0.00 0.00 11:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 11:10:01 ens3 0.27 0.11 0.08 0.05 0.00 0.00 0.00 0.00 11:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 11:20:28 ens3 0.23 0.09 0.05 0.02 0.00 0.00 0.00 0.00 11:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:30:22 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 11:30:22 ens3 0.21 0.07 0.04 0.02 0.00 0.00 0.00 0.00 11:30:22 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 11:40:01 ens3 0.44 0.16 0.14 0.09 0.00 0.00 0.00 0.00 11:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 11:50:27 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 11:50:27 ens3 0.28 0.12 0.08 0.05 0.00 0.00 0.00 0.00 11:50:27 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 12:00:28 ens3 0.80 1.12 0.10 2.74 0.00 0.00 0.00 0.00 12:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 12:10:01 ens3 0.45 0.64 0.06 1.42 0.00 0.00 0.00 0.00 12:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 12:20:28 ens3 1.04 1.70 0.10 2.03 0.00 0.00 0.00 0.00 12:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:30:25 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 12:30:25 ens3 0.22 0.08 0.04 0.02 0.00 0.00 0.00 0.00 12:30:25 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 12:40:01 ens3 0.19 0.07 0.02 0.01 0.00 0.00 0.00 0.00 12:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 12:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 12:50:28 ens3 0.25 0.10 0.05 0.03 0.00 0.00 0.00 0.00 12:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 13:00:24 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 13:00:24 ens3 0.21 0.08 0.04 0.02 0.00 0.00 0.00 0.00 13:00:24 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 13:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 13:10:01 ens3 0.21 0.09 0.05 0.03 0.00 0.00 0.00 0.00 13:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 13:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 13:20:28 ens3 0.21 0.08 0.05 0.02 0.00 0.00 0.00 0.00 13:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 13:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 13:30:28 ens3 0.20 0.08 0.04 0.02 0.00 0.00 0.00 0.00 13:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 13:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 13:40:01 ens3 0.18 0.06 0.02 0.01 0.00 0.00 0.00 0.00 13:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 13:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 13:50:28 ens3 0.21 0.08 0.05 0.02 0.00 0.00 0.00 0.00 13:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 14:00:28 ens3 0.21 0.08 0.04 0.02 0.00 0.00 0.00 0.00 14:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:10:01 lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 14:10:01 ens3 0.22 0.11 0.06 0.04 0.00 0.00 0.00 0.00 14:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 14:20:28 ens3 0.21 0.08 0.05 0.02 0.00 0.00 0.00 0.00 14:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 14:30:28 ens3 0.21 0.08 0.04 0.02 0.00 0.00 0.00 0.00 14:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 14:40:01 ens3 0.19 0.06 0.02 0.01 0.00 0.00 0.00 0.00 14:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 14:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 14:50:28 ens3 0.22 0.08 0.05 0.02 0.00 0.00 0.00 0.00 14:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 15:00:28 ens3 0.20 0.07 0.03 0.02 0.00 0.00 0.00 0.00 15:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 15:10:01 ens3 0.21 0.09 0.05 0.03 0.00 0.00 0.00 0.00 15:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 15:20:28 ens3 0.21 0.08 0.05 0.02 0.00 0.00 0.00 0.00 15:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 15:30:28 ens3 0.21 0.07 0.04 0.02 0.00 0.00 0.00 0.00 15:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 15:40:01 ens3 0.33 0.13 0.09 0.06 0.00 0.00 0.00 0.00 15:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 15:50:28 ens3 0.24 0.09 0.05 0.02 0.00 0.00 0.00 0.00 15:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 16:00:28 ens3 0.37 0.14 0.11 0.07 0.00 0.00 0.00 0.00 16:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 16:10:01 ens3 0.22 0.09 0.05 0.03 0.00 0.00 0.00 0.00 16:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 16:20:28 ens3 0.20 0.09 0.04 0.02 0.00 0.00 0.00 0.00 16:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 16:30:28 ens3 0.20 0.07 0.03 0.02 0.00 0.00 0.00 0.00 16:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 16:40:01 ens3 0.20 0.07 0.03 0.01 0.00 0.00 0.00 0.00 16:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 16:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 16:50:28 ens3 0.24 0.12 0.09 0.03 0.00 0.00 0.00 0.00 16:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 17:00:28 ens3 0.19 0.07 0.03 0.02 0.00 0.00 0.00 0.00 17:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 17:10:01 ens3 0.26 0.10 0.06 0.03 0.00 0.00 0.00 0.00 17:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 17:20:28 ens3 0.24 0.11 0.08 0.04 0.00 0.00 0.00 0.00 17:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 17:30:28 ens3 0.21 0.08 0.04 0.02 0.00 0.00 0.00 0.00 17:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 17:40:01 ens3 0.18 0.07 0.02 0.01 0.00 0.00 0.00 0.00 17:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 17:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 17:50:28 ens3 0.22 0.09 0.05 0.02 0.00 0.00 0.00 0.00 17:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 18:00:28 ens3 0.21 0.08 0.04 0.02 0.00 0.00 0.00 0.00 18:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18:10:01 lo 0.13 0.13 0.01 0.01 0.00 0.00 0.00 0.00 18:10:01 ens3 38.10 22.76 66.55 2.06 0.00 0.00 0.00 0.00 18:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 18:20:28 ens3 0.21 0.09 0.05 0.02 0.00 0.00 0.00 0.00 18:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18:30:09 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 18:30:09 ens3 0.21 0.08 0.03 0.02 0.00 0.00 0.00 0.00 18:30:09 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18:40:00 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 18:40:00 ens3 0.18 0.06 0.03 0.01 0.00 0.00 0.00 0.00 18:40:00 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 18:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 18:50:28 ens3 0.22 0.08 0.05 0.02 0.00 0.00 0.00 0.00 18:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 19:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 19:00:28 ens3 0.19 0.07 0.03 0.02 0.00 0.00 0.00 0.00 19:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 19:10:00 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 19:10:00 ens3 0.23 0.10 0.06 0.03 0.00 0.00 0.00 0.00 19:10:00 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 19:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 19:20:28 ens3 0.21 0.08 0.05 0.02 0.00 0.00 0.00 0.00 19:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 19:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 19:30:28 ens3 0.21 0.07 0.04 0.02 0.00 0.00 0.00 0.00 19:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 19:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 19:40:01 ens3 0.26 0.09 0.05 0.03 0.00 0.00 0.00 0.00 19:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 19:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 19:50:28 ens3 0.39 0.12 0.09 0.05 0.00 0.00 0.00 0.00 19:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 20:00:28 ens3 0.30 0.10 0.07 0.04 0.00 0.00 0.00 0.00 20:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 20:10:01 ens3 0.42 0.13 0.10 0.05 0.00 0.00 0.00 0.00 20:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 20:20:28 ens3 0.24 0.09 0.05 0.02 0.00 0.00 0.00 0.00 20:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 20:30:28 ens3 0.19 0.07 0.03 0.02 0.00 0.00 0.00 0.00 20:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 20:40:01 ens3 0.20 0.07 0.02 0.01 0.00 0.00 0.00 0.00 20:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 20:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 20:50:28 ens3 0.20 0.09 0.05 0.02 0.00 0.00 0.00 0.00 20:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 21:00:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 21:00:28 ens3 0.19 0.07 0.03 0.02 0.00 0.00 0.00 0.00 21:00:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 21:10:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 21:10:01 ens3 0.19 0.08 0.05 0.03 0.00 0.00 0.00 0.00 21:10:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 21:20:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 21:20:28 ens3 0.20 0.09 0.05 0.02 0.00 0.00 0.00 0.00 21:20:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 21:30:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 21:30:28 ens3 0.19 0.07 0.03 0.02 0.00 0.00 0.00 0.00 21:30:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 21:40:01 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 21:40:01 ens3 0.17 0.07 0.02 0.01 0.00 0.00 0.00 0.00 21:40:01 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 21:50:28 lo 0.10 0.10 0.01 0.01 0.00 0.00 0.00 0.00 21:50:28 ens3 0.19 0.08 0.05 0.02 0.00 0.00 0.00 0.00 21:50:28 docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 22:00:28 lo 0.99 0.99 0.10 0.10 0.00 0.00 0.00 0.00 22:00:28 ens3 81.96 57.66 853.03 11.26 0.00 0.00 0.00 0.00 22:00:28 docker0 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.00 Average: lo 0.11 0.11 0.01 0.01 0.00 0.00 0.00 0.00 Average: ens3 1.33 0.78 7.24 0.24 0.00 0.00 0.00 0.00 Average: docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 ---> sar -P ALL: Linux 5.15.0-198-generic (prd-ubuntu2204-docker-4c-16g-62480) 10/07/26 _x86_64_ (4 CPU) 00:00:09 CPU %user %nice %system %iowait %steal %idle 00:10:00 all 0.21 0.00 0.03 0.01 0.00 99.74 00:10:00 0 0.01 0.01 0.02 0.01 0.00 99.96 00:10:00 1 0.02 0.00 0.03 0.01 0.00 99.95 00:10:00 2 0.04 0.00 0.05 0.01 0.01 99.89 00:10:00 3 0.77 0.00 0.02 0.03 0.00 99.18 00:20:28 all 0.17 0.00 0.03 0.01 0.00 99.79 00:20:28 0 0.02 0.00 0.04 0.03 0.00 99.91 00:20:28 1 0.02 0.00 0.02 0.01 0.00 99.96 00:20:28 2 0.64 0.00 0.04 0.00 0.00 99.31 00:20:28 3 0.01 0.00 0.01 0.00 0.00 99.98 00:30:09 all 0.24 0.00 0.03 0.01 0.00 99.72 00:30:09 0 0.86 0.00 0.04 0.01 0.00 99.08 00:30:09 1 0.05 0.00 0.03 0.02 0.00 99.90 00:30:09 2 0.02 0.00 0.02 0.01 0.00 99.95 00:30:09 3 0.01 0.00 0.02 0.00 0.00 99.97 00:40:00 all 0.02 0.00 0.02 0.01 0.00 99.95 00:40:00 0 0.01 0.00 0.02 0.01 0.00 99.97 00:40:00 1 0.04 0.00 0.04 0.01 0.01 99.91 00:40:00 2 0.01 0.00 0.01 0.00 0.00 99.98 00:40:00 3 0.03 0.00 0.02 0.03 0.00 99.92 00:50:28 all 0.26 0.00 0.03 0.01 0.00 99.70 00:50:28 0 0.99 0.00 0.03 0.00 0.00 98.97 00:50:28 1 0.02 0.00 0.03 0.01 0.00 99.95 00:50:28 2 0.03 0.00 0.04 0.00 0.00 99.93 00:50:28 3 0.02 0.00 0.02 0.03 0.00 99.93 01:00:28 all 0.02 0.00 0.02 0.01 0.00 99.95 01:00:28 0 0.00 0.00 0.01 0.01 0.00 99.98 01:00:28 1 0.03 0.00 0.02 0.00 0.00 99.94 01:00:28 2 0.02 0.00 0.04 0.02 0.00 99.93 01:00:28 3 0.02 0.00 0.02 0.01 0.00 99.95 01:10:00 all 0.04 0.00 0.02 0.02 0.00 99.92 01:10:00 0 0.06 0.00 0.00 0.00 0.00 99.94 01:10:00 1 0.03 0.00 0.02 0.00 0.00 99.94 01:10:00 2 0.02 0.00 0.03 0.01 0.00 99.93 01:10:00 3 0.03 0.00 0.03 0.05 0.00 99.89 01:20:09 all 0.15 0.00 0.03 0.01 0.00 99.80 01:20:09 0 0.08 0.00 0.02 0.00 0.00 99.89 01:20:09 1 0.18 0.00 0.02 0.00 0.01 99.78 01:20:09 2 0.31 0.00 0.04 0.02 0.00 99.62 01:20:09 3 0.03 0.00 0.03 0.02 0.00 99.91 01:30:09 all 0.19 0.01 0.02 0.01 0.00 99.76 01:30:09 0 0.02 0.00 0.02 0.00 0.00 99.96 01:30:09 1 0.20 0.00 0.02 0.01 0.00 99.77 01:30:09 2 0.53 0.00 0.01 0.01 0.00 99.44 01:30:09 3 0.02 0.02 0.05 0.03 0.01 99.88 01:40:01 all 0.12 0.00 0.02 0.01 0.00 99.84 01:40:01 0 0.44 0.00 0.03 0.00 0.00 99.53 01:40:01 1 0.02 0.00 0.02 0.00 0.00 99.96 01:40:01 2 0.03 0.00 0.03 0.02 0.00 99.93 01:40:01 3 0.01 0.00 0.02 0.02 0.00 99.95 01:50:09 all 0.01 0.00 0.02 0.02 0.00 99.94 01:50:09 0 0.01 0.00 0.02 0.00 0.00 99.97 01:50:09 1 0.01 0.00 0.02 0.00 0.00 99.96 01:50:09 2 0.02 0.00 0.02 0.03 0.00 99.93 01:50:09 3 0.01 0.00 0.02 0.06 0.00 99.90 01:50:09 CPU %user %nice %system %iowait %steal %idle 02:00:09 all 0.18 0.00 0.02 0.01 0.00 99.78 02:00:09 0 0.68 0.00 0.03 0.00 0.00 99.28 02:00:09 1 0.01 0.00 0.02 0.01 0.00 99.97 02:00:09 2 0.02 0.00 0.03 0.01 0.00 99.94 02:00:09 3 0.02 0.00 0.02 0.03 0.00 99.94 02:10:01 all 0.02 0.00 0.02 0.01 0.00 99.95 02:10:01 0 0.01 0.00 0.01 0.01 0.00 99.97 02:10:01 1 0.01 0.00 0.01 0.01 0.00 99.97 02:10:01 2 0.03 0.00 0.03 0.01 0.00 99.92 02:10:01 3 0.02 0.00 0.03 0.03 0.00 99.93 02:20:09 all 0.28 0.00 0.02 0.03 0.00 99.67 02:20:09 0 0.00 0.00 0.01 0.00 0.00 99.99 02:20:09 1 0.02 0.00 0.01 0.01 0.00 99.96 02:20:09 2 0.02 0.00 0.02 0.02 0.00 99.94 02:20:09 3 1.09 0.00 0.03 0.07 0.00 98.81 02:30:28 all 0.02 0.00 0.02 0.01 0.00 99.94 02:30:28 0 0.02 0.00 0.02 0.01 0.00 99.95 02:30:28 1 0.02 0.00 0.02 0.00 0.00 99.96 02:30:28 2 0.01 0.00 0.02 0.00 0.00 99.97 02:30:28 3 0.05 0.00 0.03 0.02 0.00 99.89 02:40:01 all 0.10 0.00 0.02 0.01 0.00 99.87 02:40:01 0 0.01 0.00 0.01 0.00 0.00 99.98 02:40:01 1 0.02 0.00 0.03 0.01 0.00 99.94 02:40:01 2 0.35 0.00 0.02 0.01 0.00 99.63 02:40:01 3 0.02 0.00 0.02 0.03 0.00 99.93 02:50:09 all 0.06 0.00 0.02 0.01 0.00 99.91 02:50:09 0 0.01 0.00 0.02 0.01 0.00 99.96 02:50:09 1 0.03 0.00 0.03 0.02 0.00 99.91 02:50:09 2 0.16 0.00 0.01 0.00 0.00 99.83 02:50:09 3 0.02 0.00 0.02 0.01 0.00 99.94 03:00:09 all 0.09 0.00 0.03 0.02 0.00 99.86 03:00:09 0 0.21 0.00 0.03 0.00 0.00 99.76 03:00:09 1 0.02 0.00 0.03 0.05 0.00 99.90 03:00:09 2 0.11 0.00 0.03 0.01 0.00 99.86 03:00:09 3 0.03 0.00 0.03 0.03 0.00 99.91 03:10:01 all 0.24 0.00 0.03 0.01 0.00 99.73 03:10:01 0 0.87 0.00 0.03 0.00 0.00 99.10 03:10:01 1 0.03 0.00 0.02 0.00 0.00 99.95 03:10:01 2 0.03 0.00 0.04 0.01 0.00 99.91 03:10:01 3 0.01 0.00 0.02 0.03 0.00 99.94 03:20:28 all 0.04 0.00 0.02 0.01 0.00 99.92 03:20:28 0 0.04 0.00 0.00 0.00 0.00 99.96 03:20:28 1 0.03 0.00 0.02 0.00 0.00 99.94 03:20:28 2 0.01 0.00 0.02 0.03 0.00 99.93 03:20:28 3 0.07 0.00 0.05 0.03 0.00 99.86 03:30:28 all 0.12 0.00 0.02 0.01 0.00 99.85 03:30:28 0 0.01 0.00 0.02 0.01 0.00 99.97 03:30:28 1 0.02 0.00 0.02 0.00 0.00 99.96 03:30:28 2 0.42 0.00 0.04 0.03 0.00 99.51 03:30:28 3 0.02 0.00 0.02 0.01 0.00 99.95 03:40:01 all 0.02 0.00 0.02 0.01 0.00 99.95 03:40:01 0 0.00 0.00 0.01 0.03 0.00 99.96 03:40:01 1 0.01 0.00 0.01 0.01 0.00 99.97 03:40:01 2 0.03 0.00 0.03 0.00 0.00 99.94 03:40:01 3 0.03 0.00 0.04 0.01 0.00 99.93 03:40:01 CPU %user %nice %system %iowait %steal %idle 03:50:09 all 0.18 0.00 0.02 0.02 0.00 99.77 03:50:09 0 0.01 0.00 0.01 0.05 0.00 99.93 03:50:09 1 0.02 0.00 0.02 0.00 0.00 99.96 03:50:09 2 0.69 0.00 0.02 0.00 0.00 99.28 03:50:09 3 0.02 0.00 0.03 0.02 0.00 99.92 04:00:28 all 0.08 0.00 0.02 0.01 0.00 99.88 04:00:28 0 0.01 0.00 0.01 0.03 0.00 99.94 04:00:28 1 0.02 0.00 0.02 0.01 0.00 99.95 04:00:28 2 0.27 0.00 0.02 0.00 0.00 99.70 04:00:28 3 0.02 0.00 0.03 0.00 0.00 99.94 04:10:01 all 0.21 0.00 0.02 0.01 0.00 99.76 04:10:01 0 0.01 0.00 0.01 0.03 0.00 99.95 04:10:01 1 0.01 0.00 0.02 0.01 0.00 99.96 04:10:01 2 0.77 0.00 0.02 0.01 0.00 99.20 04:10:01 3 0.03 0.00 0.05 0.01 0.00 99.92 04:20:28 all 0.13 0.00 0.02 0.01 0.00 99.83 04:20:28 0 0.01 0.00 0.01 0.02 0.00 99.96 04:20:28 1 0.01 0.00 0.02 0.02 0.00 99.95 04:20:28 2 0.47 0.00 0.02 0.00 0.00 99.50 04:20:28 3 0.03 0.00 0.04 0.01 0.00 99.93 04:30:09 all 0.18 0.00 0.02 0.01 0.00 99.79 04:30:09 0 0.62 0.00 0.02 0.00 0.00 99.36 04:30:09 1 0.03 0.00 0.04 0.02 0.00 99.91 04:30:09 2 0.06 0.00 0.01 0.00 0.00 99.93 04:30:09 3 0.02 0.00 0.02 0.01 0.00 99.95 04:40:01 all 0.23 0.00 0.03 0.01 0.00 99.73 04:40:01 0 0.18 0.00 0.02 0.01 0.00 99.79 04:40:01 1 0.53 0.00 0.05 0.02 0.01 99.39 04:40:01 2 0.20 0.00 0.02 0.01 0.00 99.77 04:40:01 3 0.01 0.00 0.02 0.01 0.00 99.96 04:50:03 all 0.20 0.00 0.02 0.01 0.00 99.76 04:50:03 0 0.02 0.00 0.01 0.03 0.00 99.94 04:50:03 1 0.75 0.00 0.03 0.01 0.00 99.21 04:50:03 2 0.02 0.00 0.03 0.00 0.00 99.95 04:50:03 3 0.02 0.00 0.02 0.00 0.00 99.95 05:00:28 all 0.02 0.00 0.02 0.01 0.00 99.94 05:00:28 0 0.01 0.00 0.01 0.02 0.00 99.96 05:00:28 1 0.02 0.00 0.03 0.00 0.00 99.94 05:00:28 2 0.02 0.00 0.03 0.00 0.00 99.95 05:00:28 3 0.02 0.00 0.03 0.01 0.00 99.93 05:10:01 all 0.21 0.00 0.03 0.01 0.00 99.75 05:10:01 0 0.00 0.00 0.01 0.01 0.00 99.97 05:10:01 1 0.80 0.00 0.03 0.00 0.00 99.17 05:10:01 2 0.03 0.00 0.04 0.00 0.00 99.93 05:10:01 3 0.02 0.00 0.03 0.03 0.00 99.93 05:20:02 all 0.25 0.00 0.02 0.01 0.00 99.72 05:20:02 0 0.93 0.00 0.03 0.01 0.00 99.03 05:20:02 1 0.01 0.00 0.02 0.02 0.00 99.95 05:20:02 2 0.03 0.00 0.02 0.00 0.00 99.95 05:20:02 3 0.01 0.00 0.02 0.01 0.00 99.95 05:30:28 all 0.08 0.00 0.02 0.01 0.00 99.88 05:30:28 0 0.00 0.00 0.01 0.00 0.00 99.98 05:30:28 1 0.02 0.00 0.03 0.03 0.00 99.91 05:30:28 2 0.27 0.00 0.03 0.01 0.00 99.69 05:30:28 3 0.02 0.00 0.02 0.00 0.00 99.96 05:30:28 CPU %user %nice %system %iowait %steal %idle 05:40:00 all 0.14 0.00 0.02 0.01 0.00 99.82 05:40:00 0 0.01 0.00 0.01 0.01 0.00 99.98 05:40:00 1 0.02 0.00 0.04 0.03 0.00 99.91 05:40:00 2 0.53 0.00 0.02 0.00 0.00 99.45 05:40:00 3 0.02 0.00 0.02 0.01 0.00 99.96 05:50:28 all 0.35 0.00 0.02 0.01 0.00 99.61 05:50:28 0 0.57 0.00 0.01 0.00 0.00 99.41 05:50:28 1 0.76 0.00 0.02 0.01 0.00 99.20 05:50:28 2 0.06 0.00 0.03 0.00 0.00 99.91 05:50:28 3 0.02 0.00 0.03 0.02 0.00 99.92 06:00:09 all 0.04 0.00 0.02 0.01 0.00 99.92 06:00:09 0 0.01 0.00 0.01 0.00 0.00 99.98 06:00:09 1 0.02 0.00 0.02 0.01 0.00 99.96 06:00:09 2 0.11 0.00 0.05 0.03 0.00 99.81 06:00:09 3 0.01 0.00 0.02 0.02 0.00 99.96 06:10:01 all 0.07 0.00 0.02 0.01 0.00 99.90 06:10:01 0 0.23 0.00 0.04 0.01 0.00 99.72 06:10:01 1 0.01 0.00 0.01 0.00 0.00 99.98 06:10:01 2 0.02 0.00 0.03 0.00 0.00 99.95 06:10:01 3 0.02 0.00 0.01 0.02 0.00 99.95 06:20:09 all 0.26 0.00 0.02 0.01 0.00 99.70 06:20:09 0 0.98 0.00 0.03 0.01 0.00 98.98 06:20:09 1 0.01 0.00 0.01 0.02 0.00 99.96 06:20:09 2 0.02 0.00 0.02 0.00 0.00 99.95 06:20:09 3 0.02 0.00 0.03 0.02 0.00 99.94 06:30:09 all 0.02 0.00 0.02 0.01 0.00 99.95 06:30:09 0 0.01 0.00 0.02 0.02 0.00 99.95 06:30:09 1 0.01 0.00 0.03 0.01 0.00 99.95 06:30:09 2 0.03 0.00 0.03 0.00 0.00 99.94 06:30:09 3 0.02 0.00 0.02 0.01 0.00 99.96 06:40:01 all 0.27 0.00 0.02 0.01 0.00 99.70 06:40:01 0 0.01 0.00 0.01 0.00 0.00 99.98 06:40:01 1 0.02 0.00 0.02 0.02 0.00 99.94 06:40:01 2 0.03 0.00 0.02 0.03 0.00 99.93 06:40:01 3 1.03 0.00 0.02 0.00 0.00 98.94 06:50:09 all 0.02 0.00 0.02 0.01 0.00 99.95 06:50:09 0 0.01 0.00 0.00 0.00 0.00 99.98 06:50:09 1 0.01 0.00 0.02 0.02 0.00 99.95 06:50:09 2 0.03 0.00 0.04 0.01 0.00 99.92 06:50:09 3 0.01 0.00 0.02 0.01 0.00 99.95 07:00:09 all 0.12 0.00 0.02 0.01 0.00 99.85 07:00:09 0 0.01 0.00 0.02 0.00 0.00 99.97 07:00:09 1 0.42 0.00 0.03 0.01 0.00 99.54 07:00:09 2 0.02 0.00 0.03 0.02 0.00 99.94 07:00:09 3 0.02 0.00 0.02 0.02 0.00 99.94 07:10:01 all 0.22 0.00 0.02 0.01 0.00 99.75 07:10:01 0 0.01 0.00 0.01 0.00 0.00 99.99 07:10:01 1 0.82 0.00 0.03 0.02 0.00 99.12 07:10:01 2 0.02 0.00 0.04 0.01 0.00 99.93 07:10:01 3 0.01 0.00 0.01 0.01 0.00 99.97 07:20:28 all 0.02 0.00 0.02 0.01 0.00 99.94 07:20:28 0 0.01 0.00 0.01 0.00 0.00 99.98 07:20:28 1 0.03 0.00 0.03 0.03 0.00 99.91 07:20:28 2 0.04 0.00 0.04 0.01 0.00 99.90 07:20:28 3 0.01 0.00 0.02 0.01 0.00 99.96 07:20:28 CPU %user %nice %system %iowait %steal %idle 07:30:28 all 0.16 0.00 0.03 0.01 0.00 99.80 07:30:28 0 0.04 0.00 0.03 0.00 0.00 99.93 07:30:28 1 0.54 0.00 0.02 0.02 0.00 99.42 07:30:28 2 0.05 0.00 0.04 0.01 0.00 99.90 07:30:28 3 0.02 0.00 0.03 0.01 0.00 99.95 07:40:01 all 0.02 0.00 0.02 0.01 0.00 99.95 07:40:01 0 0.02 0.00 0.01 0.00 0.00 99.97 07:40:01 1 0.04 0.00 0.03 0.03 0.00 99.90 07:40:01 2 0.02 0.00 0.02 0.01 0.00 99.94 07:40:01 3 0.01 0.00 0.01 0.00 0.00 99.98 07:50:09 all 0.16 0.00 0.03 0.01 0.00 99.80 07:50:09 0 0.02 0.00 0.03 0.00 0.00 99.95 07:50:09 1 0.02 0.00 0.02 0.02 0.00 99.93 07:50:09 2 0.59 0.00 0.04 0.01 0.00 99.36 07:50:09 3 0.02 0.00 0.01 0.00 0.00 99.97 08:00:09 all 0.03 0.00 0.02 0.01 0.00 99.94 08:00:09 0 0.02 0.00 0.02 0.01 0.00 99.96 08:00:09 1 0.03 0.00 0.01 0.02 0.00 99.94 08:00:09 2 0.04 0.00 0.03 0.01 0.00 99.92 08:00:09 3 0.03 0.00 0.02 0.00 0.00 99.94 08:10:01 all 0.02 0.00 0.02 0.01 0.00 99.95 08:10:01 0 0.02 0.00 0.02 0.00 0.00 99.96 08:10:01 1 0.01 0.00 0.01 0.02 0.00 99.97 08:10:01 2 0.03 0.00 0.03 0.01 0.01 99.92 08:10:01 3 0.02 0.00 0.02 0.01 0.00 99.96 08:20:28 all 0.24 0.00 0.03 0.01 0.00 99.72 08:20:28 0 0.01 0.00 0.02 0.01 0.00 99.96 08:20:28 1 0.82 0.00 0.04 0.03 0.00 99.10 08:20:28 2 0.11 0.00 0.03 0.00 0.00 99.85 08:20:28 3 0.02 0.00 0.02 0.00 0.00 99.96 08:30:09 all 0.02 0.00 0.02 0.01 0.00 99.94 08:30:09 0 0.01 0.00 0.02 0.00 0.00 99.96 08:30:09 1 0.03 0.00 0.02 0.02 0.00 99.92 08:30:09 2 0.02 0.00 0.03 0.01 0.00 99.94 08:30:09 3 0.02 0.00 0.02 0.02 0.00 99.93 08:40:01 all 0.24 0.00 0.02 0.01 0.00 99.72 08:40:01 0 0.02 0.00 0.03 0.01 0.00 99.94 08:40:01 1 0.38 0.00 0.02 0.00 0.00 99.61 08:40:01 2 0.02 0.00 0.02 0.00 0.00 99.96 08:40:01 3 0.55 0.00 0.02 0.03 0.00 99.40 08:50:09 all 0.05 0.00 0.02 0.01 0.00 99.91 08:50:09 0 0.13 0.00 0.04 0.03 0.00 99.81 08:50:09 1 0.01 0.00 0.02 0.01 0.00 99.96 08:50:09 2 0.02 0.00 0.02 0.01 0.00 99.95 08:50:09 3 0.05 0.00 0.02 0.00 0.00 99.93 09:00:09 all 0.02 0.00 0.02 0.01 0.00 99.94 09:00:09 0 0.02 0.00 0.02 0.03 0.00 99.93 09:00:09 1 0.01 0.00 0.02 0.01 0.00 99.96 09:00:09 2 0.04 0.00 0.02 0.00 0.00 99.94 09:00:09 3 0.02 0.00 0.02 0.02 0.00 99.94 09:10:01 all 0.23 0.00 0.02 0.01 0.00 99.73 09:10:01 0 0.01 0.00 0.01 0.01 0.00 99.97 09:10:01 1 0.77 0.00 0.02 0.03 0.00 99.19 09:10:01 2 0.15 0.00 0.04 0.00 0.00 99.80 09:10:01 3 0.01 0.00 0.01 0.01 0.00 99.98 09:10:01 CPU %user %nice %system %iowait %steal %idle 09:20:28 all 0.12 0.00 0.02 0.02 0.00 99.84 09:20:28 0 0.02 0.00 0.02 0.02 0.00 99.95 09:20:28 1 0.02 0.00 0.01 0.02 0.00 99.95 09:20:28 2 0.02 0.00 0.02 0.00 0.00 99.96 09:20:28 3 0.43 0.00 0.04 0.02 0.00 99.50 09:30:28 all 0.02 0.00 0.02 0.07 0.00 99.88 09:30:28 0 0.02 0.00 0.03 0.19 0.00 99.77 09:30:28 1 0.03 0.00 0.02 0.04 0.00 99.90 09:30:28 2 0.02 0.00 0.02 0.00 0.00 99.95 09:30:28 3 0.01 0.00 0.01 0.06 0.00 99.92 09:40:00 all 0.15 0.00 0.02 0.01 0.00 99.81 09:40:00 0 0.02 0.00 0.03 0.01 0.00 99.93 09:40:00 1 0.36 0.00 0.02 0.00 0.00 99.61 09:40:00 2 0.03 0.00 0.03 0.03 0.00 99.91 09:40:00 3 0.19 0.00 0.01 0.01 0.00 99.79 09:50:28 all 0.10 0.00 0.02 0.02 0.00 99.86 09:50:28 0 0.01 0.00 0.01 0.01 0.00 99.96 09:50:28 1 0.31 0.00 0.01 0.02 0.00 99.65 09:50:28 2 0.03 0.00 0.03 0.05 0.00 99.89 09:50:28 3 0.03 0.00 0.04 0.00 0.00 99.92 10:00:27 all 0.13 0.00 0.03 0.01 0.00 99.83 10:00:27 0 0.02 0.00 0.02 0.00 0.00 99.96 10:00:27 1 0.01 0.00 0.02 0.02 0.00 99.95 10:00:27 2 0.44 0.00 0.04 0.00 0.00 99.51 10:00:27 3 0.03 0.00 0.04 0.03 0.00 99.89 10:10:00 all 0.12 0.00 0.02 0.01 0.00 99.84 10:10:00 0 0.01 0.00 0.02 0.01 0.00 99.95 10:10:00 1 0.02 0.00 0.01 0.01 0.00 99.96 10:10:00 2 0.44 0.00 0.02 0.01 0.00 99.52 10:10:00 3 0.02 0.00 0.03 0.03 0.00 99.92 10:20:28 all 0.07 0.00 0.02 0.02 0.00 99.89 10:20:28 0 0.01 0.00 0.01 0.01 0.00 99.97 10:20:28 1 0.02 0.00 0.03 0.05 0.00 99.90 10:20:28 2 0.22 0.00 0.02 0.00 0.00 99.75 10:20:28 3 0.03 0.00 0.03 0.00 0.00 99.94 10:30:28 all 0.02 0.00 0.02 0.01 0.00 99.95 10:30:28 0 0.01 0.00 0.02 0.03 0.00 99.94 10:30:28 1 0.02 0.00 0.02 0.01 0.00 99.96 10:30:28 2 0.02 0.00 0.03 0.00 0.00 99.96 10:30:28 3 0.02 0.00 0.03 0.01 0.00 99.94 10:40:01 all 0.48 0.00 0.03 0.01 0.00 99.48 10:40:01 0 0.08 0.00 0.02 0.03 0.00 99.88 10:40:01 1 0.24 0.00 0.03 0.00 0.00 99.73 10:40:01 2 0.10 0.00 0.03 0.02 0.00 99.85 10:40:01 3 1.48 0.00 0.06 0.00 0.00 98.45 10:50:24 all 0.02 0.00 0.02 0.02 0.00 99.94 10:50:24 0 0.00 0.00 0.01 0.01 0.00 99.97 10:50:24 1 0.03 0.00 0.02 0.03 0.00 99.92 10:50:24 2 0.01 0.00 0.01 0.05 0.00 99.93 10:50:24 3 0.02 0.00 0.03 0.00 0.00 99.94 11:00:28 all 0.30 0.00 0.02 0.02 0.00 99.66 11:00:28 0 0.02 0.00 0.02 0.04 0.00 99.92 11:00:28 1 0.01 0.00 0.02 0.01 0.00 99.96 11:00:28 2 1.13 0.00 0.03 0.02 0.00 98.81 11:00:28 3 0.02 0.00 0.02 0.00 0.00 99.96 11:00:28 CPU %user %nice %system %iowait %steal %idle 11:10:01 all 0.02 0.00 0.02 0.02 0.00 99.95 11:10:01 0 0.02 0.00 0.02 0.05 0.00 99.91 11:10:01 1 0.02 0.00 0.01 0.01 0.00 99.96 11:10:01 2 0.01 0.00 0.01 0.00 0.00 99.98 11:10:01 3 0.02 0.00 0.03 0.01 0.00 99.93 11:20:28 all 0.04 0.00 0.02 0.01 0.00 99.93 11:20:28 0 0.01 0.00 0.01 0.02 0.00 99.95 11:20:28 1 0.02 0.00 0.02 0.02 0.00 99.93 11:20:28 2 0.01 0.00 0.01 0.00 0.00 99.98 11:20:28 3 0.11 0.00 0.04 0.01 0.00 99.83 11:30:22 all 0.29 0.00 0.03 0.01 0.00 99.67 11:30:22 0 0.01 0.00 0.03 0.02 0.00 99.95 11:30:22 1 0.02 0.00 0.02 0.00 0.00 99.95 11:30:22 2 1.01 0.00 0.03 0.01 0.00 98.96 11:30:22 3 0.12 0.00 0.03 0.01 0.00 99.84 11:40:01 all 0.10 0.00 0.02 0.01 0.00 99.86 11:40:01 0 0.01 0.00 0.02 0.03 0.00 99.95 11:40:01 1 0.15 0.00 0.02 0.01 0.00 99.81 11:40:01 2 0.23 0.00 0.03 0.01 0.00 99.73 11:40:01 3 0.01 0.00 0.02 0.00 0.00 99.97 11:50:27 all 0.18 0.00 0.03 0.01 0.00 99.78 11:50:27 0 0.01 0.00 0.03 0.02 0.00 99.93 11:50:27 1 0.53 0.00 0.03 0.00 0.00 99.43 11:50:27 2 0.14 0.00 0.05 0.00 0.00 99.80 11:50:27 3 0.02 0.00 0.02 0.01 0.00 99.95 12:00:28 all 0.08 0.00 0.02 0.01 0.00 99.89 12:00:28 0 0.01 0.00 0.01 0.01 0.00 99.96 12:00:28 1 0.03 0.00 0.03 0.02 0.00 99.92 12:00:28 2 0.25 0.00 0.03 0.00 0.00 99.72 12:00:28 3 0.02 0.00 0.02 0.01 0.00 99.95 12:10:01 all 0.02 0.00 0.02 0.01 0.00 99.95 12:10:01 0 0.01 0.00 0.02 0.00 0.00 99.97 12:10:01 1 0.03 0.00 0.02 0.03 0.00 99.92 12:10:01 2 0.03 0.00 0.03 0.01 0.00 99.93 12:10:01 3 0.02 0.00 0.01 0.01 0.00 99.96 12:20:28 all 0.02 0.00 0.02 0.01 0.00 99.95 12:20:28 0 0.01 0.00 0.02 0.01 0.00 99.96 12:20:28 1 0.02 0.00 0.03 0.04 0.00 99.92 12:20:28 2 0.03 0.00 0.03 0.00 0.00 99.94 12:20:28 3 0.01 0.00 0.01 0.00 0.00 99.97 12:30:25 all 0.02 0.00 0.02 0.01 0.00 99.95 12:30:25 0 0.01 0.00 0.00 0.00 0.00 99.99 12:30:25 1 0.02 0.00 0.03 0.01 0.00 99.94 12:30:25 2 0.03 0.00 0.04 0.01 0.00 99.92 12:30:25 3 0.01 0.00 0.02 0.04 0.00 99.93 12:40:01 all 0.21 0.00 0.03 0.01 0.00 99.75 12:40:01 0 0.77 0.00 0.02 0.01 0.00 99.20 12:40:01 1 0.03 0.00 0.04 0.01 0.00 99.93 12:40:01 2 0.02 0.00 0.03 0.01 0.00 99.93 12:40:01 3 0.02 0.00 0.02 0.03 0.00 99.94 12:50:28 all 0.05 0.00 0.02 0.01 0.00 99.91 12:50:28 0 0.01 0.00 0.02 0.00 0.00 99.96 12:50:28 1 0.02 0.00 0.03 0.00 0.00 99.95 12:50:28 2 0.02 0.00 0.02 0.01 0.00 99.96 12:50:28 3 0.15 0.00 0.02 0.04 0.00 99.79 12:50:28 CPU %user %nice %system %iowait %steal %idle 13:00:24 all 0.12 0.00 0.02 0.03 0.00 99.83 13:00:24 0 0.03 0.00 0.02 0.01 0.00 99.94 13:00:24 1 0.02 0.00 0.03 0.03 0.00 99.92 13:00:24 2 0.02 0.00 0.02 0.06 0.00 99.90 13:00:24 3 0.41 0.00 0.01 0.02 0.00 99.56 13:10:01 all 0.16 0.00 0.02 0.01 0.00 99.81 13:10:01 0 0.02 0.00 0.02 0.01 0.00 99.95 13:10:01 1 0.01 0.00 0.03 0.04 0.00 99.92 13:10:01 2 0.02 0.00 0.02 0.00 0.00 99.95 13:10:01 3 0.58 0.00 0.01 0.01 0.00 99.41 13:20:28 all 0.14 0.00 0.03 0.01 0.00 99.82 13:20:28 0 0.02 0.00 0.03 0.01 0.00 99.94 13:20:28 1 0.01 0.00 0.02 0.03 0.00 99.94 13:20:28 2 0.01 0.00 0.03 0.01 0.00 99.95 13:20:28 3 0.53 0.00 0.03 0.00 0.00 99.44 13:30:28 all 0.02 0.00 0.02 0.01 0.00 99.95 13:30:28 0 0.02 0.00 0.02 0.00 0.00 99.96 13:30:28 1 0.02 0.00 0.02 0.02 0.00 99.94 13:30:28 2 0.03 0.00 0.03 0.02 0.00 99.91 13:30:28 3 0.01 0.00 0.02 0.01 0.00 99.97 13:40:01 all 0.36 0.00 0.03 0.01 0.00 99.60 13:40:01 0 0.01 0.00 0.03 0.01 0.00 99.95 13:40:01 1 0.03 0.00 0.03 0.00 0.00 99.94 13:40:01 2 0.03 0.00 0.02 0.03 0.00 99.92 13:40:01 3 1.36 0.00 0.02 0.00 0.00 98.62 13:50:28 all 0.02 0.00 0.02 0.02 0.00 99.94 13:50:28 0 0.02 0.00 0.02 0.04 0.00 99.91 13:50:28 1 0.02 0.00 0.02 0.03 0.00 99.94 13:50:28 2 0.02 0.00 0.03 0.00 0.00 99.94 13:50:28 3 0.00 0.00 0.02 0.01 0.00 99.97 14:00:28 all 0.06 0.00 0.02 0.01 0.00 99.91 14:00:28 0 0.01 0.00 0.02 0.00 0.00 99.96 14:00:28 1 0.02 0.00 0.02 0.02 0.00 99.95 14:00:28 2 0.19 0.00 0.03 0.02 0.00 99.76 14:00:28 3 0.02 0.00 0.02 0.01 0.00 99.96 14:10:01 all 0.14 0.00 0.03 0.01 0.00 99.83 14:10:01 0 0.04 0.00 0.02 0.02 0.00 99.92 14:10:01 1 0.02 0.00 0.02 0.02 0.00 99.94 14:10:01 2 0.46 0.00 0.04 0.01 0.00 99.49 14:10:01 3 0.02 0.00 0.02 0.01 0.00 99.95 14:20:28 all 0.13 0.00 0.02 0.02 0.00 99.83 14:20:28 0 0.02 0.00 0.01 0.01 0.00 99.96 14:20:28 1 0.02 0.00 0.02 0.01 0.00 99.94 14:20:28 2 0.47 0.00 0.03 0.01 0.00 99.49 14:20:28 3 0.01 0.00 0.03 0.04 0.00 99.92 14:30:28 all 0.07 0.00 0.02 0.02 0.00 99.88 14:30:28 0 0.01 0.00 0.02 0.01 0.00 99.97 14:30:28 1 0.02 0.00 0.02 0.03 0.00 99.94 14:30:28 2 0.26 0.00 0.05 0.04 0.00 99.66 14:30:28 3 0.02 0.00 0.02 0.00 0.00 99.96 14:40:01 all 0.02 0.00 0.02 0.01 0.00 99.94 14:40:01 0 0.01 0.00 0.01 0.00 0.00 99.98 14:40:01 1 0.01 0.00 0.01 0.01 0.00 99.96 14:40:01 2 0.02 0.00 0.02 0.03 0.00 99.92 14:40:01 3 0.03 0.00 0.04 0.02 0.00 99.91 14:40:01 CPU %user %nice %system %iowait %steal %idle 14:50:28 all 0.24 0.00 0.03 0.01 0.00 99.72 14:50:28 0 0.01 0.00 0.03 0.00 0.00 99.96 14:50:28 1 0.89 0.00 0.03 0.03 0.00 99.05 14:50:28 2 0.02 0.00 0.03 0.01 0.00 99.94 14:50:28 3 0.02 0.00 0.02 0.01 0.00 99.95 15:00:28 all 0.25 0.00 0.02 0.01 0.00 99.71 15:00:28 0 0.03 0.00 0.04 0.01 0.00 99.92 15:00:28 1 0.01 0.00 0.01 0.03 0.00 99.95 15:00:28 2 0.95 0.00 0.02 0.00 0.00 99.02 15:00:28 3 0.01 0.00 0.01 0.01 0.00 99.97 15:10:01 all 0.13 0.00 0.02 0.01 0.00 99.83 15:10:01 0 0.03 0.00 0.05 0.01 0.00 99.90 15:10:01 1 0.01 0.00 0.01 0.03 0.00 99.95 15:10:01 2 0.46 0.00 0.02 0.00 0.00 99.51 15:10:01 3 0.01 0.00 0.01 0.00 0.00 99.98 15:20:28 all 0.05 0.00 0.02 0.01 0.00 99.91 15:20:28 0 0.02 0.00 0.02 0.01 0.00 99.95 15:20:28 1 0.02 0.00 0.02 0.03 0.00 99.93 15:20:28 2 0.17 0.00 0.02 0.00 0.00 99.81 15:20:28 3 0.01 0.00 0.02 0.00 0.00 99.96 15:30:28 all 0.19 0.00 0.03 0.03 0.00 99.75 15:30:28 0 0.03 0.00 0.02 0.01 0.00 99.94 15:30:28 1 0.68 0.00 0.04 0.07 0.00 99.21 15:30:28 2 0.04 0.00 0.03 0.02 0.00 99.90 15:30:28 3 0.02 0.00 0.02 0.01 0.00 99.95 15:40:01 all 0.02 0.00 0.02 0.01 0.00 99.94 15:40:01 0 0.01 0.00 0.01 0.01 0.00 99.97 15:40:01 1 0.03 0.00 0.03 0.01 0.00 99.93 15:40:01 2 0.04 0.00 0.04 0.02 0.01 99.89 15:40:01 3 0.01 0.00 0.02 0.00 0.00 99.97 15:50:28 all 0.09 0.00 0.03 0.01 0.00 99.87 15:50:28 0 0.27 0.00 0.05 0.02 0.00 99.66 15:50:28 1 0.03 0.00 0.03 0.01 0.00 99.94 15:50:28 2 0.03 0.00 0.03 0.01 0.00 99.93 15:50:28 3 0.03 0.00 0.02 0.01 0.00 99.94 16:00:28 all 0.03 0.00 0.03 0.02 0.00 99.93 16:00:28 0 0.02 0.00 0.02 0.02 0.00 99.93 16:00:28 1 0.03 0.00 0.03 0.01 0.00 99.93 16:00:28 2 0.04 0.00 0.04 0.04 0.00 99.88 16:00:28 3 0.01 0.00 0.02 0.00 0.00 99.97 16:10:01 all 0.08 0.00 0.02 0.02 0.00 99.88 16:10:01 0 0.25 0.00 0.02 0.01 0.00 99.72 16:10:01 1 0.02 0.00 0.02 0.01 0.00 99.94 16:10:01 2 0.03 0.00 0.03 0.04 0.00 99.90 16:10:01 3 0.02 0.00 0.03 0.01 0.00 99.95 16:20:28 all 0.08 0.00 0.03 0.01 0.00 99.88 16:20:28 0 0.02 0.00 0.02 0.00 0.00 99.96 16:20:28 1 0.23 0.00 0.03 0.01 0.00 99.72 16:20:28 2 0.03 0.00 0.04 0.03 0.00 99.89 16:20:28 3 0.02 0.00 0.02 0.00 0.00 99.96 16:30:28 all 0.34 0.00 0.03 0.01 0.00 99.62 16:30:28 0 0.02 0.00 0.02 0.01 0.00 99.95 16:30:28 1 0.38 0.00 0.03 0.00 0.00 99.58 16:30:28 2 0.03 0.00 0.03 0.03 0.00 99.90 16:30:28 3 0.91 0.00 0.02 0.00 0.00 99.07 16:30:28 CPU %user %nice %system %iowait %steal %idle 16:40:01 all 0.11 0.00 0.02 0.01 0.00 99.85 16:40:01 0 0.01 0.00 0.02 0.02 0.00 99.95 16:40:01 1 0.32 0.00 0.03 0.00 0.00 99.65 16:40:01 2 0.02 0.00 0.02 0.02 0.00 99.94 16:40:01 3 0.10 0.00 0.03 0.01 0.00 99.86 16:50:28 all 0.18 0.00 0.03 0.01 0.00 99.77 16:50:28 0 0.02 0.00 0.04 0.01 0.00 99.93 16:50:28 1 0.02 0.00 0.02 0.00 0.00 99.96 16:50:28 2 0.02 0.00 0.02 0.03 0.00 99.93 16:50:28 3 0.66 0.00 0.05 0.01 0.00 99.28 17:00:28 all 0.02 0.00 0.02 0.01 0.00 99.95 17:00:28 0 0.00 0.00 0.01 0.00 0.00 99.99 17:00:28 1 0.02 0.00 0.01 0.00 0.00 99.97 17:00:28 2 0.02 0.00 0.04 0.02 0.00 99.92 17:00:28 3 0.02 0.00 0.03 0.03 0.00 99.92 17:10:01 all 0.20 0.00 0.02 0.02 0.00 99.77 17:10:01 0 0.01 0.00 0.01 0.00 0.00 99.99 17:10:01 1 0.02 0.00 0.02 0.00 0.00 99.96 17:10:01 2 0.74 0.00 0.03 0.02 0.00 99.21 17:10:01 3 0.02 0.00 0.02 0.04 0.00 99.91 17:20:28 all 0.13 0.00 0.02 0.01 0.00 99.84 17:20:28 0 0.01 0.00 0.02 0.01 0.00 99.97 17:20:28 1 0.02 0.00 0.04 0.00 0.00 99.93 17:20:28 2 0.45 0.00 0.02 0.03 0.00 99.50 17:20:28 3 0.02 0.00 0.03 0.01 0.00 99.94 17:30:28 all 0.06 0.00 0.02 0.01 0.00 99.90 17:30:28 0 0.01 0.00 0.02 0.00 0.00 99.98 17:30:28 1 0.01 0.00 0.02 0.01 0.00 99.95 17:30:28 2 0.21 0.00 0.03 0.01 0.00 99.75 17:30:28 3 0.01 0.00 0.02 0.03 0.00 99.94 17:40:01 all 0.01 0.00 0.02 0.01 0.00 99.95 17:40:01 0 0.00 0.00 0.00 0.00 0.00 99.99 17:40:01 1 0.02 0.00 0.03 0.02 0.00 99.93 17:40:01 2 0.02 0.00 0.03 0.01 0.00 99.94 17:40:01 3 0.01 0.00 0.02 0.02 0.00 99.94 17:50:28 all 0.40 0.00 0.03 0.02 0.00 99.54 17:50:28 0 1.54 0.00 0.03 0.02 0.00 98.41 17:50:28 1 0.02 0.00 0.03 0.03 0.00 99.92 17:50:28 2 0.02 0.00 0.02 0.02 0.00 99.94 17:50:28 3 0.03 0.00 0.04 0.01 0.00 99.93 18:00:28 all 0.06 0.00 0.02 0.01 0.00 99.90 18:00:28 0 0.19 0.00 0.02 0.03 0.00 99.76 18:00:28 1 0.02 0.00 0.02 0.01 0.00 99.95 18:00:28 2 0.03 0.00 0.03 0.01 0.00 99.93 18:00:28 3 0.01 0.00 0.02 0.01 0.00 99.96 18:10:01 all 0.16 0.00 0.06 0.05 0.00 99.73 18:10:01 0 0.15 0.00 0.07 0.03 0.00 99.75 18:10:01 1 0.18 0.00 0.07 0.02 0.00 99.73 18:10:01 2 0.07 0.00 0.05 0.11 0.00 99.77 18:10:01 3 0.23 0.00 0.07 0.02 0.00 99.68 18:20:28 all 0.12 0.00 0.02 0.01 0.00 99.84 18:20:28 0 0.03 0.00 0.04 0.01 0.00 99.92 18:20:28 1 0.02 0.00 0.01 0.00 0.00 99.97 18:20:28 2 0.01 0.00 0.03 0.01 0.00 99.95 18:20:28 3 0.42 0.00 0.01 0.03 0.00 99.54 18:20:28 CPU %user %nice %system %iowait %steal %idle 18:30:09 all 0.09 0.00 0.02 0.01 0.00 99.87 18:30:09 0 0.01 0.00 0.02 0.02 0.00 99.94 18:30:09 1 0.32 0.00 0.01 0.01 0.00 99.66 18:30:09 2 0.02 0.00 0.03 0.00 0.00 99.95 18:30:09 3 0.02 0.00 0.03 0.02 0.00 99.93 18:40:00 all 0.22 0.00 0.02 0.01 0.00 99.74 18:40:00 0 0.01 0.00 0.01 0.02 0.00 99.96 18:40:00 1 0.84 0.00 0.02 0.01 0.00 99.14 18:40:00 2 0.02 0.00 0.03 0.01 0.00 99.95 18:40:00 3 0.03 0.00 0.04 0.01 0.00 99.92 18:50:28 all 0.02 0.00 0.02 0.01 0.00 99.95 18:50:28 0 0.01 0.00 0.02 0.00 0.00 99.96 18:50:28 1 0.01 0.00 0.02 0.01 0.00 99.95 18:50:28 2 0.03 0.00 0.03 0.03 0.00 99.92 18:50:28 3 0.01 0.00 0.02 0.02 0.00 99.95 19:00:28 all 0.02 0.00 0.02 0.01 0.00 99.95 19:00:28 0 0.01 0.00 0.00 0.01 0.00 99.98 19:00:28 1 0.02 0.00 0.03 0.01 0.00 99.94 19:00:28 2 0.01 0.00 0.02 0.03 0.00 99.93 19:00:28 3 0.02 0.00 0.02 0.01 0.00 99.95 19:10:00 all 0.48 0.00 0.03 0.01 0.00 99.48 19:10:00 0 1.84 0.00 0.01 0.01 0.00 98.14 19:10:00 1 0.03 0.00 0.05 0.02 0.00 99.90 19:10:00 2 0.02 0.00 0.03 0.03 0.00 99.92 19:10:00 3 0.01 0.00 0.01 0.00 0.00 99.98 19:20:28 all 0.03 0.00 0.03 0.01 0.00 99.93 19:20:28 0 0.08 0.00 0.03 0.01 0.00 99.88 19:20:28 1 0.02 0.00 0.04 0.01 0.00 99.93 19:20:28 2 0.01 0.00 0.02 0.03 0.00 99.93 19:20:28 3 0.01 0.00 0.02 0.01 0.00 99.97 19:30:28 all 0.29 0.00 0.03 0.12 0.00 99.56 19:30:28 0 0.02 0.00 0.02 0.01 0.00 99.94 19:30:28 1 0.52 0.00 0.03 0.04 0.00 99.41 19:30:28 2 0.04 0.00 0.04 0.01 0.00 99.92 19:30:28 3 0.57 0.00 0.02 0.43 0.00 98.97 19:40:01 all 0.07 0.00 0.03 0.02 0.00 99.89 19:40:01 0 0.02 0.00 0.04 0.01 0.00 99.93 19:40:01 1 0.02 0.00 0.01 0.00 0.00 99.96 19:40:01 2 0.20 0.00 0.02 0.00 0.00 99.77 19:40:01 3 0.03 0.00 0.03 0.05 0.00 99.90 19:50:28 all 0.08 0.00 0.03 0.02 0.00 99.87 19:50:28 0 0.02 0.00 0.04 0.03 0.00 99.91 19:50:28 1 0.01 0.00 0.01 0.01 0.00 99.96 19:50:28 2 0.28 0.00 0.02 0.00 0.00 99.68 19:50:28 3 0.02 0.00 0.03 0.03 0.00 99.91 20:00:28 all 0.11 0.00 0.02 0.01 0.00 99.85 20:00:28 0 0.01 0.00 0.01 0.00 0.00 99.99 20:00:28 1 0.02 0.00 0.03 0.01 0.00 99.94 20:00:28 2 0.40 0.00 0.04 0.01 0.00 99.55 20:00:28 3 0.02 0.00 0.01 0.03 0.00 99.94 20:10:01 all 0.27 0.00 0.03 0.01 0.00 99.69 20:10:01 0 0.57 0.00 0.01 0.00 0.00 99.41 20:10:01 1 0.02 0.00 0.04 0.03 0.00 99.90 20:10:01 2 0.21 0.00 0.03 0.01 0.00 99.75 20:10:01 3 0.27 0.00 0.03 0.01 0.00 99.68 20:10:01 CPU %user %nice %system %iowait %steal %idle 20:20:28 all 0.14 0.00 0.02 0.01 0.00 99.83 20:20:28 0 0.01 0.00 0.01 0.02 0.00 99.96 20:20:28 1 0.50 0.00 0.02 0.01 0.00 99.47 20:20:28 2 0.03 0.00 0.04 0.01 0.00 99.92 20:20:28 3 0.02 0.00 0.02 0.00 0.00 99.95 20:30:28 all 0.02 0.00 0.02 0.01 0.00 99.95 20:30:28 0 0.01 0.00 0.01 0.03 0.00 99.95 20:30:28 1 0.02 0.00 0.03 0.01 0.00 99.94 20:30:28 2 0.02 0.00 0.02 0.00 0.00 99.96 20:30:28 3 0.03 0.00 0.04 0.01 0.00 99.93 20:40:01 all 0.20 0.00 0.02 0.02 0.00 99.76 20:40:01 0 0.01 0.00 0.01 0.01 0.00 99.97 20:40:01 1 0.03 0.00 0.03 0.04 0.00 99.90 20:40:01 2 0.02 0.00 0.03 0.01 0.00 99.94 20:40:01 3 0.76 0.00 0.02 0.01 0.00 99.21 20:50:28 all 0.01 0.00 0.02 0.01 0.00 99.95 20:50:28 0 0.01 0.00 0.02 0.03 0.00 99.94 20:50:28 1 0.02 0.00 0.03 0.01 0.00 99.94 20:50:28 2 0.02 0.00 0.03 0.01 0.00 99.94 20:50:28 3 0.01 0.00 0.00 0.00 0.00 99.98 21:00:28 all 0.12 0.00 0.03 0.02 0.00 99.84 21:00:28 0 0.43 0.00 0.04 0.02 0.00 99.52 21:00:28 1 0.01 0.00 0.02 0.02 0.00 99.95 21:00:28 2 0.03 0.00 0.03 0.02 0.00 99.92 21:00:28 3 0.01 0.00 0.02 0.01 0.00 99.97 21:10:01 all 0.01 0.00 0.02 0.01 0.00 99.95 21:10:01 0 0.00 0.00 0.01 0.01 0.00 99.98 21:10:01 1 0.02 0.00 0.04 0.03 0.00 99.90 21:10:01 2 0.02 0.00 0.02 0.01 0.00 99.95 21:10:01 3 0.01 0.00 0.02 0.01 0.00 99.96 21:20:28 all 0.18 0.00 0.03 0.03 0.00 99.76 21:20:28 0 0.67 0.00 0.02 0.04 0.00 99.26 21:20:28 1 0.03 0.00 0.03 0.07 0.00 99.87 21:20:28 2 0.02 0.00 0.02 0.00 0.00 99.96 21:20:28 3 0.02 0.00 0.03 0.02 0.00 99.94 21:30:28 all 0.15 0.00 0.03 0.02 0.00 99.80 21:30:28 0 0.52 0.00 0.02 0.00 0.00 99.45 21:30:28 1 0.02 0.00 0.02 0.04 0.00 99.92 21:30:28 2 0.02 0.00 0.03 0.02 0.00 99.92 21:30:28 3 0.03 0.00 0.04 0.01 0.00 99.92 21:40:01 all 0.17 0.00 0.02 0.01 0.00 99.79 21:40:01 0 0.46 0.00 0.02 0.01 0.00 99.51 21:40:01 1 0.02 0.00 0.01 0.00 0.00 99.96 21:40:01 2 0.02 0.00 0.03 0.01 0.00 99.93 21:40:01 3 0.18 0.00 0.02 0.04 0.00 99.76 21:50:28 all 0.10 0.00 0.03 0.01 0.00 99.86 21:50:28 0 0.32 0.00 0.03 0.01 0.00 99.64 21:50:28 1 0.01 0.00 0.01 0.00 0.00 99.97 21:50:28 2 0.03 0.00 0.04 0.02 0.00 99.90 21:50:28 3 0.02 0.00 0.02 0.03 0.00 99.93 22:00:28 all 10.11 0.00 1.08 0.78 0.01 88.03 22:00:28 0 15.41 0.00 1.40 0.96 0.01 82.22 22:00:28 1 8.38 0.00 1.07 0.81 0.01 89.73 22:00:28 2 8.43 0.00 1.00 0.55 0.01 90.01 22:00:28 3 8.17 0.00 0.85 0.79 0.01 90.18 Average: CPU %user %nice %system %iowait %steal %idle Average: all 0.20 0.00 0.03 0.02 0.00 99.74 Average: 0 0.25 0.00 0.03 0.02 0.00 99.70 Average: 1 0.18 0.00 0.03 0.02 0.00 99.76 Average: 2 0.20 0.00 0.04 0.02 0.00 99.74 Average: 3 0.17 0.00 0.03 0.02 0.00 99.77