docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt checkbashisms: freeze> python -m pip freeze --all docs: install_deps> python -I -m pip install -r docs/requirements.txt buildcontroller: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt checkbashisms: pip==26.2.1,setuptools==84.0.0 checkbashisms: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./fixCIcentOS8reposMirrors.sh checkbashisms: commands[1] /w/workspace/transportpce-tox-verify-chromium/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-chromium/tests> find . -not -path '*/\.*' -name '*.sh' -exec checkbashisms -f '{}' + checkbashisms: OK ✔ in 3.26 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==3.32.6,identify==2.6.19,nodeenv==1.10.0,pip==26.2.1,platformdirs==4.11.8,pre_commit==4.6.2,python-discovery==1.6.0,PyYAML==6.0.3,setuptools==84.0.0,virtualenv==21.7.9 pre-commit: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./fixCIcentOS8reposMirrors.sh pre-commit: commands[1] /w/workspace/transportpce-tox-verify-chromium/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-chromium/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. buildcontroller: freeze> python -m pip freeze --all buildcontroller: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 buildcontroller: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./build_controller.sh [INFO] Initializing environment for https://github.com/hhatto/autopep8. 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 21 21 ok, java is 21 or newer [INFO] Initializing environment for https://github.com/perltidy/perltidy. Apache Maven 3.9.16 (2bdd9fddda4b155ebf8000e807eb73fd829a51d5) Maven home: /opt/maven Java version: 21.0.12, vendor: Ubuntu, runtime: /usr/lib/jvm/java-21-openjdk-amd64 Default locale: en, platform encoding: UTF-8 OS name: "linux", version: "5.15.0-190-generic", arch: "amd64", family: "unix" [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... docs-linkcheck: freeze> python -m pip freeze --all docs: freeze> python -m pip freeze --all docs-linkcheck: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.7.22,charset-normalizer==3.5.1,deepmerge==3.0.1,docutils==0.22.4,idna==3.19,imagesize==2.0.1,Jinja2==3.1.6,jsonschema==4.26.0,jsonschema-specifications==2025.9.1,jsonschema_rs==0.52.1,lfdocs_conf==0.11.0,MarkupSafe==3.0.3,minijinja==2.24.0,mistune==3.3.4,packaging==26.3,picobox==4.0.0,pip==26.2.1,Pygments==2.21.0,PyYAML==6.0.3,referencing==0.37.0,requests==2.34.2,requests-file==3.0.1,roman-numerals==4.1.0,rpds-py==2026.6.3,setuptools==84.0.0,snowballstemmer==3.1.1,Sphinx==9.0.4,sphinx-data-viewer==0.1.5,sphinx-needs==8.5.0,sphinx-tabs==3.5.0,sphinx_mdinclude==0.6.2,sphinx_rtd_theme==3.1.0,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-httpdomain==2.0.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-mermaid==2.1.1,sphinxcontrib-openapi==0.9.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-serializinghtml==2.0.0,typing_extensions==4.16.0,urllib3==2.7.0 docs-linkcheck: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> sphinx-build -q -b linkcheck -d /w/workspace/transportpce-tox-verify-chromium/.tox/docs-linkcheck/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-chromium/docs/_build/linkcheck docs: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.7.22,charset-normalizer==3.5.1,deepmerge==3.0.1,docutils==0.22.4,idna==3.19,imagesize==2.0.1,Jinja2==3.1.6,jsonschema==4.26.0,jsonschema-specifications==2025.9.1,jsonschema_rs==0.52.1,lfdocs_conf==0.11.0,MarkupSafe==3.0.3,minijinja==2.24.0,mistune==3.3.4,packaging==26.3,picobox==4.0.0,pip==26.2.1,Pygments==2.21.0,PyYAML==6.0.3,referencing==0.37.0,requests==2.34.2,requests-file==3.0.1,roman-numerals==4.1.0,rpds-py==2026.6.3,setuptools==84.0.0,snowballstemmer==3.1.1,Sphinx==9.0.4,sphinx-data-viewer==0.1.5,sphinx-needs==8.5.0,sphinx-tabs==3.5.0,sphinx_mdinclude==0.6.2,sphinx_rtd_theme==3.1.0,sphinxcontrib-applehelp==2.0.0,sphinxcontrib-devhelp==2.0.0,sphinxcontrib-htmlhelp==2.1.0,sphinxcontrib-httpdomain==2.0.0,sphinxcontrib-jquery==4.1,sphinxcontrib-jsmath==1.0.1,sphinxcontrib-mermaid==2.1.1,sphinxcontrib-openapi==0.9.0,sphinxcontrib-plantuml==0.31,sphinxcontrib-qthelp==2.0.0,sphinxcontrib-serializinghtml==2.0.0,typing_extensions==4.16.0,urllib3==2.7.0 docs: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> sphinx-build -q -W --keep-going -b html -n -d /w/workspace/transportpce-tox-verify-chromium/.tox/docs/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-chromium/docs/_build/html [ERROR] [ERROR] Some problems were encountered while processing the POMs: [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 49, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 57, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 54, column 17 [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.opendaylight.yangtools:binding-runtime-spi:jar -> duplicate declaration of version (?) @ line 149, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 48, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-device-6.1.0:jar is missing. @ line 56, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 50, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 58, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 78, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 50, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 54, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 62, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 44, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 48, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 55, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 59, column 17 [WARNING] 'dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique: org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar -> duplicate declaration of version (?) @ line 123, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 42, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 123, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 40, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 44, column 17 @ [ERROR] The build could not read 11 projects -> [Help 1] [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-api:13.1.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-chromium/api/pom.xml) has 2 errors [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 49, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 57, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-common:13.1.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-chromium/common/pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 54, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:test-common:13.1.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-chromium/test-common/pom.xml) has 2 errors [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 48, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-device-6.1.0:jar is missing. @ line 56, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-renderer:13.1.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-chromium/renderer/pom.xml) has 2 errors [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 50, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 58, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-networkmodel:13.1.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-chromium/networkmodel/pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 78, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-olm:13.1.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-chromium/olm/pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 50, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-pce:13.1.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-chromium/pce/pom.xml) has 2 errors [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 54, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 62, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-servicehandler:13.1.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-chromium/servicehandler/pom.xml) has 2 errors [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 44, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 48, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-tapi:13.1.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-chromium/tapi/pom.xml) has 2 errors [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 55, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 59, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-nbinotifications:13.1.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-chromium/nbinotifications/pom.xml) has 2 errors [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 42, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 123, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-dmaap-client:13.1.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-chromium/dmaap-client/pom.xml) has 2 errors [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 40, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-9.1.0:jar is missing. @ line 44, column 17 [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException buildcontroller: exit 1 (10.65 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./build_controller.sh pid=2759 buildcontroller: FAIL ✖ in 18.99 seconds pylint: install_deps> python -I -m pip install 'pylint>=2.6.0' [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 19.78 seconds build_karaf_tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt docs-linkcheck: OK ✔ in 21.67 seconds build_karaf_tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt pylint: freeze> python -m pip freeze --all pylint: astroid==4.0.4,dill==0.4.1,isort==9.0.1,mccabe==0.7.0,mypy_extensions==1.1.0,pip==26.2.1,platformdirs==4.11.8,pylint==4.0.8,setuptools==84.0.0,tomlkit==0.15.1 pylint: commands[0] /w/workspace/transportpce-tox-verify-chromium/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}$' '{}' + [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_tests121: freeze> python -m pip freeze --all build_karaf_tests121: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 build_karaf_tests121: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./build_karaf_for_tests.sh build karaf in karaf121 with ./karaf121.env [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_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.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 build_karaf_tests221: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./build_karaf_for_tests.sh build karaf in karaf221 with ./karaf221.env [ERROR] Failed to execute goal on project transportpce-karaf: Could not resolve dependencies for project org.opendaylight.transportpce:transportpce-karaf:pom:13.1.0-SNAPSHOT [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce:xml:features:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException build_karaf_tests121: exit 127 (8.42 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./build_karaf_for_tests.sh pid=3470 build_karaf_tests121: FAIL ✖ in 15.67 seconds build_karaf_tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt [ERROR] Failed to execute goal on project transportpce-karaf: Could not resolve dependencies for project org.opendaylight.transportpce:transportpce-karaf:pom:13.1.0-SNAPSHOT [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException build_karaf_tests221: exit 127 (5.89 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./build_karaf_for_tests.sh pid=3549 build_karaf_tests221: FAIL ✖ in 14.13 seconds build_karaf_tests200: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt [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... build_karaf_tests71: freeze> python -m pip freeze --all [INFO] Installing environment for https://github.com/adrienverge/yamllint. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... build_karaf_tests200: 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.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 build_karaf_tests71: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./build_karaf_for_tests.sh build karaf in karaf71 with ./karaf71.env build_karaf_tests200: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 build_karaf_tests200: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./build_karaf_for_tests.sh build karaf in karafoc200 with ./karafoc200.env ------------------------------------ Your code has been rated at 10.00/10 [ERROR] Failed to execute goal on project transportpce-karaf: Could not resolve dependencies for project org.opendaylight.transportpce:transportpce-karaf:pom:13.1.0-SNAPSHOT [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException build_karaf_tests71: exit 127 (5.69 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./build_karaf_for_tests.sh pid=3889 build_karaf_tests71: FAIL ✖ in 13.07 seconds buildlighty: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt [ERROR] Failed to execute goal on project transportpce-karaf: Could not resolve dependencies for project org.opendaylight.transportpce:transportpce-karaf:pom:13.1.0-SNAPSHOT [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:13.1.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:13.1.0-SNAPSHOT was not found in https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of opendaylight-snapshot has elapsed or updates are forced [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException build_karaf_tests200: exit 127 (5.86 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./build_karaf_for_tests.sh pid=3933 build_karaf_tests200: FAIL ✖ in 13.01 seconds sims: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt trim trailing whitespace.................................................Passed fix end of files.........................................................Passed check for added large files..............................................Passed check for merge conflicts................................................pylint: OK ✔ in 30.78 seconds testsPCE: install_deps> python -I -m pip install gnpy4tpce==2.4.7 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt Passed check for case conflicts.................................................Passed check json...............................................................Passed mixed line ending........................................................Passed Tabs remover.............................................................Passed autopep8.................................................................Passed perltidy.................................................................Passed ShellCheck v0.11.0.......................................................sims: freeze> python -m pip freeze --all buildlighty: freeze> python -m pip freeze --all sims: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 sims: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./install_lightynode.sh Using lighynode version 22.1.0.7 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory buildlighty: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 buildlighty: commands[0] /w/workspace/transportpce-tox-verify-chromium/lighty> ./build.sh Passed prettier.................................................................Passed yamllint.................................................................Passed pre-commit: commands[3] /w/workspace/transportpce-tox-verify-chromium/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... [ERROR] Failed to execute goal on project tpce: Could not resolve dependencies for project io.lighty.controllers:tpce:jar:13.1.0-SNAPSHOT [ERROR] dependency: org.opendaylight.transportpce:transportpce-api:jar:13.1.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-api:jar:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-common:jar:13.1.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-common:jar:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-networkmodel:jar:13.1.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-networkmodel:jar:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-pce:jar:13.1.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-pce:jar:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-olm:jar:13.1.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-olm:jar:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-servicehandler:jar:13.1.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-servicehandler:jar:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-tapi:jar:13.1.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-tapi:jar:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-nbinotifications:jar:13.1.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-nbinotifications:jar:13.1.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] -> [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] [ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException sims: OK ✔ in 13.42 seconds buildlighty: exit 9 (12.35 seconds) /w/workspace/transportpce-tox-verify-chromium/lighty> ./build.sh pid=4298 gitlint..................................................................Passed buildlighty: FAIL ✖ in 21.11 seconds pre-commit: OK ✔ in 1 minute 8.52 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.1,click==8.5.0,contourpy==1.3.3,cryptography==3.3.2,cycler==0.12.1,dict2xml==1.7.8,Flask==2.1.3,Flask-Injector==0.14.0,fonttools==4.65.0,gnpy4tpce==2.4.7,idna==3.19,iniconfig==2.3.0,injector==0.24.0,invoke==3.0.3,itsdangerous==2.2.0,Jinja2==3.1.6,kiwisolver==1.5.1,lxml==6.1.3,MarkupSafe==3.0.3,matplotlib==3.11.1,netconf-client==3.6.0,networkx==2.8.8,numpy==1.26.4,packaging==26.3,pandas==1.5.3,paramiko==5.0.0,pbr==5.11.1,pillow==12.3.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pyparsing==3.3.2,pytest==9.1.1,python-dateutil==2.9.0.post0,pytz==2026.3.post1,requests==2.34.2,scipy==1.17.1,setuptools==50.3.2,six==1.17.0,urllib3==2.7.0,Werkzeug==2.0.3,xlrd==1.2.0 testsPCE: commands[0] /w/workspace/transportpce-tox-verify-chromium/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_121.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:233: 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 0x7f2cd8dbb2e0> 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 0x7f2cd8dcb4c0> 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 0x7f2cd8d8bf60> 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 0x7f2cd8dbb2e0> 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 0x7f2cdb261120> 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 0x7f2cd8dbb2e0> 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 0x7f2cd8dc9d00> 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 0x7f2cd8dcba60> 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 0x7f2cd8d8bf60> 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 0x7f2cd8dcbb00> 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 0x7f2cd8dcb380> 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 0x7f2cd8d8bf60> 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 0x7f2cd8dcafc0> 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 0x7f2cd8dc9da0> 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 0x7f2cd8dcbd80> 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 0x7f2cd8dcbb00> 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 0x7f2cd8d8be20> 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 0x7f2cd8d8bce0> 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 0x7f2cd8dcbc40> 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 124.49s (0:02:04) testsPCE: exit 1 (124.87 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./launch_tests.sh pce pid=4663 testsPCE: FAIL ✖ in 2 minutes 56.39 seconds tests_tapi: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt tests121: freeze> python -m pip freeze --all 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.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 tests_tapi: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./launch_tests.sh tapi using environment variables from ./karaf221.env pytest -q transportpce_tests/tapi/test01_abstracted_topology.py tests121: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 tests121: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./launch_tests.sh 1.2.1 using environment variables from ./karaf121.env pytest -q transportpce_tests/1.2.1/test01_portmapping.py EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [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/1.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:233: SystemExit ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF (karaf121) 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 0x7fa156005760> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError __ ERROR at setup of TestTransportPCEPortmapping.test_03_rdm_portmapping_info __ cls = func = . at 0x7fa156037560> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/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 0x7fa15918b740> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_05_rdm_portmapping_SRG1_PP7_TXRX _ cls = func = . at 0x7fa1577d3560> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_06_rdm_portmapping_SRG3_PP1_TXRX _ cls = func = . at 0x7fa1560053a0> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_07_xpdr_device_connection _ cls = func = . at 0x7fa156005580> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_08_xpdr_device_connected __ cls = func = . at 0x7fa156037600> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_09_xpdr_portmapping_info __ cls = func = . at 0x7fa1560368e0> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_10_xpdr_portmapping_NETWORK1 _ cls = func = . at 0x7fa156036de0> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_11_xpdr_portmapping_NETWORK2 _ cls = func = . at 0x7fa156037600> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_12_xpdr_portmapping_CLIENT1 _ cls = func = . at 0x7fa156036f20> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_13_xpdr_portmapping_CLIENT2 _ cls = func = . at 0x7fa156005580> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_14_xpdr_portmapping_CLIENT3 _ cls = func = . at 0x7fa156036de0> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_15_xpdr_portmapping_CLIENT4 _ cls = func = . at 0x7fa156036f20> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_16_xpdr_device_disconnection _ cls = func = . at 0x7fa156005800> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_17_xpdr_device_disconnected _ cls = func = . at 0x7fa156005bc0> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_18_xpdr_device_not_connected _ cls = func = . at 0x7fa156005da0> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_19_rdm_device_disconnection _ cls = func = . at 0x7fa156036840> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_20_rdm_device_disconnected _ cls = func = . at 0x7fa155c09d00> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_21_rdm_device_not_connected _ cls = func = . at 0x7fa156005bc0> 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/tests121/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests121/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests121/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests121/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests121/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/tests121/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_01_rdm_device_connection ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_02_rdm_device_connected ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_03_rdm_portmapping_info ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_04_rdm_portmapping_DEG1_TTP_TXRX ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_05_rdm_portmapping_SRG1_PP7_TXRX ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_06_rdm_portmapping_SRG3_PP1_TXRX ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_07_xpdr_device_connection ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_08_xpdr_device_connected ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_09_xpdr_portmapping_info ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_10_xpdr_portmapping_NETWORK1 ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_11_xpdr_portmapping_NETWORK2 ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_12_xpdr_portmapping_CLIENT1 ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_13_xpdr_portmapping_CLIENT2 ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_14_xpdr_portmapping_CLIENT3 ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_15_xpdr_portmapping_CLIENT4 ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_16_xpdr_device_disconnection ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_17_xpdr_device_disconnected ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_18_xpdr_device_not_connected ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_19_rdm_device_disconnection ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_20_rdm_device_disconnected ERROR transportpce_tests/1.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_21_rdm_device_not_connected 21 errors in 104.73s (0:01:44) Etests121: exit 1 (105.04 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./launch_tests.sh 1.2.1 pid=4959 EEEEEEEEEEEEEEEEEEEEEEEEEEE [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:233: 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 0x7f056797dbc0> 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 0x7f05679c74c0> 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 0x7f056913b380> 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 0x7f056a073740> 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 0x7f05679c7560> 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 0x7f056a0251c0> 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 0x7f05679c6700> 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 0x7f05679c7880> 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 0x7f056797dbc0> 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 0x7f056a0251c0> 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 0x7f05679c6700> 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 0x7f056a0251c0> 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 0x7f056797dbc0> 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 0x7f05679c6700> 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 0x7f056a0251c0> 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 0x7f05679c6e80> 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 0x7f05679c6660> 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 0x7f056a0251c0> 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 0x7f05679c6d40> 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 0x7f056a0251c0> 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 0x7f05679c6660> 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 0x7f0567679a80> 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 0x7f056797ce00> 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 0x7f056a0251c0> 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 0x7f0567679c60> 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 0x7f056a0251c0> 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 0x7f056797ce00> 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 0x7f0567679f80> 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 0x7f05679c6700> 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 0x7f056a0251c0> 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 0x7f0567679260> 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 0x7f05679c6700> 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 0x7f05676793a0> 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 0x7f0567679120> 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 0x7f05679c6700> 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 0x7f056767a480> 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 0x7f05679c6700> 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 0x7f0567678900> 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 0x7f056767aa20> 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 0x7f05679c6700> 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 0x7f0567678720> 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 0x7f0567678ea0> 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 0x7f05679c6700> 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 0x7f0567679a80> 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 0x7f0567679260> 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 0x7f05679c6700> 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 0x7f056767a020> 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 0x7f05676794e0> 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 0x7f05679c6700> 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 0x7f056767b560> 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 110.06s (0:01:50) tests121: FAIL ✖ in 1 minute 52.07 seconds tests_tapi: exit 1 (110.38 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./launch_tests.sh tapi pid=4948 tests_tapi: FAIL ✖ in 1 minute 57.37 seconds tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt tests200: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt tests221: freeze> python -m pip freeze --all tests200: freeze> python -m pip freeze --all tests221: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 tests221: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./launch_tests.sh 2.2.1 using environment variables from ./karaf221.env pytest -q transportpce_tests/2.2.1/test01_portmapping.py tests200: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 tests200: commands[0] /w/workspace/transportpce-tox-verify-chromium/tests> ./launch_tests.sh oc200 using environment variables from ./karafoc200.env pytest -q transportpce_tests/oc200/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:233: 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 0x7f0c07969300> 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 0x7f0c07983560> 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 0x7f0c07953420> 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 0x7f0c0a0744a0> 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 0x7f0c07981b20> 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 0x7f0c09127240> 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 0x7f0c07969440> 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 0x7f0c07981760> 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 0x7f0c09127240> 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 102.08s (0:01:42) Etests200: exit 1 (102.38 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./launch_tests.sh oc200 pid=5153 Etests200: FAIL ✖ in 1 minute 50.71 seconds tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/tests/test-requirements.txt EEEEEEEEEEEEEEEEEEEEEEEE [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:233: 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 0x7f2622be3560> 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 0x7f2622c27ec0> 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 0x7f26243aea20> 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 0x7f26253004a0> 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 0x7f2622c82ca0> 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 0x7f2622c27ec0> 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 0x7f26243aea20> 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 0x7f2622c80cc0> 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 0x7f2622be36a0> 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 0x7f2622c27ec0> 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 0x7f2622c80360> 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 0x7f2622be36a0> 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 0x7f2622c839c0> 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 0x7f2622c83880> 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 0x7f2622be2340> 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 0x7f2622be2020> 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 0x7f2622be2340> 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 0x7f2622be2020> 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 0x7f2622c83b00> 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 0x7f2622be2340> 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 0x7f2622c80b80> 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 0x7f2622c83c40> 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 0x7f2622be2340> 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 0x7f2622c83880> 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 0x7f2622c80360> 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 0x7f2622be2340> 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 0x7f2622c831a0> 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 0x7f2622c83100> 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 0x7f2622be2340> 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 0x7f2622c825c0> 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 0x7f2622c82ca0> 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 0x7f2622be2340> 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 0x7f2622c83740> 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 0x7f2622be2340> 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 107.06s (0:01:47) tests221: exit 1 (107.38 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./launch_tests.sh 2.2.1 pid=5142 tests221: FAIL ✖ in 1 minute 55.69 seconds tests_hybrid: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-chromium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-chromium/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.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 tests71: commands[0] /w/workspace/transportpce-tox-verify-chromium/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.1,cryptography==50.0.1,dict2xml==1.7.8,idna==3.19,iniconfig==2.3.0,invoke==3.0.3,lxml==6.1.3,netconf-client==3.6.0,packaging==26.3,paramiko==5.0.0,pip==26.2.1,pluggy==1.6.0,psutil==7.2.2,pycparser==3.0,Pygments==2.21.0,PyNaCl==1.6.2,pytest==9.1.1,requests==2.34.2,setuptools==84.0.0,urllib3==2.7.0 tests_hybrid: commands[0] /w/workspace/transportpce-tox-verify-chromium/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:233: 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 0x7f1f1d09a700> 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 0x7f1f1d0bf740> 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 0x7f1f1f7b4ea0> 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 0x7f1f1d09a700> 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 0x7f1f1e867e20> 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 0x7f1f1d09a700> 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 0x7f1f1d0bf600> 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 0x7f1f1d0bdd00> 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 0x7f1f1d0bf920> 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 0x7f1f1d0bf7e0> 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 0x7f1f1d09a700> 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.54s (0:01:42) tests71: exit 1 (102.92 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./launch_tests.sh 7.1 pid=5278 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:77: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 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:233: 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 0x7f47f48f63e0> 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 0x7f47f4992ac0> 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 0x7f47f606e7a0> 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 0x7f47f48f7ba0> 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 0x7f47f48f7f60> 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 0x7f47f48f7ba0> 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 0x7f47f49923e0> 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 0x7f47f48b4360> 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 0x7f47f6fc18a0> 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 0x7f47f48f7f60> 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 0x7f47f4993420> 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 0x7f47f48b4040> 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 0x7f47f6fc18a0> 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 0x7f47f4993880> 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 0x7f47f6fc18a0> 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 0x7f47f48b4220> 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 0x7f47f4993880> 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 0x7f47f6fc18a0> 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 0x7f47f48b4220> 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 0x7f47f48b4400> 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 0x7f47f48b4220> 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 0x7f47f4990040> 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 0x7f47f48b4400> 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 0x7f47f4990040> 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 0x7f47f4992660> 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 0x7f47f48b4400> 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 0x7f47f4992de0> 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 0x7f47f4992ca0> 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 0x7f47f48b4400> 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 0x7f47f4993d80> 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 0x7f47f49936a0> 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 0x7f47f48b4400> 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 0x7f47f4993c40> 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 0x7f47f48b4400> 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 0x7f47f4993600> 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 0x7f47f4993740> 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 0x7f47f48b4400> 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 0x7f47f4993d80> 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 0x7f47f4992ca0> 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 0x7f47f48b4400> 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 0x7f47f4990040> 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 0x7f47f4993740> 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 0x7f47f4993880> 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 0x7f47f48b4400> 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 0x7f47f4992660> 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 0x7f47f48b4400> 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 0x7f47f4992b60> 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 0x7f47f4992de0> 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 0x7f47f48b4400> 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 0x7f47f49923e0> 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 110.47s (0:01:50) tests71: FAIL ✖ in 1 minute 50.19 seconds tests_hybrid: exit 1 (110.84 seconds) /w/workspace/transportpce-tox-verify-chromium/tests> ./launch_tests.sh hybrid pid=5297 buildcontroller: FAIL code 1 (18.99=setup[8.34]+cmd[10.65] seconds) sims: OK (13.42=setup[8.32]+cmd[5.10] seconds) build_karaf_tests121: FAIL code 127 (15.67=setup[7.25]+cmd[8.42] seconds) testsPCE: FAIL code 1 (176.39=setup[51.52]+cmd[124.87] seconds) tests121: FAIL code 1 (112.07=setup[7.03]+cmd[105.04] seconds) build_karaf_tests221: FAIL code 127 (14.13=setup[8.23]+cmd[5.89] seconds) tests_tapi: FAIL code 1 (117.37=setup[6.99]+cmd[110.38] seconds) tests221: FAIL code 1 (115.69=setup[8.30]+cmd[107.38] seconds) build_karaf_tests71: FAIL code 127 (13.07=setup[7.37]+cmd[5.69] seconds) tests71: FAIL code 1 (110.19=setup[7.27]+cmd[102.92] seconds) build_karaf_tests200: FAIL code 127 (13.01=setup[7.15]+cmd[5.86] seconds) tests200: FAIL code 1 (110.71=setup[8.33]+cmd[102.38] seconds) tests_hybrid: FAIL code 1 (117.46=setup[6.62]+cmd[110.84] seconds) buildlighty: FAIL code 9 (21.11=setup[8.76]+cmd[12.35] seconds) docs: OK (19.78=setup[17.07]+cmd[2.71] seconds) docs-linkcheck: OK (21.66=setup[16.71]+cmd[4.95] seconds) checkbashisms: OK (3.26=setup[2.00]+cmd[0.01,0.04,1.21] seconds) pre-commit: OK (68.52=setup[2.78]+cmd[0.00,0.00,55.24,10.50] seconds) pylint: OK (30.78=setup[3.68]+cmd[27.10] seconds) evaluation failed :( (576.72 seconds)