nixbot

builds

succeeded python3.14-soco-0.31.2 checks.aarch64-darwin.darwin-mhelton-mbp14 · build #40 · raw

1Sourcing python-remove-tests-dir-hook2Sourcing python-catch-conflicts-hook.sh3Sourcing python-remove-bin-bytecode-hook.sh4Sourcing pypa-build-hook5Using pypaBuildPhase6Sourcing python-runtime-deps-check-hook7Using pythonRuntimeDepsCheckHook8Sourcing pypa-install-hook9Using pypaInstallPhase10Sourcing python-imports-check-hook.sh11Using pythonImportsCheckPhase12Sourcing python-metadata-check-hook.sh13Using pythonMetadataCheckPhase14Sourcing python-namespaces-hook15Sourcing python-catch-conflicts-hook.sh16Sourcing pytest-check-hook17Using pytestCheckPhase
unpackPhase
18unpacking source archive /nix/store/iz95mz7sjh8rbivz8f29kmdx2c9ascbb-source19source root is source20setting SOURCE_DATE_EPOCH to timestamp 315619200 of file "source/tests/test_xml.py"
configurePhase
21no configure script, doing nothing
buildPhase
22Executing pypaBuildPhase23Creating a wheel...24pypa build flags: --no-isolation --outdir dist/ --wheel25* Getting build dependencies for wheel...26<string>:6: SetuptoolsDeprecationWarning: The test command is disabled and references to it are deprecated.27!!2829 ********************************************************************************30 Please remove any references to `setuptools.command.test` in all supported versions of the affected package.3132 This deprecation is overdue, please update your project and remove deprecated33 calls to avoid build errors in the future.34 ********************************************************************************3536!!37/nix/store/qmli4gwqi36clrxc1i29q6mnf8sizlbc-python3.14-setuptools-83.0.0/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated38!!3940 ********************************************************************************41 Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).4243 By 2027-Feb-18, you need to update your project and remove deprecated calls44 or your builds will no longer be supported.4546 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.47 ********************************************************************************4849!!50 corresp(dist, value, root_dir)51/nix/store/qmli4gwqi36clrxc1i29q6mnf8sizlbc-python3.14-setuptools-83.0.0/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.52!!5354 ********************************************************************************55 Please consider removing the following classifiers in favor of a SPDX license expression:5657 License :: OSI Approved :: MIT License5859 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.60 ********************************************************************************6162!!63 dist._finalize_license_expression()64/nix/store/qmli4gwqi36clrxc1i29q6mnf8sizlbc-python3.14-setuptools-83.0.0/lib/python3.14/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.65!!6667 ********************************************************************************68 Please consider removing the following classifiers in favor of a SPDX license expression:6970 License :: OSI Approved :: MIT License7172 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.73 ********************************************************************************7475!!76 self._finalize_license_expression()77running egg_info78creating soco.egg-info79writing soco.egg-info/PKG-INFO80writing dependency_links to soco.egg-info/dependency_links.txt81writing requirements to soco.egg-info/requires.txt82writing top-level names to soco.egg-info/top_level.txt83writing manifest file 'soco.egg-info/SOURCES.txt'84reading manifest file 'soco.egg-info/SOURCES.txt'85reading manifest template 'MANIFEST.in'86warning: no previously-included files matching '*.pyc' found under directory 'doc'87warning: no previously-included files matching '*.pyo' found under directory 'doc'88warning: no previously-included files matching '*.rej' found under directory 'doc'89warning: no previously-included files matching '*.orig' found under directory 'doc'90warning: no previously-included files matching '.DS_Store' found under directory 'doc'91no previously-included directories found matching 'doc/_build'92warning: no previously-included files matching '*.pyc' found under directory 'tests'93warning: no previously-included files matching '*.pyo' found under directory 'tests'94warning: no previously-included files matching '*.rej' found under directory 'tests'95warning: no previously-included files matching '*.orig' found under directory 'tests'96warning: no previously-included files matching '.DS_Store' found under directory 'tests'97warning: no previously-included files matching '*.pyc' found under directory 'examples'98warning: no previously-included files matching '*.pyo' found under directory 'examples'99warning: no previously-included files matching '*.rej' found under directory 'examples'100warning: no previously-included files matching '*.orig' found under directory 'examples'101warning: no previously-included files matching '.DS_Store' found under directory 'examples'102adding license file 'LICENSE.rst'103adding license file 'AUTHORS.rst'104writing manifest file 'soco.egg-info/SOURCES.txt'105* Building wheel...106<string>:6: SetuptoolsDeprecationWarning: The test command is disabled and references to it are deprecated.107!!108109 ********************************************************************************110 Please remove any references to `setuptools.command.test` in all supported versions of the affected package.111112 This deprecation is overdue, please update your project and remove deprecated113 calls to avoid build errors in the future.114 ********************************************************************************115116!!117/nix/store/qmli4gwqi36clrxc1i29q6mnf8sizlbc-python3.14-setuptools-83.0.0/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:82: SetuptoolsDeprecationWarning: `project.license` as a TOML table is deprecated118!!119120 ********************************************************************************121 Please use a simple string containing a SPDX expression for `project.license`. You can also use `project.license-files`. (Both options available on setuptools>=77.0.0).122123 By 2027-Feb-18, you need to update your project and remove deprecated calls124 or your builds will no longer be supported.125126 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.127 ********************************************************************************128129!!130 corresp(dist, value, root_dir)131/nix/store/qmli4gwqi36clrxc1i29q6mnf8sizlbc-python3.14-setuptools-83.0.0/lib/python3.14/site-packages/setuptools/config/_apply_pyprojecttoml.py:61: SetuptoolsDeprecationWarning: License classifiers are deprecated.132!!133134 ********************************************************************************135 Please consider removing the following classifiers in favor of a SPDX license expression:136137 License :: OSI Approved :: MIT License138139 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.140 ********************************************************************************141142!!143 dist._finalize_license_expression()144/nix/store/qmli4gwqi36clrxc1i29q6mnf8sizlbc-python3.14-setuptools-83.0.0/lib/python3.14/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.145!!146147 ********************************************************************************148 Please consider removing the following classifiers in favor of a SPDX license expression:149150 License :: OSI Approved :: MIT License151152 See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.153 ********************************************************************************154155!!156 self._finalize_license_expression()157running bdist_wheel158running build159running build_py160creating build/lib/soco161copying soco/events_twisted.py -> build/lib/soco162copying soco/ms_data_structures.py -> build/lib/soco163copying soco/services.py -> build/lib/soco164copying soco/config.py -> build/lib/soco165copying soco/data_structures_entry.py -> build/lib/soco166copying soco/discovery.py -> build/lib/soco167copying soco/events.py -> build/lib/soco168copying soco/xml.py -> build/lib/soco169copying soco/soap.py -> build/lib/soco170copying soco/cache.py -> build/lib/soco171copying soco/__init__.py -> build/lib/soco172copying soco/core.py -> build/lib/soco173copying soco/groups.py -> build/lib/soco174copying soco/data_structure_quirks.py -> build/lib/soco175copying soco/events_base.py -> build/lib/soco176copying soco/utils.py -> build/lib/soco177copying soco/data_structures.py -> build/lib/soco178copying soco/exceptions.py -> build/lib/soco179copying soco/music_library.py -> build/lib/soco180copying soco/alarms.py -> build/lib/soco181copying soco/zonegroupstate.py -> build/lib/soco182copying soco/events_asyncio.py -> build/lib/soco183copying soco/snapshot.py -> build/lib/soco184creating build/lib/soco/plugins185copying soco/plugins/__init__.py -> build/lib/soco/plugins186copying soco/plugins/plex.py -> build/lib/soco/plugins187copying soco/plugins/example.py -> build/lib/soco/plugins188copying soco/plugins/spotify.py -> build/lib/soco/plugins189copying soco/plugins/wimp.py -> build/lib/soco/plugins190copying soco/plugins/sharelink.py -> build/lib/soco/plugins191creating build/lib/soco/music_services192copying soco/music_services/accounts.py -> build/lib/soco/music_services193copying soco/music_services/token_store.py -> build/lib/soco/music_services194copying soco/music_services/__init__.py -> build/lib/soco/music_services195copying soco/music_services/data_structures.py -> build/lib/soco/music_services196copying soco/music_services/music_service.py -> build/lib/soco/music_services197installing to build/bdist.macosx-14.0-arm64/wheel198running install199running install_lib200creating build/bdist.macosx-14.0-arm64/wheel201creating build/bdist.macosx-14.0-arm64/wheel/soco202copying build/lib/soco/events_twisted.py -> build/bdist.macosx-14.0-arm64/wheel/./soco203copying build/lib/soco/ms_data_structures.py -> build/bdist.macosx-14.0-arm64/wheel/./soco204copying build/lib/soco/services.py -> build/bdist.macosx-14.0-arm64/wheel/./soco205copying build/lib/soco/config.py -> build/bdist.macosx-14.0-arm64/wheel/./soco206copying build/lib/soco/data_structures_entry.py -> build/bdist.macosx-14.0-arm64/wheel/./soco207copying build/lib/soco/discovery.py -> build/bdist.macosx-14.0-arm64/wheel/./soco208creating build/bdist.macosx-14.0-arm64/wheel/soco/plugins209copying build/lib/soco/plugins/__init__.py -> build/bdist.macosx-14.0-arm64/wheel/./soco/plugins210copying build/lib/soco/plugins/plex.py -> build/bdist.macosx-14.0-arm64/wheel/./soco/plugins211copying build/lib/soco/plugins/example.py -> build/bdist.macosx-14.0-arm64/wheel/./soco/plugins212copying build/lib/soco/plugins/spotify.py -> build/bdist.macosx-14.0-arm64/wheel/./soco/plugins213copying build/lib/soco/plugins/wimp.py -> build/bdist.macosx-14.0-arm64/wheel/./soco/plugins214copying build/lib/soco/plugins/sharelink.py -> build/bdist.macosx-14.0-arm64/wheel/./soco/plugins215copying build/lib/soco/events.py -> build/bdist.macosx-14.0-arm64/wheel/./soco216creating build/bdist.macosx-14.0-arm64/wheel/soco/music_services217copying build/lib/soco/music_services/accounts.py -> build/bdist.macosx-14.0-arm64/wheel/./soco/music_services218copying build/lib/soco/music_services/token_store.py -> build/bdist.macosx-14.0-arm64/wheel/./soco/music_services219copying build/lib/soco/music_services/__init__.py -> build/bdist.macosx-14.0-arm64/wheel/./soco/music_services220copying build/lib/soco/music_services/data_structures.py -> build/bdist.macosx-14.0-arm64/wheel/./soco/music_services221copying build/lib/soco/music_services/music_service.py -> build/bdist.macosx-14.0-arm64/wheel/./soco/music_services222copying build/lib/soco/xml.py -> build/bdist.macosx-14.0-arm64/wheel/./soco223copying build/lib/soco/soap.py -> build/bdist.macosx-14.0-arm64/wheel/./soco224copying build/lib/soco/cache.py -> build/bdist.macosx-14.0-arm64/wheel/./soco225copying build/lib/soco/__init__.py -> build/bdist.macosx-14.0-arm64/wheel/./soco226copying build/lib/soco/core.py -> build/bdist.macosx-14.0-arm64/wheel/./soco227copying build/lib/soco/groups.py -> build/bdist.macosx-14.0-arm64/wheel/./soco228copying build/lib/soco/data_structure_quirks.py -> build/bdist.macosx-14.0-arm64/wheel/./soco229copying build/lib/soco/events_base.py -> build/bdist.macosx-14.0-arm64/wheel/./soco230copying build/lib/soco/utils.py -> build/bdist.macosx-14.0-arm64/wheel/./soco231copying build/lib/soco/data_structures.py -> build/bdist.macosx-14.0-arm64/wheel/./soco232copying build/lib/soco/exceptions.py -> build/bdist.macosx-14.0-arm64/wheel/./soco233copying build/lib/soco/music_library.py -> build/bdist.macosx-14.0-arm64/wheel/./soco234copying build/lib/soco/alarms.py -> build/bdist.macosx-14.0-arm64/wheel/./soco235copying build/lib/soco/zonegroupstate.py -> build/bdist.macosx-14.0-arm64/wheel/./soco236copying build/lib/soco/events_asyncio.py -> build/bdist.macosx-14.0-arm64/wheel/./soco237copying build/lib/soco/snapshot.py -> build/bdist.macosx-14.0-arm64/wheel/./soco238running install_egg_info239running egg_info240writing soco.egg-info/PKG-INFO241writing dependency_links to soco.egg-info/dependency_links.txt242writing requirements to soco.egg-info/requires.txt243writing top-level names to soco.egg-info/top_level.txt244reading manifest file 'soco.egg-info/SOURCES.txt'245reading manifest template 'MANIFEST.in'246warning: no previously-included files matching '*.pyc' found under directory 'doc'247warning: no previously-included files matching '*.pyo' found under directory 'doc'248warning: no previously-included files matching '*.rej' found under directory 'doc'249warning: no previously-included files matching '*.orig' found under directory 'doc'250warning: no previously-included files matching '.DS_Store' found under directory 'doc'251no previously-included directories found matching 'doc/_build'252warning: no previously-included files matching '*.pyc' found under directory 'tests'253warning: no previously-included files matching '*.pyo' found under directory 'tests'254warning: no previously-included files matching '*.rej' found under directory 'tests'255warning: no previously-included files matching '*.orig' found under directory 'tests'256warning: no previously-included files matching '.DS_Store' found under directory 'tests'257warning: no previously-included files matching '*.pyc' found under directory 'examples'258warning: no previously-included files matching '*.pyo' found under directory 'examples'259warning: no previously-included files matching '*.rej' found under directory 'examples'260warning: no previously-included files matching '*.orig' found under directory 'examples'261warning: no previously-included files matching '.DS_Store' found under directory 'examples'262adding license file 'LICENSE.rst'263adding license file 'AUTHORS.rst'264writing manifest file 'soco.egg-info/SOURCES.txt'265Copying soco.egg-info to build/bdist.macosx-14.0-arm64/wheel/./soco-0.31.2-py3.14.egg-info266running install_scripts267creating build/bdist.macosx-14.0-arm64/wheel/soco-0.31.2.dist-info/WHEEL268creating '/nix/var/nix/builds/nix-96985-1466821955/source/dist/.tmp-_de92glp/soco-0.31.2-py3-none-any.whl' and adding 'build/bdist.macosx-14.0-arm64/wheel' to it269adding 'soco/__init__.py'270adding 'soco/alarms.py'271adding 'soco/cache.py'272adding 'soco/config.py'273adding 'soco/core.py'274adding 'soco/data_structure_quirks.py'275adding 'soco/data_structures.py'276adding 'soco/data_structures_entry.py'277adding 'soco/discovery.py'278adding 'soco/events.py'279adding 'soco/events_asyncio.py'280adding 'soco/events_base.py'281adding 'soco/events_twisted.py'282adding 'soco/exceptions.py'283adding 'soco/groups.py'284adding 'soco/ms_data_structures.py'285adding 'soco/music_library.py'286adding 'soco/services.py'287adding 'soco/snapshot.py'288adding 'soco/soap.py'289adding 'soco/utils.py'290adding 'soco/xml.py'291adding 'soco/zonegroupstate.py'292adding 'soco/music_services/__init__.py'293adding 'soco/music_services/accounts.py'294adding 'soco/music_services/data_structures.py'295adding 'soco/music_services/music_service.py'296adding 'soco/music_services/token_store.py'297adding 'soco/plugins/__init__.py'298adding 'soco/plugins/example.py'299adding 'soco/plugins/plex.py'300adding 'soco/plugins/sharelink.py'301adding 'soco/plugins/spotify.py'302adding 'soco/plugins/wimp.py'303adding 'soco-0.31.2.dist-info/licenses/AUTHORS.rst'304adding 'soco-0.31.2.dist-info/licenses/LICENSE.rst'305adding 'soco-0.31.2.dist-info/METADATA'306adding 'soco-0.31.2.dist-info/WHEEL'307adding 'soco-0.31.2.dist-info/top_level.txt'308adding 'soco-0.31.2.dist-info/RECORD'309removing build/bdist.macosx-14.0-arm64/wheel310Successfully built soco-0.31.2-py3-none-any.whl311Finished creating a wheel...312Finished executing pypaBuildPhase
pythonRuntimeDepsCheckHook
313Executing pythonRuntimeDepsCheck314Checking runtime dependencies for soco-0.31.2-py3-none-any.whl315Finished executing pythonRuntimeDepsCheck
installPhase
316Executing pypaInstallPhase317Successfully installed soco-0.31.2-py3-none-any.whl318Finished executing pypaInstallPhase
pythonOutputDistPhase
319Executing pythonOutputDistPhase320Finished executing pythonOutputDistPhase
fixupPhase
321checking for references to /nix/var/nix/builds/nix-96985-1466821955/ in /nix/store/bw3wshq0bzpxrfqymd34c1xihcwpmgjk-python3.14-soco-0.31.2...322patching script interpreter paths in /nix/store/bw3wshq0bzpxrfqymd34c1xihcwpmgjk-python3.14-soco-0.31.2323stripping (with command strip and flags -S) in /nix/store/bw3wshq0bzpxrfqymd34c1xihcwpmgjk-python3.14-soco-0.31.2/lib324checking for references to /nix/var/nix/builds/nix-96985-1466821955/ in /nix/store/0241ix1b59ljrl1mj9j900j89f7sc2ij-python3.14-soco-0.31.2-dist...325patching script interpreter paths in /nix/store/0241ix1b59ljrl1mj9j900j89f7sc2ij-python3.14-soco-0.31.2-dist326Executing pythonRemoveTestsDir327Finished executing pythonRemoveTestsDir
installCheckPhase
328no Makefile or custom installCheckPhase, doing nothing
pythonImportsCheckPhase
329Executing pythonImportsCheckPhase330Check whether the following modules can be imported: soco
pythonMetadataCheckPhase
331Executing pythonMetadataCheckPhase
pytestCheckPhase
332Executing pytestCheckPhase333pytest flags: -m pytest334============================= test session starts ==============================335platform darwin -- Python 3.14.7, pytest-9.1.1, pluggy-1.6.0 -- /nix/store/4l8r0s2r5fna7src82b5fc2hixdvfyw0-python3-3.14.7/bin/python3.14336cachedir: .pytest_cache337rootdir: /nix/var/nix/builds/nix-96985-1466821955/source338configfile: setup.cfg339plugins: asyncio-1.4.0, requests-mock-1.12.1340asyncio: mode=Mode.STRICT, debug=False, asyncio_default_fixture_loop_scope=None, asyncio_default_test_loop_scope=function341collected 334 items 342343tests/test_alarms.py::test_recurrence PASSED [ 0%]344tests/test_alarms.py::test_alarms PASSED [ 0%]345tests/test_alarms.py::test_alarms_skipped PASSED [ 0%]346tests/test_alarms.py::test_alarms_skipped_reuse_object_on_update PASSED [ 1%]347tests/test_alarms.py::test_save_raises_when_zone_is_none PASSED [ 1%]348tests/test_cache.py::test_instance_creation PASSED [ 1%]349tests/test_cache.py::test_cache_put_get PASSED [ 2%]350tests/test_cache.py::test_cache_clear_del PASSED [ 2%]351tests/test_cache.py::test_with_typical_args PASSED [ 2%]352tests/test_cache.py::test_cache_disable PASSED [ 2%]353tests/test_core.py::TestSoco::test_soco_bad_ip[not_ip] PASSED [ 3%]354tests/test_core.py::TestSoco::test_soco_bad_ip[555.555.555.555] PASSED [ 3%]355tests/test_core.py::TestSoco::test_soco_init PASSED [ 3%]356tests/test_core.py::TestSoco::test_soco_str PASSED [ 4%]357tests/test_core.py::TestSoco::test_soco_repr PASSED [ 4%]358tests/test_core.py::TestSoco::test_soco_is_soundbar[model_name0] PASSED [ 4%]359tests/test_core.py::TestSoco::test_soco_is_soundbar[model_name1] PASSED [ 5%]360tests/test_core.py::TestSoco::test_soco_is_soundbar[model_name2] PASSED [ 5%]361tests/test_core.py::TestSoco::test_soco_is_soundbar[model_name3] PASSED [ 5%]362tests/test_core.py::TestSoco::test_soco_is_soundbar[model_name4] PASSED [ 5%]363tests/test_core.py::TestSoco::test_soco_is_soundbar[model_name5] PASSED [ 6%]364tests/test_core.py::TestSoco::test_soco_is_soundbar[model_name6] PASSED [ 6%]365tests/test_core.py::TestSoco::test_soco_is_soundbar[model_name7] PASSED [ 6%]366tests/test_core.py::TestSoco::test_soco_get_speaker_info_speaker_not_set_refresh[None] PASSED [ 7%]367tests/test_core.py::TestSoco::test_soco_get_speaker_info_speaker_not_set_refresh[False] PASSED [ 7%]368tests/test_core.py::TestSoco::test_soco_get_speaker_info_speaker_not_set_refresh[True] PASSED [ 7%]369tests/test_core.py::TestSoco::test_soco_get_speaker_info_speaker_set_no_refresh[None] PASSED [ 8%]370tests/test_core.py::TestSoco::test_soco_get_speaker_info_speaker_set_no_refresh[False] PASSED [ 8%]371tests/test_core.py::TestSoco::test_soco_get_speaker_info_speaker_set_refresh[should0] PASSED [ 8%]372tests/test_core.py::TestSoco::test_soco_get_speaker_info_speaker_set_refresh[should1] PASSED [ 8%]373tests/test_core.py::TestSoco::test_soco_speech_enhance_mode PASSED [ 9%]374tests/test_core.py::TestAVTransport::test_soco_play_mode_values[NORMAL] PASSED [ 9%]375tests/test_core.py::TestAVTransport::test_soco_play_mode_values[SHUFFLE_NOREPEAT] PASSED [ 9%]376tests/test_core.py::TestAVTransport::test_soco_play_mode_values[SHUFFLE] PASSED [ 10%]377tests/test_core.py::TestAVTransport::test_soco_play_mode_values[REPEAT_ALL] PASSED [ 10%]378tests/test_core.py::TestAVTransport::test_soco_play_mode_values[SHUFFLE_REPEAT_ONE] PASSED [ 10%]379tests/test_core.py::TestAVTransport::test_soco_play_mode_values[REPEAT_ONE] PASSED [ 11%]380tests/test_core.py::TestAVTransport::test_soco_play_mode_bad_value PASSED [ 11%]381tests/test_core.py::TestAVTransport::test_soco_play_mode_lowercase PASSED [ 11%]382tests/test_core.py::TestAVTransport::test_available_actions PASSED [ 11%]383tests/test_core.py::TestAVTransport::test_soco_cross_fade2 PASSED [ 12%]384tests/test_core.py::TestAVTransport::test_soco_play PASSED [ 12%]385tests/test_core.py::TestAVTransport::test_soco_play_uri[x-file-cifs://server/MyNiceRing.mp3-x-file-cifs://server/MyNiceRing.mp3] PASSED [ 12%]386tests/test_core.py::TestAVTransport::test_soco_play_uri[http://archive.org/download/TenD2005-07-16t_64kb.mp3-http://archive.org/download/TenD2005-07-16t_64kb.mp3] PASSED [ 13%]387tests/test_core.py::TestAVTransport::test_soco_play_uri[x-sonosapi-radio:station%3a%3aps.147077612?sid=203&flags=76&sn=2-x-sonosapi-radio:station%3a%3aps.147077612?sid=203&flags=76&sn=2] PASSED [ 13%]388tests/test_core.py::TestAVTransport::test_soco_play_uri_force_radio[http://archive.org/download/TenD2005-07-16t_64kb.mp3-x-rincon-mp3radio://archive.org/download/TenD2005-07-16t_64kb.mp3] PASSED [ 13%]389tests/test_core.py::TestAVTransport::test_soco_play_uri_force_radio[https://archive.org/download/TenD2005-07-16t_64kb.mp3-x-rincon-mp3radio://archive.org/download/TenD2005-07-16t_64kb.mp3] PASSED [ 14%]390tests/test_core.py::TestAVTransport::test_soco_play_uri_force_radio[aac://icy-e-bz-04-cr.sharp-stream.com/magic1054.aac?amsparams=playerid:BMUK_tunein;skey:1483570441&awparams=loggedin:false-x-rincon-mp3radio://icy-e-bz-04-cr.sharp-stream.com/magic1054.aac?amsparams=playerid:BMUK_tunein;skey:1483570441&awparams=loggedin:false] PASSED [ 14%]391tests/test_core.py::TestAVTransport::test_soco_play_uri_calls_play PASSED [ 14%]392tests/test_core.py::TestAVTransport::test_soco_play_uri_timeout PASSED [ 14%]393tests/test_core.py::TestAVTransport::test_soco_play_uri_with_title PASSED [ 15%]394tests/test_core.py::TestAVTransport::test_soco_pause PASSED [ 15%]395tests/test_core.py::TestAVTransport::test_soco_stop PASSED [ 15%]396tests/test_core.py::TestAVTransport::test_soco_end_direct_control_session PASSED [ 16%]397tests/test_core.py::TestAVTransport::test_soco_next PASSED [ 16%]398tests/test_core.py::TestAVTransport::test_soco_previous PASSED [ 16%]399tests/test_core.py::TestAVTransport::test_soco_seek_invalid[NOT_VALID] PASSED [ 17%]400tests/test_core.py::TestAVTransport::test_soco_seek_invalid[12:34:56:78] PASSED [ 17%]401tests/test_core.py::TestAVTransport::test_soco_seek_invalid[99] PASSED [ 17%]402tests/test_core.py::TestAVTransport::test_soco_seek_invalid[12:3:4] PASSED [ 17%]403tests/test_core.py::TestAVTransport::test_soco_seek_valid[1:23:45] PASSED [ 18%]404tests/test_core.py::TestAVTransport::test_soco_seek_valid[10:23:45] PASSED [ 18%]405tests/test_core.py::TestAVTransport::test_soco_seek_valid[12:78:78] PASSED [ 18%]406tests/test_core.py::TestAVTransport::test_soco_current_transport_info PASSED [ 19%]407tests/test_core.py::TestAVTransport::test_soco_get_queue PASSED [ 19%]408tests/test_core.py::TestAVTransport::test_soco_queue_size PASSED [ 19%]409tests/test_core.py::TestAVTransport::test_join PASSED [ 20%]410tests/test_core.py::TestAVTransport::test_join_timeout PASSED [ 20%]411tests/test_core.py::TestAVTransport::test_unjoin PASSED [ 20%]412tests/test_core.py::TestAVTransport::test_unjoin_timeout PASSED [ 20%]413tests/test_core.py::TestAVTransport::test_switch_to_line_in PASSED [ 21%]414tests/test_core.py::TestAVTransport::test_switch_to_tv PASSED [ 21%]415tests/test_core.py::TestAVTransport::test_is_playing_tv PASSED [ 21%]416tests/test_core.py::TestAVTransport::test_is_playing_radio PASSED [ 22%]417tests/test_core.py::TestAVTransport::test_is_playing_line_in PASSED [ 22%]418tests/test_core.py::TestAVTransport::test_create_sonos_playlist PASSED [ 22%]419tests/test_core.py::TestAVTransport::test_create_sonos_playlist_from_queue PASSED [ 23%]420tests/test_core.py::TestAVTransport::test_add_item_to_sonos_playlist PASSED [ 23%]421tests/test_core.py::TestAVTransport::test_soco_cross_fade PASSED [ 23%]422tests/test_core.py::TestAVTransport::test_shuffle PASSED [ 23%]423tests/test_core.py::TestAVTransport::test_repeat PASSED [ 24%]424tests/test_core.py::TestAVTransport::test_set_sleep_timer PASSED [ 24%]425tests/test_core.py::TestAVTransport::test_set_sleep_timer_bad_sleep_time[BadTime] PASSED [ 24%]426tests/test_core.py::TestAVTransport::test_set_sleep_timer_bad_sleep_time[00:43:23] PASSED [ 25%]427tests/test_core.py::TestAVTransport::test_set_sleep_timer_bad_sleep_time[4200s] PASSED [ 25%]428tests/test_core.py::TestAVTransport::test_set_sleep_timer_bad_sleep_time[] PASSED [ 25%]429tests/test_core.py::TestAVTransport::test_get_sleep_timer PASSED [ 26%]430tests/test_core.py::TestContentDirectory::test_remove_sonos_playlist_success PASSED [ 26%]431tests/test_core.py::TestRenderingControl::test_soco_mute PASSED [ 26%]432tests/test_core.py::TestRenderingControl::test_soco_volume[1] PASSED [ 26%]433tests/test_core.py::TestRenderingControl::test_soco_volume[4] PASSED [ 27%]434tests/test_core.py::TestRenderingControl::test_soco_volume[10] PASSED [ 27%]435tests/test_core.py::TestRenderingControl::test_soco_volume[100] PASSED [ 27%]436tests/test_core.py::TestRenderingControl::test_soco_ramp_to_volume PASSED [ 28%]437tests/test_core.py::TestRenderingControl::test_set_relative_volume PASSED [ 28%]438tests/test_core.py::TestRenderingControl::test_soco_treble PASSED [ 28%]439tests/test_core.py::TestRenderingControl::test_soco_loudness PASSED [ 29%]440tests/test_core.py::TestRenderingControl::test_soco_trueplay PASSED [ 29%]441tests/test_core.py::TestRenderingControl::test_soco_soundbar_audio_input_format PASSED [ 29%]442tests/test_core.py::TestRenderingControl::test_soco_audio_delay PASSED [ 29%]443tests/test_core.py::TestRenderingControl::test_soco_fixed_volume PASSED [ 30%]444tests/test_core.py::TestRenderingControl::test_soco_balance PASSED [ 30%]445tests/test_core.py::TestRenderingControl::test_soco_surround_settings[surround_enabled-SurroundEnable-bool-None-None] PASSED [ 30%]446tests/test_core.py::TestRenderingControl::test_soco_surround_settings[surround_full_volume_enabled-SurroundMode-bool-None-None] PASSED [ 31%]447tests/test_core.py::TestRenderingControl::test_soco_surround_settings[surround_volume_tv-SurroundLevel-int--15-15] PASSED [ 31%]448tests/test_core.py::TestRenderingControl::test_soco_surround_settings[surround_volume_music-MusicSurroundLevel-int--15-15] PASSED [ 31%]449tests/test_core.py::TestDeviceProperties::test_soco_status_light PASSED [ 32%]450tests/test_core.py::TestDeviceProperties::test_buttons_enabled PASSED [ 32%]451tests/test_core.py::TestDeviceProperties::test_soco_set_player_name PASSED [ 32%]452tests/test_core.py::TestDeviceProperties::test_create_stereo_pair PASSED [ 32%]453tests/test_core.py::TestDeviceProperties::test_separate_stereo_pair PASSED [ 33%]454tests/test_core.py::TestDeviceProperties::test_add_satellite_speakers PASSED [ 33%]455tests/test_core.py::TestDeviceProperties::test_add_satellite_speakers_not_soundbar PASSED [ 33%]456tests/test_core.py::TestDeviceProperties::test_separate_satellite_speakers PASSED [ 34%]457tests/test_core.py::TestDeviceProperties::test_separate_satellite_speakers_not_soundbar PASSED [ 34%]458tests/test_core.py::TestDeviceProperties::test_get_battery_info PASSED [ 34%]459tests/test_core.py::TestZoneGroupTopology::test_soco_uid PASSED [ 35%]460tests/test_core.py::TestZoneGroupTopology::test_soco_is_visible PASSED [ 35%]461tests/test_core.py::TestZoneGroupTopology::test_soco_is_bridge PASSED [ 35%]462tests/test_core.py::TestZoneGroupTopology::test_soco_is_coordinator PASSED [ 35%]463tests/test_core.py::TestZoneGroupTopology::test_boot_seqnum PASSED [ 36%]464tests/test_core.py::TestZoneGroupTopology::test_all_groups PASSED [ 36%]465tests/test_core.py::TestZoneGroupTopology::test_all_groups_have_coordinator PASSED [ 36%]466tests/test_core.py::TestZoneGroupTopology::test_group PASSED [ 37%]467tests/test_core.py::TestZoneGroupTopology::test_all_zones PASSED [ 37%]468tests/test_core.py::TestZoneGroupTopology::test_visible_zones PASSED [ 37%]469tests/test_core.py::TestZoneGroupTopology::test_group_label PASSED [ 38%]470tests/test_core.py::TestZoneGroupTopology::test_group_short_label PASSED [ 38%]471tests/test_core.py::TestZoneGroupTopology::test_group_volume PASSED [ 38%]472tests/test_core.py::TestZoneGroupTopology::test_group_mute PASSED [ 38%]473tests/test_core.py::TestZoneGroupTopology::test_set_relative_group_volume PASSED [ 39%]474tests/test_core.py::TestZoneGroupTopology::test_mic_enabled PASSED [ 39%]475tests/test_core.py::test_only_on_master_true PASSED [ 39%]476tests/test_core.py::test_not_on_master_false PASSED [ 40%]477tests/test_data_structures_entry_integration.py::test_items[DidlMusicTrack] PASSED [ 40%]478tests/test_data_structures_entry_integration.py::test_items[DidlMusicAlbum] PASSED [ 40%]479tests/test_data_structures_entry_integration.py::test_items[DidlMusicArtist] PASSED [ 41%]480tests/test_data_structures_entry_integration.py::test_items[DidlMusicGenre] PASSED [ 41%]481tests/test_data_structures_entry_integration.py::test_items[DidlContainer] PASSED [ 41%]482tests/test_data_structures_entry_integration.py::test_items[DidlPlaylistContainer] PASSED [ 41%]483tests/test_data_structures_entry_integration.py::test_items[DidlAudioBroadcast] PASSED [ 42%]484tests/test_data_structures_entry_integration.py::test_vendor_extended_didl_class[DidlRecentShow] PASSED [ 42%]485tests/test_data_structures_entry_integration.py::test_vendor_extended_didl_class[DidlMusicAlbumFavorite] PASSED [ 42%]486tests/test_data_structures_entry_integration.py::test_vendor_extended_didl_class[DidlMusicAlbumCompilation] PASSED [ 43%]487tests/test_data_structures_entry_integration.py::test_vendor_extended_didl_class[DidlComposer] PASSED [ 43%]488tests/test_data_structures_entry_integration.py::test_vendor_extended_didl_class[DidlAlbumList] PASSED [ 43%]489tests/test_data_structures_entry_integration.py::test_vendor_extended_didl_class[DidlSameArtist] PASSED [ 44%]490tests/test_data_structures_entry_integration.py::test_vendor_extended_didl_class[DidlPlaylistContainerFavorite] PASSED [ 44%]491tests/test_data_structures_entry_integration.py::test_vendor_extended_didl_class[DidlPlaylistContainerTracklist] PASSED [ 44%]492tests/test_data_structures_entry_integration.py::test_vendor_extended_didl_class[DidlRadioShow] PASSED [ 44%]493tests/test_data_structures_entry_integration.py::test_from_didl_string_missing_upnp_class_raises PASSED [ 45%]494tests/test_discovery.py::TestDiscover::test_discover PASSED [ 45%]495tests/test_discovery.py::test_by_name PASSED [ 45%]496tests/test_discovery.py::test__find_ipv4_networks PASSED [ 46%]497tests/test_discovery.py::test__find_ipv4_addresses PASSED [ 46%]498tests/test_discovery.py::test__check_ip_and_port PASSED [ 46%]499tests/test_discovery.py::test__is_sonos PASSED [ 47%]500tests/test_discovery.py::test__sonos_scan_worker_thread PASSED [ 47%]501tests/test_discovery.py::test_scan_network PASSED [ 47%]502tests/test_events.py::test_event_object PASSED [ 47%]503tests/test_events.py::test_event_parsing PASSED [ 48%]504tests/test_events.py::test_event_parsing_linein PASSED [ 48%]505tests/test_events.py::test_event_parsing_null_value PASSED [ 48%]506tests/test_events_asyncio.py::test_async_stop_tolerates_closed_socket PASSED [ 49%]507tests/test_events_asyncio.py::test_stop_listening_swallows_task_exception PASSED [ 49%]508tests/test_events_asyncio.py::test_async_start_cancels_pending_deferred_stop_and_resumes PASSED [ 49%]509tests/test_events_asyncio.py::test_deferred_stop_runs_when_grace_expires_and_count_zero PASSED [ 50%]510tests/test_events_asyncio.py::test_deferred_stop_aborts_when_subscription_appears_in_grace PASSED [ 50%]511tests/test_events_asyncio.py::test_async_stop_idempotent_under_parallel_calls PASSED [ 50%]512tests/test_integration.py::TestVolume::test_get_and_set SKIPPED (use...) [ 50%]513tests/test_integration.py::TestVolume::test_invalid_arguments SKIPPED [ 51%]514tests/test_integration.py::TestVolume::test_set_0 SKIPPED (use --ip ...) [ 51%]515tests/test_integration.py::TestBass::test_get_and_set SKIPPED (use -...) [ 51%]516tests/test_integration.py::TestBass::test_invalid_arguments SKIPPED [ 52%]517tests/test_integration.py::TestTreble::test_get_and_set SKIPPED (use...) [ 52%]518tests/test_integration.py::TestTreble::test_invalid_arguments SKIPPED [ 52%]519tests/test_integration.py::TestMute::test SKIPPED (use --ip and an i...) [ 52%]520tests/test_integration.py::TestGetCurrentTransportInfo::test SKIPPED [ 53%]521tests/test_integration.py::TestTransport::test_pause_and_play SKIPPED [ 53%]522tests/test_integration.py::TestTransport::test_stop SKIPPED (use --i...) [ 53%]523tests/test_integration.py::TestTransport::test_seek_valid SKIPPED (u...) [ 54%]524tests/test_integration.py::TestTransport::test_seek_invald SKIPPED (...) [ 54%]525tests/test_integration.py::TestGetCurrentTrackInfo::test_get SKIPPED [ 54%]526tests/test_integration.py::TestGetCurrentMediaInfo::test_get SKIPPED [ 55%]527tests/test_integration.py::TestGetSpeakerInfo::test SKIPPED (use --i...) [ 55%]528tests/test_integration.py::TestGetQueue::test_get SKIPPED (use --ip ...) [ 55%]529tests/test_integration.py::TestAddToQueue::test_add_to_queue SKIPPED [ 55%]530tests/test_integration.py::TestRemoveFromQueue::test SKIPPED (use --...) [ 56%]531tests/test_integration.py::TestSonosPlaylist::test_create SKIPPED (u...) [ 56%]532tests/test_integration.py::TestSonosPlaylist::test_create_from_queue SKIPPED [ 56%]533tests/test_integration.py::TestSonosPlaylist::test_remove_playlist SKIPPED [ 57%]534tests/test_integration.py::TestSonosPlaylist::test_remove_playlist_itemid SKIPPED [ 57%]535tests/test_integration.py::TestSonosPlaylist::test_remove_playlist_bad_id SKIPPED [ 57%]536tests/test_integration.py::TestTimer::test_get_set_timer SKIPPED (us...) [ 58%]537tests/test_integration.py::TestReorderSonosPlaylist::test_reverse_track_order SKIPPED [ 58%]538tests/test_integration.py::TestReorderSonosPlaylist::test_swap_first_two_items SKIPPED [ 58%]539tests/test_integration.py::TestReorderSonosPlaylist::test_remove_first_track SKIPPED [ 58%]540tests/test_integration.py::TestReorderSonosPlaylist::test_remove_first_track_full SKIPPED [ 59%]541tests/test_integration.py::TestReorderSonosPlaylist::test_remove_last_track SKIPPED [ 59%]542tests/test_integration.py::TestReorderSonosPlaylist::test_remove_between_track SKIPPED [ 59%]543tests/test_integration.py::TestReorderSonosPlaylist::test_remove_some_tracks SKIPPED [ 60%]544tests/test_integration.py::TestReorderSonosPlaylist::test_remove_all_tracks SKIPPED [ 60%]545tests/test_integration.py::TestReorderSonosPlaylist::test_reorder_and_remove_track SKIPPED [ 60%]546tests/test_integration.py::TestReorderSonosPlaylist::test_object_id_is_object SKIPPED [ 61%]547tests/test_integration.py::TestReorderSonosPlaylist::test_remove_all_string SKIPPED [ 61%]548tests/test_integration.py::TestReorderSonosPlaylist::test_remove_and_reorder_string SKIPPED [ 61%]549tests/test_integration.py::TestReorderSonosPlaylist::test_move_track_string SKIPPED [ 61%]550tests/test_integration.py::TestReorderSonosPlaylist::test_move_track_int SKIPPED [ 62%]551tests/test_integration.py::TestReorderSonosPlaylist::test_clear_sonos_playlist SKIPPED [ 62%]552tests/test_integration.py::TestReorderSonosPlaylist::test_clear_empty_sonos_playlist SKIPPED [ 62%]553tests/test_integration.py::TestReorderSonosPlaylist::test_move_in_sonos_playlist SKIPPED [ 63%]554tests/test_integration.py::TestReorderSonosPlaylist::test_remove_from_sonos_playlist SKIPPED [ 63%]555tests/test_integration.py::TestReorderSonosPlaylist::test_get_sonos_playlist_by_attr SKIPPED [ 63%]556tests/test_integration.py::TestMusicLibrary::test_from_specific_search_methods[artists] SKIPPED [ 64%]557tests/test_integration.py::TestMusicLibrary::test_from_specific_search_methods[album_artists] SKIPPED [ 64%]558tests/test_integration.py::TestMusicLibrary::test_from_specific_search_methods[albums] SKIPPED [ 64%]559tests/test_integration.py::TestMusicLibrary::test_from_specific_search_methods[genres] SKIPPED [ 64%]560tests/test_integration.py::TestMusicLibrary::test_from_specific_search_methods[composers] SKIPPED [ 65%]561tests/test_integration.py::TestMusicLibrary::test_from_specific_search_methods[tracks] SKIPPED [ 65%]562tests/test_integration.py::TestMusicLibrary::test_from_specific_search_methods[playlists] SKIPPED [ 65%]563tests/test_integration.py::TestMusicLibrary::test_from_specific_search_methods[sonos_favorites] SKIPPED [ 66%]564tests/test_integration.py::TestMusicLibrary::test_from_specific_search_methods[favorite_radio_stations] SKIPPED [ 66%]565tests/test_integration.py::TestMusicLibrary::test_from_specific_search_methods[favorite_radio_shows] SKIPPED [ 66%]566tests/test_integration.py::TestMusicLibrary::test_music_library_information[artists] SKIPPED [ 67%]567tests/test_integration.py::TestMusicLibrary::test_music_library_information[album_artists] SKIPPED [ 67%]568tests/test_integration.py::TestMusicLibrary::test_music_library_information[albums] SKIPPED [ 67%]569tests/test_integration.py::TestMusicLibrary::test_music_library_information[genres] SKIPPED [ 67%]570tests/test_integration.py::TestMusicLibrary::test_music_library_information[composers] SKIPPED [ 68%]571tests/test_integration.py::TestMusicLibrary::test_music_library_information[tracks] SKIPPED [ 68%]572tests/test_integration.py::TestMusicLibrary::test_music_library_information[playlists] SKIPPED [ 68%]573tests/test_integration.py::TestMusicLibrary::test_music_library_information[share] SKIPPED [ 69%]574tests/test_integration.py::TestMusicLibrary::test_music_library_information[sonos_playlists] SKIPPED [ 69%]575tests/test_integration.py::TestMusicLibrary::test_music_library_information[categories] SKIPPED [ 69%]576tests/test_integration.py::TestMusicLibrary::test_music_library_information[sonos_favorites] SKIPPED [ 70%]577tests/test_integration.py::TestMusicLibrary::test_music_library_information[radio_stations] SKIPPED [ 70%]578tests/test_integration.py::TestMusicLibrary::test_music_library_information[radio_shows] SKIPPED [ 70%]579tests/test_metadata_parsing.py::test_metadata_parsing PASSED [ 70%]580tests/test_ms_data_structures.py::test_ms_track_search PASSED [ 71%]581tests/test_ms_data_structures.py::test_ms_album_search PASSED [ 71%]582tests/test_ms_data_structures.py::test_ms_artist_search PASSED [ 71%]583tests/test_ms_data_structures.py::test_ms_playlist_search PASSED [ 72%]584tests/test_music_library.py::TestMusicLibrary::test_search_track_no_result PASSED [ 72%]585tests/test_music_library.py::TestMusicLibrary::test_search_track_no_artist_album_track PASSED [ 72%]586tests/test_music_library.py::TestMusicLibrary::test_search_track_artist_albums PASSED [ 73%]587tests/test_music_library.py::TestMusicLibrary::test_search_track_artist_album_tracks PASSED [ 73%]588tests/test_music_library.py::TestMusicLibrary::test_soco_library_updating PASSED [ 73%]589tests/test_music_library.py::TestMusicLibrary::test_soco_start_library_update PASSED [ 73%]590tests/test_music_library.py::TestMusicLibrary::test_soco_list_library_shares PASSED [ 74%]591tests/test_music_library.py::TestMusicLibrary::test_soco_delete_library_share PASSED [ 74%]592tests/test_music_library.py::TestMusicLibrary::test_get_albums_for_artist_includes_subclasses PASSED [ 74%]593tests/test_music_service_data_structures.py::test_get_class PASSED [ 75%]594tests/test_music_service_data_structures.py::test_parse_response[response0-correct0] PASSED [ 75%]595tests/test_music_service_data_structures.py::test_parse_response[response1-correct1] PASSED [ 75%]596tests/test_music_service_data_structures.py::test_parse_response[response2-correct2] PASSED [ 76%]597tests/test_music_service_data_structures.py::test_parse_response_plain_dict_fields PASSED [ 76%]598tests/test_music_service_data_structures.py::test_parse_response_bad_type PASSED [ 76%]599tests/test_music_service_data_structures.py::test_form_uri PASSED [ 76%]600tests/test_music_service_data_structures.py::test_bool_str PASSED [ 77%]601tests/test_music_service_data_structures.py::TestMetadataDictBase::test_init PASSED [ 77%]602tests/test_music_service_data_structures.py::TestMetadataDictBase::test_conversion PASSED [ 77%]603tests/test_music_service_data_structures.py::TestMetadataDictBase::test_get_attr PASSED [ 78%]604tests/test_music_service_data_structures.py::TestMusicServiceItem::test_init PASSED [ 78%]605tests/test_music_service_data_structures.py::TestMusicServiceItem::test_from_music_service PASSED [ 78%]606tests/test_music_service_data_structures.py::TestMusicServiceItem::test_str_ PASSED [ 79%]607tests/test_music_service_data_structures.py::TestMusicServiceItem::test_to_element PASSED [ 79%]608tests/test_musicservices.py::test_initialise_account PASSED [ 79%]609tests/test_musicservices.py::test_get_all_accounts PASSED [ 79%]610tests/test_musicservices.py::test_get_accounts_for_service PASSED [ 80%]611tests/test_musicservices.py::test_initialise_services PASSED [ 80%]612tests/test_musicservices.py::test_get_data_for_name PASSED [ 80%]613tests/test_musicservices.py::test_get_names PASSED [ 81%]614tests/test_musicservices.py::test_create_music_service PASSED [ 81%]615tests/test_musicservices.py::test_tunein PASSED [ 81%]616tests/test_musicservices.py::test_search PASSED [ 82%]617tests/test_musicservices.py::test_sonos_uri_from_id PASSED [ 82%]618tests/test_musicservices.py::test_desc PASSED [ 82%]619tests/test_new_datastructures.py::TestResource::test_create_didl_resource_with_no_params PASSED [ 82%]620tests/test_new_datastructures.py::TestResource::test_create_didl_resource PASSED [ 83%]621tests/test_new_datastructures.py::TestResource::test_create_didl_resource_to_from_element PASSED [ 83%]622tests/test_new_datastructures.py::TestResource::test_didl_resource_to_dict PASSED [ 83%]623tests/test_new_datastructures.py::TestResource::test_didl_resource_to_dict_remove_nones PASSED [ 84%]624tests/test_new_datastructures.py::TestResource::test_didl_resource_from_dict PASSED [ 84%]625tests/test_new_datastructures.py::TestResource::test_didl_resource_from_dict_remove_nones PASSED [ 84%]626tests/test_new_datastructures.py::TestResource::test_didl_resource_eq PASSED [ 85%]627tests/test_new_datastructures.py::TestDidlObject::test_create_didl_object_with_no_params PASSED [ 85%]628tests/test_new_datastructures.py::TestDidlObject::test_create_didl_object_with_disallowed_params PASSED [ 85%]629tests/test_new_datastructures.py::TestDidlObject::test_create_didl_object_with_good_params PASSED [ 85%]630tests/test_new_datastructures.py::TestDidlObject::test_didl_object_from_wrong_element PASSED [ 86%]631tests/test_new_datastructures.py::TestDidlObject::test_didl_object_from_element PASSED [ 86%]632tests/test_new_datastructures.py::TestDidlObject::test_didl_object_from_element_unoff_subelement PASSED [ 86%]633tests/test_new_datastructures.py::TestDidlObject::test_didl_object_from_wrong_class PASSED [ 87%]634tests/test_new_datastructures.py::TestDidlObject::test_didl_object_from_dict PASSED [ 87%]635tests/test_new_datastructures.py::TestDidlObject::test_didl_object_from_dict_resources PASSED [ 87%]636tests/test_new_datastructures.py::TestDidlObject::test_didl_object_from_dict_resources_remove_nones PASSED [ 88%]637tests/test_new_datastructures.py::TestDidlObject::test_didl_comparisons PASSED [ 88%]638tests/test_new_datastructures.py::TestDidlObject::test_didl_object_to_dict PASSED [ 88%]639tests/test_new_datastructures.py::TestDidlObject::test_didl_object_to_dict_resources PASSED [ 88%]640tests/test_new_datastructures.py::TestDidlObject::test_didl_object_to_dict_resources_remove_nones PASSED [ 89%]641tests/test_new_datastructures.py::TestDidlObject::test_didl_object_to_element PASSED [ 89%]642tests/test_new_datastructures.py::test_didl_object_inheritance PASSED [ 89%]643tests/test_new_datastructures.py::test_didl_class_to_soco_class_none_raises PASSED [ 90%]644tests/test_new_datastructures.py::TestDidlFavorite::test_reference_returns_referenced_object PASSED [ 90%]645tests/test_new_datastructures.py::TestDidlFavorite::test_reference_setter_round_trips PASSED [ 90%]646tests/test_new_datastructures.py::TestDidlFavorite::test_reference_without_resource_meta_data_raises PASSED [ 91%]647tests/test_new_datastructures.py::TestDidlFavorite::test_reference_with_empty_resource_meta_data_raises PASSED [ 91%]648tests/test_new_datastructures.py::test_didl_class_to_soco_class_generated_class_has_docstring PASSED [ 91%]649tests/test_services.py::test_init_defaults PASSED [ 91%]650tests/test_services.py::test_method_dispatcher_function_creation PASSED [ 92%]651tests/test_services.py::test_method_dispatcher_arg_count PASSED [ 92%]652tests/test_services.py::test_wrap PASSED [ 92%]653tests/test_services.py::test_unwrap PASSED [ 93%]654tests/test_services.py::test_unwrap_invalid_char PASSED [ 93%]655tests/test_services.py::test_compose PASSED [ 93%]656tests/test_services.py::test_build_command PASSED [ 94%]657tests/test_services.py::test_send_command PASSED [ 94%]658tests/test_services.py::test_build_command_content_directory PASSED [ 94%]659tests/test_services.py::test_handle_upnp_error PASSED [ 94%]660tests/test_services.py::test_handle_upnp_error_with_no_error_code PASSED [ 95%]661tests/test_services.py::test_handle_upnp_error_with_empty_response PASSED [ 95%]662tests/test_singleton.py::test_singleton PASSED [ 95%]663tests/test_singleton.py::test_singleton_inherit PASSED [ 96%]664tests/test_singleton.py::test_class_group_singleton PASSED [ 96%]665tests/test_singleton.py::test_soco_reset_clears_instances PASSED [ 96%]666tests/test_snapshot.py::test_restore_queue_calls_add_uri_to_queue PASSED [ 97%]667tests/test_snapshot.py::test_restore_queue_http_uri PASSED [ 97%]668tests/test_snapshot.py::test_restore_queue_skipped_when_none PASSED [ 97%]669tests/test_soap.py::test_init PASSED [ 97%]670tests/test_soap.py::test_prepare_headers PASSED [ 98%]671tests/test_soap.py::test_prepare_soap_header PASSED [ 98%]672tests/test_soap.py::test_prepare_soap_body PASSED [ 98%]673tests/test_soap.py::test_prepare PASSED [ 99%]674tests/test_soap.py::test_call PASSED [ 99%]675tests/test_utils.py::test_deprecation PASSED [ 99%]676tests/test_xml.py::test_ns_tag PASSED [100%]677678=============================== warnings summary ===============================679tests/conftest.py:113: 16 warnings680tests/test_events.py: 1 warning681 /nix/var/nix/builds/nix-96985-1466821955/source/tests/conftest.py:113: DeprecationWarning: codecs.open() is deprecated. Use open() instead.682 with codecs.open(path.join(self.data_dir, filename), encoding="utf-8") as file_:683684../../../../../store/gc3636lzigd9yjiv4yqadw95l57cd4la-python3.14-pytest-9.1.1/lib/python3.14/site-packages/_pytest/python.py:124685 /nix/store/gc3636lzigd9yjiv4yqadw95l57cd4la-python3.14-pytest-9.1.1/lib/python3.14/site-packages/_pytest/python.py:124: PytestRemovedIn10Warning: Passing a non-Collection iterable to parametrize is deprecated.686 Test: tests/test_music_service_data_structures.py::test_parse_response, argvalues type: zip687 Please convert to a list or tuple.688 See https://docs.pytest.org/en/stable/deprecations.html#parametrize-iterators689 metafunc.parametrize(*marker.args, **marker.kwargs, _param_mark=marker)690691-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html692=========================== short test summary info ============================693SKIPPED [67] tests/conftest.py:70: use --ip and an ip address to run integration tests.694================ 267 passed, 67 skipped, 18 warnings in 16.89s =================695Finished executing pytestCheckPhase