Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Catch samsungtv websocket exceptions #28849

Merged
merged 6 commits into from Nov 25, 2019
Merged

Catch samsungtv websocket exceptions #28849

merged 6 commits into from Nov 25, 2019

Conversation

@escoand
Copy link
Contributor

escoand commented Nov 18, 2019

Breaking Change:

None

Description:

Catch websocket exceptions and assume state OFF

Related issue (if applicable): fixes #28842

Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#<home-assistant.io PR number goes here>

Example entry for configuration.yaml (if applicable):

Checklist:

  • The code change is tested and works locally.
  • Local tests pass with tox. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
  • Untested files have been added to .coveragerc.

If the code does not interact with devices:

  • Tests have been added to verify that the new code works.
@fermulator

This comment has been minimized.

Copy link

fermulator commented Nov 18, 2019

The patch looks good to me. To what degree of testing does it need to undergo before we deliver?

" The code change is tested and works locally."

(per my notes in the issue, validation of crash NOT happening would have to be several months statistically)

@MartinHjelmare MartinHjelmare changed the title catch websocket exceptions Catch samsungtv websocket exceptions Nov 20, 2019
Copy link
Member

MartinHjelmare left a comment

Please update the import.

homeassistant/components/samsungtv/media_player.py Outdated Show resolved Hide resolved
@MartinHjelmare MartinHjelmare added this to Review in progress in Dev Nov 20, 2019
Copy link

fermulator left a comment

some of my comments got lost I guess, reposting:

(might want to start some comments explaining example scenarios where/why these exceptions can occur) -- on the except lines

Do we have any UTs that can be added?
yeah - https://github.com/home-assistant/home-assistant/blob/dev/tests/components/samsungtv/test_media_player.py, we should definitely add a new test that patches get_remote() to throw a WebSocketTimeoutException

homeassistant/components/samsungtv/media_player.py Outdated Show resolved Hide resolved
homeassistant/components/samsungtv/media_player.py Outdated Show resolved Hide resolved
Dev automation moved this from Review in progress to Reviewer approved Nov 21, 2019
escoand added 3 commits Nov 21, 2019
@escoand

This comment has been minimized.

Copy link
Contributor Author

escoand commented Nov 21, 2019

@fermulator Moved the catch to the retry loop. When thinking of timed out connection it makes more sense to retry. Plus added comments and test.

@cgtobi
cgtobi approved these changes Nov 25, 2019
@cgtobi cgtobi merged commit 430f7bd into home-assistant:dev Nov 25, 2019
11 checks passed
11 checks passed
CI #20191121.22 succeeded
Details
CI (FullCheck Mypy) FullCheck Mypy succeeded
Details
CI (FullCheck Pylint) FullCheck Pylint succeeded
Details
CI (Overview CheckFormat) Overview CheckFormat succeeded
Details
CI (Overview Lint) Overview Lint succeeded
Details
CI (Overview Validate) Overview Validate succeeded
Details
CI (Tests PyTest Python36) Tests PyTest Python36 succeeded
Details
CI (Tests PyTest Python37) Tests PyTest Python37 succeeded
Details
cla-bot Everyone involved has signed the CLA
codecov/patch 100% of diff hit (target 94.44%)
Details
codecov/project 94.47% (target 90%)
Details
Dev automation moved this from Reviewer approved to Done Nov 25, 2019
@lock lock bot locked and limited conversation to collaborators Nov 26, 2019
@escoand escoand deleted the escoand:patch-2 branch Nov 28, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Dev
  
Done
6 participants
You can’t perform that action at this time.