Adds support for Pioneer AVR interface port number (#3878)
* Adds support for Pioneer AVR interface port number https://community.home-assistant.io/t/support-for-pioneer-avr/503 telnetlib supports a port number so adding port as an optional config element with a default of 23 resolves this. * Adds timeout to Pioneer AVR timeout in telnetlib defaults to socket._GLOBAL_DEFAULT_TIMEOUT which is not a value, but rather a bare Object used for comparison. telnetlib says the following about the timeout optional argument: "The optional timeout parameter specifies a timeout in seconds for blocking operations like the connection attempt (if not specified, the global default timeout setting will be used)." From the documentation for sockets: "Sockets are by default always created in blocking mode" Catching connect and timeout errors, logging to debug and continuing. * Catches timeout exceptions, logs and continues.
This commit is contained in:
parent
ca6fa1313e
commit
57777ef79a
3 changed files with 76 additions and 10 deletions
|
@ -3,6 +3,7 @@ from collections import OrderedDict
|
|||
from datetime import timedelta
|
||||
import enum
|
||||
import os
|
||||
from socket import _GLOBAL_DEFAULT_TIMEOUT
|
||||
|
||||
import pytest
|
||||
import voluptuous as vol
|
||||
|
@ -436,3 +437,22 @@ def test_enum():
|
|||
schema('value3')
|
||||
|
||||
TestEnum['value1']
|
||||
|
||||
|
||||
def test_socket_timeout():
|
||||
"""Test socket timeout validator."""
|
||||
TEST_CONF_TIMEOUT = 'timeout'
|
||||
|
||||
schema = vol.Schema(
|
||||
{vol.Required(TEST_CONF_TIMEOUT, default=None): cv.socket_timeout})
|
||||
|
||||
with pytest.raises(vol.Invalid):
|
||||
schema({TEST_CONF_TIMEOUT: 0.0})
|
||||
|
||||
with pytest.raises(vol.Invalid):
|
||||
schema({TEST_CONF_TIMEOUT: -1})
|
||||
|
||||
assert _GLOBAL_DEFAULT_TIMEOUT == schema({TEST_CONF_TIMEOUT:
|
||||
None})[TEST_CONF_TIMEOUT]
|
||||
|
||||
assert 1.0 == schema({TEST_CONF_TIMEOUT: 1})[TEST_CONF_TIMEOUT]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue