buildcontroller: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/tests/test-requirements.txt docs: install_deps> python -I -m pip install -r docs/requirements.txt docs-linkcheck: install_deps> python -I -m pip install -r docs/requirements.txt checkbashisms: freeze> python -m pip freeze --all checkbashisms: pip==26.2.1,setuptools==84.0.0 checkbashisms: commands[0] /w/workspace/transportpce-tox-verify-titanium/tests> ./fixCIcentOS8reposMirrors.sh checkbashisms: commands[1] /w/workspace/transportpce-tox-verify-titanium/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-titanium/tests> find . -not -path '*/\.*' -name '*.sh' -exec checkbashisms -f '{}' + checkbashisms: OK ✔ in 3.03 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.5,identify==2.6.19,nodeenv==1.10.0,pip==26.2.1,platformdirs==4.11.7,pre_commit==4.6.2,python-discovery==1.6.0,PyYAML==6.0.3,setuptools==84.0.0,virtualenv==21.7.8 pre-commit: commands[0] /w/workspace/transportpce-tox-verify-titanium/tests> ./fixCIcentOS8reposMirrors.sh pre-commit: commands[1] /w/workspace/transportpce-tox-verify-titanium/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-titanium/tests> pre-commit run --all-files --show-diff-on-failure [WARNING] hook id `remove-tabs` uses deprecated stage names (commit) which will be removed in a future version. run: `pre-commit migrate-config` to automatically fix this. [WARNING] hook id `perltidy` uses deprecated stage names (commit) which will be removed in a future version. run: `pre-commit migrate-config` to automatically fix this. [INFO] Initializing environment for https://github.com/pre-commit/pre-commit-hooks. [WARNING] repo `https://github.com/pre-commit/pre-commit-hooks` uses deprecated stage names (commit, push) which will be removed in a future version. Hint: often `pre-commit autoupdate --repo https://github.com/pre-commit/pre-commit-hooks` will fix this. if it does not -- consider reporting an issue to that repo. [INFO] Initializing environment for https://github.com/jorisroovers/gitlint. [INFO] Initializing environment for https://github.com/jorisroovers/gitlint:./gitlint-core[trusted-deps]. 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-titanium/tests> ./build_controller.sh 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 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/Lucas-C/pre-commit-hooks. [INFO] Initializing environment for https://github.com/pre-commit/mirrors-autopep8. [INFO] Initializing environment for https://github.com/perltidy/perltidy. [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: freeze> python -m pip freeze --all docs-linkcheck: freeze> python -m pip freeze --all docs: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.7.22,charset-normalizer==3.5.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.37.4,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==2.1.0,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.4.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-titanium/tests> sphinx-build -q -W --keep-going -b html -n -d /w/workspace/transportpce-tox-verify-titanium/.tox/docs/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-titanium/docs/_build/html docs-linkcheck: alabaster==1.0.0,attrs==26.1.0,babel==2.18.0,certifi==2026.7.22,charset-normalizer==3.5.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.37.4,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==2.1.0,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.4.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-titanium/tests> sphinx-build -q -b linkcheck -d /w/workspace/transportpce-tox-verify-titanium/.tox/docs-linkcheck/tmp/doctrees ../docs/ /w/workspace/transportpce-tox-verify-titanium/docs/_build/linkcheck docs: OK ✔ in 19 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... [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-6.1.0:jar is missing. @ line 54, 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-6.1.0:jar is missing. @ line 71, 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-6.1.0:jar is missing. @ line 44, 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-6.1.0:jar is missing. @ line 42, column 17 [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 40, column 17 @ [ERROR] The build could not read 11 projects -> [Help 1] [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-api:11.3.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-titanium/api/pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 49, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-common:11.3.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-titanium/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:11.3.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-titanium/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:11.3.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-titanium/renderer/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-networkmodel:11.3.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-titanium/networkmodel/pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 71, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-olm:11.3.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-titanium/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:11.3.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-titanium/pce/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:transportpce-servicehandler:11.3.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-titanium/servicehandler/pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 44, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-tapi:11.3.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-titanium/tapi/pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 55, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-nbinotifications:11.3.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-titanium/nbinotifications/pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 42, column 17 [ERROR] [ERROR] The project org.opendaylight.transportpce:transportpce-dmaap-client:11.3.0-SNAPSHOT (/w/workspace/transportpce-tox-verify-titanium/dmaap-client/pom.xml) has 1 error [ERROR] 'dependencies.dependency.version' for org.opendaylight.transportpce.models:openroadm-common-6.1.0:jar is missing. @ line 40, 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 (12.51 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./build_controller.sh pid=2692 buildcontroller: FAIL ✖ in 21.44 seconds docs-linkcheck: OK ✔ in 21.47 seconds build_karaf_tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/tests/test-requirements.txt build_karaf_tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/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.7,pylint==4.0.8,setuptools==84.0.0,tomlkit==0.15.1 pylint: commands[0] /w/workspace/transportpce-tox-verify-titanium/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/pre-commit/mirrors-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_tests221: 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-titanium/tests> ./build_karaf_for_tests.sh build karaf in karaf121 with ./karaf121.env 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-titanium/tests> ./build_karaf_for_tests.sh build karaf in karaf221 with ./karaf221.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... [ERROR] Failed to execute goal on project transportpce-karaf: Could not resolve dependencies for project org.opendaylight.transportpce:transportpce-karaf:pom:11.3.0-SNAPSHOT [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce:xml:features:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:11.3.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 [ERROR] Failed to execute goal on project transportpce-karaf: Could not resolve dependencies for project org.opendaylight.transportpce:transportpce-karaf:pom:11.3.0-SNAPSHOT [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce:xml:features:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] Could not find artifact org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:11.3.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 (9.04 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./build_karaf_for_tests.sh pid=3317 build_karaf_tests121: FAIL ✖ in 15.85 seconds build_karaf_tests221: exit 127 (9.02 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./build_karaf_for_tests.sh pid=3360 build_karaf_tests221: FAIL ✖ in 15.83 seconds build_karaf_tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/tests/test-requirements.txt build_karaf_tests190: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/tests/test-requirements.txt trim trailing whitespace.................................................Passed Tabs remover.............................................................Passed autopep8.................................................................Passed perltidy.................................................................build_karaf_tests71: freeze> python -m pip freeze --all build_karaf_tests71: bcrypt==5.0.0,certifi==2026.7.22,cffi==2.1.1,charset-normalizer==3.5.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-titanium/tests> ./build_karaf_for_tests.sh build karaf in karaf71 with ./karaf71.env Passed pre-commit: commands[3] /w/workspace/transportpce-tox-verify-titanium/tests> pre-commit run gitlint-ci --hook-stage manual [WARNING] hook id `remove-tabs` uses deprecated stage names (commit) which will be removed in a future version. run: `pre-commit migrate-config` to automatically fix this. [WARNING] hook id `perltidy` uses deprecated stage names (commit) which will be removed in a future version. run: `pre-commit migrate-config` to automatically fix this. [INFO] Installing environment for https://github.com/jorisroovers/gitlint. [INFO] Once installed this environment will be reused. [INFO] This may take a few minutes... build_karaf_tests190: freeze> python -m pip freeze --all build_karaf_tests190: 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_tests190: commands[0] /w/workspace/transportpce-tox-verify-titanium/tests> ./build_karaf_for_tests.sh build karaf in karafoc with ./karafoc.env ------------------------------------ Your code has been rated at 10.00/10 pylint: OK ✔ in 30.09 seconds buildlighty: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/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:11.3.0-SNAPSHOT [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce:xml:features:11.3.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:11.3.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:11.3.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:11.3.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:11.3.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:11.3.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:11.3.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:11.3.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:11.3.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.31 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./build_karaf_for_tests.sh pid=3642 build_karaf_tests71: FAIL ✖ in 13.59 seconds sims: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/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:11.3.0-SNAPSHOT [ERROR] dependency: org.opendaylight.transportpce:odl-transportpce:xml:features:11.3.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce:xml:features:11.3.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:11.3.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-tapi:xml:features:11.3.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:11.3.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-inventory:xml:features:11.3.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:11.3.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-nbinotifications:xml:features:11.3.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:11.3.0-SNAPSHOT (runtime) [ERROR] org.opendaylight.transportpce:odl-transportpce-dmaap-client:xml:features:11.3.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_tests190: exit 127 (5.30 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./build_karaf_for_tests.sh pid=3729 build_karaf_tests190: FAIL ✖ in 14.15 seconds testsPCE: install_deps> python -I -m pip install gnpy4tpce==2.4.7 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/tests/test-requirements.txt gitlint..................................................................Passed pre-commit: OK ✔ in 50.69 seconds buildlighty: freeze> python -m pip freeze --all 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-titanium/lighty> ./build.sh sims: 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-titanium/tests> ./install_lightynode.sh Using lighynode version 20.1.0.5 Installing lightynode device to ./lightynode/lightynode-openroadm-device directory [ERROR] Failed to execute goal on project tpce: Could not resolve dependencies for project io.lighty.controllers:tpce:jar:11.3.0-SNAPSHOT [ERROR] dependency: org.opendaylight.transportpce:transportpce-api:jar:11.3.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-api:jar:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-common:jar:11.3.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-common:jar:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-networkmodel:jar:11.3.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-networkmodel:jar:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-pce:jar:11.3.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-pce:jar:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-olm:jar:11.3.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-olm:jar:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-servicehandler:jar:11.3.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-servicehandler:jar:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-tapi:jar:11.3.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-tapi:jar:11.3.0-SNAPSHOT in opendaylight-snapshot (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/) [ERROR] dependency: org.opendaylight.transportpce:transportpce-nbinotifications:jar:11.3.0-SNAPSHOT (compile) [ERROR] Could not find artifact org.opendaylight.transportpce:transportpce-nbinotifications:jar:11.3.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 10.01 seconds buildlighty: exit 9 (14.75 seconds) /w/workspace/transportpce-tox-verify-titanium/lighty> ./build.sh pid=3880 buildlighty: FAIL ✖ in 22.2 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.64.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-titanium/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:232: 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 0x7fc83d7bb2e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7cb4c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d78bf60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7bb2e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83fbd1120> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7bb2e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7c9d00> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7cba60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d78bf60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7cbb00> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7cb380> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d78bf60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7cafc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7c9da0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7cbd80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7cbb00> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d78be20> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d78bce0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc83d7cbc40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/testsPCE/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_01_load_port_mapping ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_02_load_simple_topology_bi ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_03_get_nodeId ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_04_get_linkId ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_05_path_computation_xpdr_bi ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_06_path_computation_rdm_bi ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_07_load_simple_topology_uni ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_08_get_nodeId ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_09_get_linkId ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_10_path_computation_xpdr_uni ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_11_path_computation_rdm_uni ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_12_load_complex_topology ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_13_get_nodeId ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_14_fail_path_computation ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_15_success1_path_computation ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_16_success2_path_computation ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_17_success3_path_computation ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_18_path_computation_before_oms_attribute_deletion ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_19_delete_oms_attribute_in_openroadm13toopenroadm12_link ERROR transportpce_tests/pce/test01_pce.py::TestTransportPCEPce::test_20_path_computation_after_oms_attribute_deletion 20 errors in 123.79s (0:02:03) testsPCE: exit 1 (124.09 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./launch_tests.sh pce pid=4022 testsPCE: FAIL ✖ in 2 minutes 52.96 seconds tests121: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/tests/test-requirements.txt tests190: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/tests/test-requirements.txt tests_tapi: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/tests/test-requirements.txt tests190: freeze> python -m pip freeze --all tests121: freeze> python -m pip freeze --all tests_tapi: freeze> python -m pip freeze --all tests190: 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 tests190: commands[0] /w/workspace/transportpce-tox-verify-titanium/tests> ./launch_tests.sh oc using environment variables from ./karafoc.env pytest -q transportpce_tests/oc/test01_portmapping.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-titanium/tests> ./launch_tests.sh 1.2.1 using environment variables from ./karaf121.env pytest -q transportpce_tests/1.2.1/test01_portmapping.py 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-titanium/tests> ./launch_tests.sh tapi using environment variables from ./karaf221.env pytest -q transportpce_tests/tapi/test01_abstracted_topology.py EEEEEEEEEEEEEEEEEEEEEEEEEEE [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/oc/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:232: SystemExit ---------------------------- Captured stdout setup ----------------------------- starting OpenDaylight... starting KARAF (karafoc) TransportPCE build... Pattern not found after 100 seconds! OpenDaylight failed to start ! _ ERROR at setup of TestTransportPCEPortmapping.test_02_catlog_input_insertion _ cls = func = . at 0x7f11abf70fe0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests190/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_03_xpdr_device_connection _ cls = func = . at 0x7f11abf936a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests190/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_04_xpdr_device_connected __ cls = func = . at 0x7f11abf57240> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests190/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_05_xpdr_portmapping_info __ cls = func = . at 0x7f11ad71efc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests190/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_06_mpdr_portmapping_NETWORK5 _ cls = func = . at 0x7f11abf913a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests190/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_07_mpdr_portmapping_CLIENT1 _ cls = func = . at 0x7f11abf71120> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests190/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError __ ERROR at setup of TestTransportPCEPortmapping.test_08_mpdr_switching_pool ___ cls = func = . at 0x7f11ae66c400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests190/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError ___ ERROR at setup of TestTransportPCEPortmapping.test_09_check_mccapprofile ___ cls = func = . at 0x7f11abf57240> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests190/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError _ ERROR at setup of TestTransportPCEPortmapping.test_10_xpdr_device_disconnection _ cls = func = . at 0x7f11abf71120> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests190/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests190/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests190/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests190/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_01_meta_data_insertion ERROR transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_02_catlog_input_insertion ERROR transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_03_xpdr_device_connection ERROR transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_04_xpdr_device_connected ERROR transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_05_xpdr_portmapping_info ERROR transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_06_mpdr_portmapping_NETWORK5 ERROR transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_07_mpdr_portmapping_CLIENT1 ERROR transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_08_mpdr_switching_pool ERROR transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_09_check_mccapprofile ERROR transportpce_tests/oc/test01_portmapping.py::TestTransportPCEPortmapping::test_10_xpdr_device_disconnection 10 errors in 101.99s (0:01:41) tests190: exit 1 (102.27 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./launch_tests.sh oc pid=4129 EEtests190: FAIL ✖ in 1 minute 51.78 seconds tests71: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/tests/test-requirements.txt EEEEEEEEEEEEEEEEEEEEE [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:232: 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 0x7f59089ad760> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59082b7560> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f590b433740> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f5909a63560> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59089ad3a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59089ad580> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59082b7600> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59082b68e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59082b6de0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59082b7600> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59082b6f20> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59089ad580> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59082b6de0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59082b6f20> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59089ad800> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59089adbc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59089adda0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59082b6840> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f5907e89d00> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f59089adbc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 103.98s (0:01:43) tests121: exit 1 (104.24 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./launch_tests.sh 1.2.1 pid=4140 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEtests121: FAIL ✖ in 1 minute 53.81 seconds tests71: freeze> python -m pip freeze --all Etests71: 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-titanium/tests> ./launch_tests.sh 7.1 using environment variables from ./karaf71.env pytest -q transportpce_tests/7.1/test01_portmapping.py EE [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:232: 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 0x7f89e6d29bc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d734c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e84eb380> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e9423740> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d73560> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e93d51c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d73880> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d29bc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e93d51c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e93d51c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d29bc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e93d51c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72e80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72660> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e93d51c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72d40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e93d51c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72660> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6911a80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d28e00> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e93d51c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6911c60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e93d51c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d28e00> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6911f80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e93d51c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6911260> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e69113a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6911120> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6912480> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6910900> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6912a20> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6910720> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6910ea0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6911a80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6911260> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6912020> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e69114e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6d72700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f89e6913560> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_tapi/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_01_get_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_02_get_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_03_connect_rdmb ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_04_check_tapi_topos ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_05_disconnect_roadmb ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_06_connect_xpdra ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_07_check_tapi_topos ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_08_connect_rdma ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_09_connect_rdmc ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_10_check_tapi_topos ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_11_connect_xpdra_n1_to_roadma_pp1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_12_connect_roadma_pp1_to_xpdra_n1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_13_check_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_14_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_15_connect_xpdrc ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_16_connect_xpdrc_n1_to_roadmc_pp1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_17_connect_roadmc_pp1_to_xpdrc_n1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_18_check_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_19_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_20_connect_spdr_sa1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_21_connect_spdr_sc1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_22_check_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_23_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_24_connect_sprda_n1_to_roadma_pp2 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_25_connect_roadma_pp2_to_spdra_n1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_26_connect_sprdc_n1_to_roadmc_pp2 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_27_connect_roadmc_pp2_to_spdrc_n1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_28_check_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_29_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_30_add_oms_attributes ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_31_create_OCH_OTU4_service ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_32_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_33_create_ODU4_service ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_34_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_35_connect_sprda_2_n2_to_roadma_pp3 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_36_connect_roadma_pp3_to_spdra_2_n2 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_37_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_38_delete_ODU4_service ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_39_delete_OCH_OTU4_service ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_40_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_41_disconnect_xponders_from_roadm ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_42_check_tapi_topology_T0 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_43_get_tapi_topology_T100G ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_44_disconnect_roadma ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_45_disconnect_roadmc ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_46_check_tapi_topos ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_47_disconnect_xpdra ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_48_disconnect_xpdrc ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_49_disconnect_spdr_sa1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_50_disconnect_spdr_sc1 ERROR transportpce_tests/tapi/test01_abstracted_topology.py::TestTransportPCEAbstractedTopology::test_51_check_uninstall_Tapi_Feature 51 errors in 109.82s (0:01:49) tests_tapi: exit 1 (110.11 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./launch_tests.sh tapi pid=4151 tests_tapi: FAIL ✖ in 1 minute 59.81 seconds tests221: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/tests/test-requirements.txt tests221: 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-titanium/tests> ./launch_tests.sh 2.2.1 using environment variables from ./karaf221.env pytest -q transportpce_tests/2.2.1/test01_portmapping.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:232: 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 0x7fc284382700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc2843a7740> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc286a9cea0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc284382700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc285b4fe20> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc284382700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc2843a7600> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc2843a5d00> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc2843a7920> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc2843a77e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fc284382700> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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.27s (0:01:42) tests71: exit 1 (102.58 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./launch_tests.sh 7.1 pid=4297 EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE [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:232: 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 0x7f41ce833560> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce14fec0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41cf8e6a20> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41d082c4a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1aaca0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce14fec0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41cf8e6a20> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1a8cc0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce8336a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce14fec0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1a8360> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce8336a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1ab9c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1ab880> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce832340> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce832020> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce832340> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce832020> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1abb00> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce832340> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1a8b80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1abc40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce832340> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1ab880> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1a8360> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce832340> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1ab1a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1ab100> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce832340> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1aa5c0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1aaca0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce832340> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce1ab740> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7f41ce832340> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests221/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests221/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests221/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests221/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_01_rdm_device_connection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_02_rdm_device_connected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_03_rdm_portmapping_info ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_04_rdm_portmapping_DEG1_TTP_TXRX ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_05_rdm_portmapping_DEG2_TTP_TXRX_with_ots_oms ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_06_rdm_portmapping_SRG1_PP3_TXRX ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_07_rdm_portmapping_SRG3_PP1_TXRX ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_08_xpdr_device_connection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_09_xpdr_device_connected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_10_xpdr_portmapping_info ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_11_xpdr_portmapping_NETWORK1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_12_xpdr_portmapping_XPDR2_NETWORK1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_13_xpdr_portmapping_XPDR1_CLIENT1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_14_xpdr_portmapping_XPDR1_CLIENT2 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_15_spdr_device_connection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_16_spdr_device_connected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_17_spdr_portmapping_info ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_18_spdr_switching_pool_1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_19_spdr_switching_pool_2 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_20_spdr_switching_pool_3 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_21_spdr_portmapping_mappings ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_22_spdr_portmapping_XPDR1_CLIENT1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_23_spdr_portmapping_XPDR1_NETWORK1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_24_spdr_portmapping_XPDR2_CLIENT2 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_25_spdr_portmapping_XPDR2_NETWORK2 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_26_spdr_portmapping_XPDR3_CLIENT3 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_27_spdr_portmapping_XPDR3_NETWORK1 ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_28_spdr_device_disconnection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_29_xpdr_device_disconnected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_30_xpdr_device_disconnection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_31_xpdr_device_disconnected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_32_xpdr_device_not_connected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_33_rdm_device_disconnection ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_34_rdm_device_disconnected ERROR transportpce_tests/2.2.1/test01_portmapping.py::TestTransportPCEPortmapping::test_35_rdm_device_not_connected 35 errors in 106.36s (0:01:46) tests71: FAIL ✖ in 1 minute 50.42 seconds tests221: exit 1 (106.62 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./launch_tests.sh 2.2.1 pid=4367 tests221: FAIL ✖ in 1 minute 52.92 seconds tests_hybrid: install_deps> python -I -m pip install 'setuptools>=7.0' -r /w/workspace/transportpce-tox-verify-titanium/tests/requirements.txt -r /w/workspace/transportpce-tox-verify-titanium/tests/test-requirements.txt 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-titanium/tests> ./launch_tests.sh hybrid using environment variables from ./karaf221.env pytest -q transportpce_tests/hybrid/test01_device_change_notifications.py 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:232: 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 0x7fdb6ea0e3e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea66ac0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb7017e7a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea0fba0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea0ff60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea0fba0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea663e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8360> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb710c18a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea0ff60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea67420> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8040> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb710c18a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea67880> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb710c18a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8220> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea67880> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb710c18a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8220> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8220> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea64040> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea64040> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea66660> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea66de0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea66ca0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea67d80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea676a0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea67c40> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea67600> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea67740> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea67d80> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea66ca0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea64040> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea67740> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea67880> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea66660> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea66b60> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea66de0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6e9c8400> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall 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 0x7fdb6ea663e0> when = 'setup' reraise = (, ) @classmethod def from_call( cls, func: Callable[[], TResult], when: Literal["collect", "setup", "call", "teardown"], reraise: type[BaseException] | tuple[type[BaseException], ...] | None = None, ) -> CallInfo[TResult]: """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :type func: Callable[[], _pytest.runner.TResult] :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None instant = timing.Instant() try: > result: TResult | None = func() ^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:250: in lambda: runtest_hook(item=item, **kwds), ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_hooks.py:512: in __call__ return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/logging.py:858: in pytest_runtest_setup yield ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/capture.py:895: in pytest_runtest_setup return (yield) ^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:170: in pytest_runtest_setup item.session._setupstate.setup(item) ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/runner.py:536: in setup col.setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/unittest.py:248: in setup super().setup() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/python.py:1710: in setup self._request._fillfixtures() ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:806: in _fillfixtures item.funcargs[argname] = self.getfixturevalue(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:630: in getfixturevalue fixturedef = self._get_active_fixturedef(argname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:726: in _get_active_fixturedef fixturedef.execute(request=subrequest) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ self = request = > def execute(self, request: SubRequest) -> FixtureValue: """Return the value of this fixture, executing it if not cached.""" # Ensure that the dependent fixtures requested by this fixture are loaded. # This needs to be done before checking if we have a cached value, since # if a dependent fixture has their cache invalidated, e.g. due to # parametrization, they finalize themselves and fixtures depending on it # (which will likely include this fixture) setting `self.cached_result = None`. # See #4871 requested_fixtures_that_should_finalize_us = [] for argname in self.argnames: fixturedef = request._get_active_fixturedef(argname) # Saves requested fixtures in a list so we later can add our finalizer # to them, ensuring that if a requested fixture gets torn down we get torn # down first. This is generally handled by SetupState, but still currently # needed when this fixture is not parametrized but depends on a parametrized # fixture. requested_fixtures_that_should_finalize_us.append(fixturedef) # Check for (and return) cached value/exception. if self.cached_result is not None: request_cache_key = self.cache_key(request) cache_key = self.cached_result[1] try: # Attempt to make a normal == check: this might fail for objects # which do not implement the standard comparison (like numpy arrays -- #6497). cache_hit = bool(request_cache_key == cache_key) except (ValueError, RuntimeError): # If the comparison raises, use 'is' as fallback. cache_hit = request_cache_key is cache_key if cache_hit: if self.cached_result[2] is not None: exc, exc_tb = self.cached_result[2] raise exc.with_traceback(exc_tb) else: return self.cached_result[0] # We have a previous but differently parametrized fixture instance # so we need to tear it down before creating a new one. self.finish(request) assert self.cached_result is None # Add finalizer to requested fixtures we saved previously. # We make sure to do this after checking for cached value to avoid # adding our finalizer multiple times. (#12135) finalizer = functools.partial(self.finish, request=request) for parent_fixture in requested_fixtures_that_should_finalize_us: parent_fixture.addfinalizer(finalizer) # Register the pytest_fixture_post_finalizer as the first finalizer, # which is executed last. > assert not self._finalizers ^^^^^^^^^^^^^^^^^^^^ E AssertionError ../.tox/tests_hybrid/lib/python3.11/site-packages/_pytest/fixtures.py:1221: AssertionError =========================== short test summary info ============================ ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_01_connect_xpdrA ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_02_connect_xpdrC ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_03_connect_rdmA ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_04_connect_rdmC ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_05_connect_xpdrA_N1_to_roadmA_PP1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_06_connect_roadmA_PP1_to_xpdrA_N1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_07_connect_xpdrC_N1_to_roadmC_PP1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_08_connect_roadmC_PP1_to_xpdrC_N1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_09_add_omsAttributes_ROADMA_ROADMC ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_10_add_omsAttributes_ROADMC_ROADMA ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_11_create_eth_service1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_12_get_eth_service1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_13_change_status_line_port_xpdra ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_14_check_update_portmapping ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_15_check_update_openroadm_topo ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_16_check_update_service1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_17_restore_status_line_port_xpdra ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_18_check_update_portmapping_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_19_check_update_openroadm_topo_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_20_check_update_service1_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_21_change_status_port_roadma_srg ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_22_check_update_portmapping ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_23_check_update_openroadm_topo ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_24_restore_status_port_roadma_srg ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_25_check_update_portmapping_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_26_check_update_openroadm_topo_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_27_check_update_service1_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_28_change_status_line_port_roadma_deg ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_29_check_update_portmapping ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_30_check_update_openroadm_topo ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_31_restore_status_line_port_roadma_srg ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_32_check_update_portmapping_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_33_check_update_openroadm_topo_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_34_check_update_service1_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_35_change_status_line_port_xpdrc ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_36_check_update_portmapping ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_37_check_update_openroadm_topo ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_38_restore_status_line_port_xpdrc ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_39_check_update_portmapping_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_40_check_update_openroadm_topo_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_41_check_update_service1_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_42_change_status_port_roadma_srg ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_43_check_update_portmapping ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_44_check_update_openroadm_topo ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_45_check_update_service1_ok ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_46_delete_eth_service1 ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_47_disconnect_xponders_from_roadm ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_48_disconnect_XPDRA ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_49_disconnect_XPDRC ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_50_disconnect_ROADMA ERROR transportpce_tests/hybrid/test01_device_change_notifications.py::TestTransportPCEDeviceChangeNotifications::test_51_disconnect_ROADMC 51 errors in 109.51s (0:01:49) tests_hybrid: exit 1 (109.76 seconds) /w/workspace/transportpce-tox-verify-titanium/tests> ./launch_tests.sh hybrid pid=4490 buildcontroller: FAIL code 1 (21.44=setup[8.93]+cmd[12.51] seconds) sims: OK (10.01=setup[6.83]+cmd[3.17] seconds) build_karaf_tests121: FAIL code 127 (15.85=setup[6.81]+cmd[9.04] seconds) testsPCE: FAIL code 1 (172.96=setup[48.87]+cmd[124.09] seconds) tests121: FAIL code 1 (113.81=setup[9.57]+cmd[104.24] seconds) build_karaf_tests221: FAIL code 127 (15.83=setup[6.81]+cmd[9.02] seconds) tests_tapi: FAIL code 1 (119.81=setup[9.71]+cmd[110.11] seconds) tests221: FAIL code 1 (112.92=setup[6.30]+cmd[106.62] seconds) build_karaf_tests71: FAIL code 127 (13.59=setup[8.27]+cmd[5.31] seconds) tests71: FAIL code 1 (110.42=setup[7.84]+cmd[102.58] seconds) build_karaf_tests190: FAIL code 127 (14.15=setup[8.85]+cmd[5.30] seconds) tests190: FAIL code 1 (111.78=setup[9.51]+cmd[102.27] seconds) tests_hybrid: FAIL code 1 (117.42=setup[7.65]+cmd[109.76] seconds) buildlighty: FAIL code 9 (22.20=setup[7.45]+cmd[14.75] seconds) docs: OK (19.00=setup[15.90]+cmd[3.10] seconds) docs-linkcheck: OK (21.47=setup[15.95]+cmd[5.52] seconds) checkbashisms: OK (3.03=setup[1.85]+cmd[0.01,0.04,1.14] seconds) pre-commit: OK (50.69=setup[2.87]+cmd[0.01,0.01,39.76,8.04] seconds) pylint: OK (30.09=setup[3.74]+cmd[26.35] seconds) evaluation failed :( (574.61 seconds)