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

Warn on incomplete concrete classes that inherit from abstract classes #7955

Open
wants to merge 31 commits into
base: main
Choose a base branch
from

Conversation

sshane
Copy link

@sshane sshane commented Dec 17, 2022

Fixes: #7950

TODO:

  • Update test refs
  • Make it detect the root abc module correctly

@Pierre-Sassoulas Pierre-Sassoulas added the False Negative 🦋 No message is emitted but something is wrong with the code label Dec 17, 2022
@Pierre-Sassoulas Pierre-Sassoulas modified the milestones: 2.16.0, 2.17.0 Dec 17, 2022
@sshane sshane changed the title Warn on concrete classes that inherit from abstract classes Warn on incomplete concrete classes that inherit from abstract classes Dec 17, 2022
@github-actions

This comment has been minimized.

pylint/checkers/utils.py Outdated Show resolved Hide resolved
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@sshane
Copy link
Author

sshane commented Jan 1, 2023

Updated the test refs, but I'm not sure they're right. I'm getting lots of diffs for a lot of tests. Running pylint built from main on Windows 11 (astroid-2.12.13 pylint-2.16.0.dev0).

It appears I'm getting the correct output with Ubuntu 20.04, but python test_functional.py --update-functional-output is not writing any changes even though this test fails still. 🤔

@sshane sshane marked this pull request as ready for review January 1, 2023 01:20
@sshane
Copy link
Author

sshane commented Jan 1, 2023

Should be good now, let me know if there's any issues @DanielNoord! I had to add a print into the tester to get the results :/

@sshane
Copy link
Author

sshane commented Jan 11, 2023

For whatever reason, both Python 3.8 and 3.10 do not work to update the abstract method file. I'm running python test_functional.py --update-functional-tests, but it just fails and doesn't update the file (it updates other files that we don't want).

-e git+https://github.com/sshane/pylint@c8564bb99a393621341851acaa3ed042b3c53c3d#egg=pylint
astroid==2.12.14
Python 3.10.0
Ubuntu 20.04
self = <pylint.testutils.functional.lint_module_output_update.LintModuleOutputUpdate object at 0x7fa1e3c6d690>

    def runTest(self) -> None:
>       self._runTest()
E       AssertionError: Wrong results for file "abstract_method":
E       
E       Unexpected in testdata:
E         47: abstract-method

../pylint/testutils/lint_module_test.py:145: AssertionError
=========================================================================================================================================== short test summary info ===========================================================================================================================================
FAILED test_functional.py::test_functional[abstract_method] - AssertionError: Wrong results for file "abstract_method":
============================================================================================================================ 1 failed, 779 passed, 25 skipped in 62.76s (0:01:02) =============================================================================================================================

@DanielNoord
Copy link
Collaborator

Could it be that the test simply fails? If haven't checked that myself locally

@sshane
Copy link
Author

sshane commented Jan 21, 2023

Do you have any docs for what the comments do? For example, I'm not sure if # [abstract-method] means we're asserting an abstract method error from pylint, or we're catching an error to not fail the tests.

Are the functional tests a sort of blend of replay with the file outputs and unit tests?

@DanielNoord
Copy link
Collaborator

Do you have any docs for what the comments do? For example, I'm not sure if # [abstract-method] means we're asserting an abstract method error from pylint, or we're catching an error to not fail the tests.

Are the functional tests a sort of blend of replay with the file outputs and unit tests?

https://pylint.readthedocs.io/en/latest/development_guide/contributor_guide/tests/writing_test.html#functional-tests

This (attempts to) describe the functional test framework. Basically it tries to lint the file and sees where we expect messages to be raised and compares that against the actual output of the linting.

@Pierre-Sassoulas Pierre-Sassoulas modified the milestones: 2.17.0, 3.0.0 Mar 7, 2023
@Pierre-Sassoulas Pierre-Sassoulas removed this from the 3.0.0 milestone Sep 24, 2023
@DanielNoord
Copy link
Collaborator

@sshane This is quite close to being done. Do you have intention of working on it? Or shall we close it?

Copy link

codecov bot commented Jun 3, 2024

Codecov Report

Attention: Patch coverage is 80.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 95.83%. Comparing base (4203d87) to head (334651c).
Report is 4 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #7955      +/-   ##
==========================================
+ Coverage   95.82%   95.83%   +0.01%     
==========================================
  Files         174      174              
  Lines       18810    18810              
==========================================
+ Hits        18024    18026       +2     
+ Misses        786      784       -2     
Files Coverage Δ
pylint/checkers/utils.py 96.14% <100.00%> (+<0.01%) ⬆️
pylint/testutils/lint_module_test.py 94.35% <50.00%> (ø)

... and 3 files with indirect coverage changes

This comment has been minimized.

@sshane
Copy link
Author

sshane commented Jun 3, 2024

@DanielNoord I'm having the same problem I did when I last worked on it, I verified my # [abstract-method] markers are accurate according to running pylint on the file, but still get some test failures:

    def runTest(self) -> None:
>       self._runTest()
E       AssertionError: Wrong message(s) raised for "abstract_method.py":
E       
E       Unexpected in testdata:
E         47: abstract-method

Running python tests/test_functional.py --update-functional-output -k "test_functional[abstract_method]" does not update abstract_method.txt either

@sshane
Copy link
Author

sshane commented Jun 3, 2024

Narrowed it down to #9688. I don't have any more time to spend on this for the time being, feel free to get it across the line if it's simple for you, else you can close.

This comment has been minimized.

@jacobtylerwalls jacobtylerwalls added this to the 3.3.0 milestone Jun 4, 2024
@sshane
Copy link
Author

sshane commented Jun 4, 2024

I was expecting each line's warnings to be compared to the annotations, not one by one! A more clear error message would have been nice 🙂

This comment has been minimized.

@sshane
Copy link
Author

sshane commented Jun 4, 2024

@DanielNoord I added the count which would have surfaced this for me much quicker, let me know if it's something you want and I can split it out

    def runTest(self) -> None:
>       self._runTest()
E       AssertionError: Wrong message(s) raised for "abstract_method.py":
E       
E       Unexpected in testdata:
E         47: abstract-method (2)

Copy link
Contributor

github-actions bot commented Jun 4, 2024

🤖 Effect of this PR on checked open source code: 🤖

Effect on home-assistant:
The following messages are now emitted:

  1. abstract-method:
    Method '_get_suggested_id' is abstract in class 'StorageCollection' but is not overridden in child class 'DictStorageCollection'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/helpers/collection.py#L371
  2. abstract-method:
    Method '_process_create_data' is abstract in class 'StorageCollection' but is not overridden in child class 'DictStorageCollection'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/helpers/collection.py#L371
  3. abstract-method:
    Method '_update_data' is abstract in class 'StorageCollection' but is not overridden in child class 'DictStorageCollection'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/helpers/collection.py#L371
  4. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'DynaliteLight'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/dynalite/light.py#L24
  5. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'DynaliteLight'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/dynalite/light.py#L24
  6. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'DynaliteSwitch'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/dynalite/switch.py#L25
  7. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'DynaliteSwitch'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/dynalite/switch.py#L25
  8. abstract-method:
    Method 'close_cover' is abstract in class 'CoverEntity' but is not overridden in child class 'DynaliteCover'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/dynalite/cover.py#L37
  9. abstract-method:
    Method 'open_cover' is abstract in class 'CoverEntity' but is not overridden in child class 'DynaliteCover'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/dynalite/cover.py#L37
  10. abstract-method:
    Method 'close_cover' is abstract in class 'CoverEntity' but is not overridden in child class 'DynaliteCoverWithTilt'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/dynalite/cover.py#L89
  11. abstract-method:
    Method 'open_cover' is abstract in class 'CoverEntity' but is not overridden in child class 'DynaliteCoverWithTilt'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/dynalite/cover.py#L89
  12. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'UnavailableAutomationEntity'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/automation/__init__.py#L415
  13. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'UnavailableAutomationEntity'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/automation/__init__.py#L415
  14. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'AutomationEntity'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/automation/__init__.py#L474
  15. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'AutomationEntity'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/automation/__init__.py#L474
  16. abstract-method:
    Method '_async_update_params' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneSensor'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/sensor.py#L153
  17. abstract-method:
    Method 'get_airzone_value' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneSensor'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/sensor.py#L153
  18. abstract-method:
    Method '_async_update_params' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneWebServerSensor'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/sensor.py#L187
  19. abstract-method:
    Method 'set_operation_mode' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'AirzoneWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/water_heater.py#L86
  20. abstract-method:
    Method 'set_temperature' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'AirzoneWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/water_heater.py#L86
  21. abstract-method:
    Method 'turn_away_mode_off' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'AirzoneWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/water_heater.py#L86
  22. abstract-method:
    Method 'turn_away_mode_on' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'AirzoneWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/water_heater.py#L86
  23. abstract-method:
    Method 'turn_off' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'AirzoneWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/water_heater.py#L86
  24. abstract-method:
    Method 'turn_on' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'AirzoneWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/water_heater.py#L86
  25. abstract-method:
    Method '_async_update_params' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  26. abstract-method:
    Method 'get_airzone_value' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  27. abstract-method:
    Method 'set_fan_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  28. abstract-method:
    Method 'set_humidity' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  29. abstract-method:
    Method 'set_hvac_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  30. abstract-method:
    Method 'set_preset_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  31. abstract-method:
    Method 'set_swing_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  32. abstract-method:
    Method 'set_temperature' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  33. abstract-method:
    Method 'toggle' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  34. abstract-method:
    Method 'turn_aux_heat_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  35. abstract-method:
    Method 'turn_aux_heat_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  36. abstract-method:
    Method 'turn_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  37. abstract-method:
    Method 'turn_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L174
  38. abstract-method:
    Method '_async_update_params' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  39. abstract-method:
    Method 'get_airzone_value' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  40. abstract-method:
    Method 'set_fan_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  41. abstract-method:
    Method 'set_humidity' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  42. abstract-method:
    Method 'set_hvac_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  43. abstract-method:
    Method 'set_preset_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  44. abstract-method:
    Method 'set_swing_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  45. abstract-method:
    Method 'set_temperature' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  46. abstract-method:
    Method 'toggle' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  47. abstract-method:
    Method 'turn_aux_heat_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  48. abstract-method:
    Method 'turn_aux_heat_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  49. abstract-method:
    Method 'turn_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  50. abstract-method:
    Method 'turn_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L229
  51. abstract-method:
    Method '_async_update_params' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  52. abstract-method:
    Method 'get_airzone_value' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  53. abstract-method:
    Method 'set_fan_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  54. abstract-method:
    Method 'set_humidity' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  55. abstract-method:
    Method 'set_hvac_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  56. abstract-method:
    Method 'set_preset_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  57. abstract-method:
    Method 'set_swing_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  58. abstract-method:
    Method 'set_temperature' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  59. abstract-method:
    Method 'toggle' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  60. abstract-method:
    Method 'turn_aux_heat_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  61. abstract-method:
    Method 'turn_aux_heat_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  62. abstract-method:
    Method 'turn_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  63. abstract-method:
    Method 'turn_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneDeviceGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L285
  64. abstract-method:
    Method 'set_fan_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneAidooClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L341
  65. abstract-method:
    Method 'set_humidity' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneAidooClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L341
  66. abstract-method:
    Method 'set_hvac_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneAidooClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L341
  67. abstract-method:
    Method 'set_preset_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneAidooClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L341
  68. abstract-method:
    Method 'set_swing_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneAidooClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L341
  69. abstract-method:
    Method 'set_temperature' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneAidooClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L341
  70. abstract-method:
    Method 'toggle' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneAidooClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L341
  71. abstract-method:
    Method 'turn_aux_heat_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneAidooClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L341
  72. abstract-method:
    Method 'turn_aux_heat_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneAidooClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L341
  73. abstract-method:
    Method 'turn_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneAidooClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L341
  74. abstract-method:
    Method 'turn_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneAidooClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L341
  75. abstract-method:
    Method 'set_fan_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L430
  76. abstract-method:
    Method 'set_humidity' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L430
  77. abstract-method:
    Method 'set_hvac_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L430
  78. abstract-method:
    Method 'set_preset_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L430
  79. abstract-method:
    Method 'set_swing_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L430
  80. abstract-method:
    Method 'set_temperature' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L430
  81. abstract-method:
    Method 'toggle' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L430
  82. abstract-method:
    Method 'turn_aux_heat_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L430
  83. abstract-method:
    Method 'turn_aux_heat_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L430
  84. abstract-method:
    Method 'turn_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L430
  85. abstract-method:
    Method 'turn_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneGroupClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L430
  86. abstract-method:
    Method 'set_fan_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneInstallationClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L448
  87. abstract-method:
    Method 'set_humidity' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneInstallationClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L448
  88. abstract-method:
    Method 'set_hvac_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneInstallationClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L448
  89. abstract-method:
    Method 'set_preset_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneInstallationClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L448
  90. abstract-method:
    Method 'set_swing_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneInstallationClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L448
  91. abstract-method:
    Method 'set_temperature' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneInstallationClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L448
  92. abstract-method:
    Method 'toggle' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneInstallationClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L448
  93. abstract-method:
    Method 'turn_aux_heat_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneInstallationClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L448
  94. abstract-method:
    Method 'turn_aux_heat_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneInstallationClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L448
  95. abstract-method:
    Method 'turn_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneInstallationClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L448
  96. abstract-method:
    Method 'turn_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneInstallationClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L448
  97. abstract-method:
    Method 'set_fan_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneZoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L466
  98. abstract-method:
    Method 'set_humidity' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneZoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L466
  99. abstract-method:
    Method 'set_hvac_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneZoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L466
  100. abstract-method:
    Method 'set_preset_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneZoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L466
  101. abstract-method:
    Method 'set_swing_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneZoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L466
  102. abstract-method:
    Method 'set_temperature' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneZoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L466
  103. abstract-method:
    Method 'toggle' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneZoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L466
  104. abstract-method:
    Method 'turn_aux_heat_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneZoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L466
  105. abstract-method:
    Method 'turn_aux_heat_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneZoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L466
  106. abstract-method:
    Method 'turn_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneZoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L466
  107. abstract-method:
    Method 'turn_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'AirzoneZoneClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/climate.py#L466
  108. abstract-method:
    Method '_async_update_params' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneBaseSelect'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/select.py#L74
  109. abstract-method:
    Method 'get_airzone_value' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneBaseSelect'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/select.py#L74
  110. abstract-method:
    Method 'select_option' is abstract in class 'SelectEntity' but is not overridden in child class 'AirzoneBaseSelect'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/select.py#L74
  111. abstract-method:
    Method 'select_option' is abstract in class 'SelectEntity' but is not overridden in child class 'AirzoneZoneSelect'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/select.py#L97
  112. abstract-method:
    Method '_async_update_params' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneSystemEntity'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/entity.py#L227
  113. abstract-method:
    Method '_async_update_params' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneWebServerEntity'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/entity.py#L256
  114. abstract-method:
    Method '_async_update_params' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneBinarySensor'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/binary_sensor.py#L141
  115. abstract-method:
    Method 'get_airzone_value' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneBinarySensor'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/binary_sensor.py#L141
  116. abstract-method:
    Method '_async_update_params' is abstract in class 'AirzoneEntity' but is not overridden in child class 'AirzoneSystemBinarySensor'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/airzone_cloud/binary_sensor.py#L182
  117. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'UnavailableScriptEntity'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/script/__init__.py#L446
  118. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'UnavailableScriptEntity'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/script/__init__.py#L446
  119. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'ScriptEntity'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/script/__init__.py#L496
  120. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'ScriptEntity'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/script/__init__.py#L496
  121. abstract-method:
    Method 'execute' is abstract in class '_Trait' but is not overridden in child class 'MediaStateTrait'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/google_assistant/trait.py#L2578
  122. abstract-method:
    Method 'execute' is abstract in class '_Trait' but is not overridden in child class 'SensorStateTrait'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/google_assistant/trait.py#L2683
  123. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'BroadlinkRMSwitch'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/broadlink/switch.py#L173
  124. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'BroadlinkRMSwitch'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/broadlink/switch.py#L173
  125. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'BroadlinkSP1Switch'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/broadlink/switch.py#L198
  126. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'BroadlinkSP1Switch'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/broadlink/switch.py#L198
  127. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'BroadlinkSP2Switch'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/broadlink/switch.py#L220
  128. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'BroadlinkSP2Switch'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/broadlink/switch.py#L220
  129. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'BroadlinkMP1Slot'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/broadlink/switch.py#L237
  130. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'BroadlinkMP1Slot'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/broadlink/switch.py#L237
  131. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'BroadlinkBG1Slot'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/broadlink/switch.py#L267
  132. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'BroadlinkBG1Slot'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/broadlink/switch.py#L267
  133. abstract-method:
    Method 'async_accept_grant' is abstract in class 'AbstractConfig' but is not overridden in child class 'CloudAlexaConfig'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/cloud/alexa_config.py#L132
  134. abstract-method:
    Method 'set_operation_mode' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'MqttWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/water_heater.py#L181
  135. abstract-method:
    Method 'set_temperature' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'MqttWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/water_heater.py#L181
  136. abstract-method:
    Method 'turn_away_mode_off' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'MqttWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/water_heater.py#L181
  137. abstract-method:
    Method 'turn_away_mode_on' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'MqttWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/water_heater.py#L181
  138. abstract-method:
    Method 'turn_off' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'MqttWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/water_heater.py#L181
  139. abstract-method:
    Method 'turn_on' is abstract in class 'WaterHeaterEntity' but is not overridden in child class 'MqttWaterHeater'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/water_heater.py#L181
  140. abstract-method:
    Method 'set_fan_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'MqttClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/climate.py#L539
  141. abstract-method:
    Method 'set_humidity' is abstract in class 'ClimateEntity' but is not overridden in child class 'MqttClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/climate.py#L539
  142. abstract-method:
    Method 'set_hvac_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'MqttClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/climate.py#L539
  143. abstract-method:
    Method 'set_preset_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'MqttClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/climate.py#L539
  144. abstract-method:
    Method 'set_swing_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'MqttClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/climate.py#L539
  145. abstract-method:
    Method 'set_temperature' is abstract in class 'ClimateEntity' but is not overridden in child class 'MqttClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/climate.py#L539
  146. abstract-method:
    Method 'toggle' is abstract in class 'ClimateEntity' but is not overridden in child class 'MqttClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/climate.py#L539
  147. abstract-method:
    Method 'turn_aux_heat_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'MqttClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/climate.py#L539
  148. abstract-method:
    Method 'turn_aux_heat_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'MqttClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/climate.py#L539
  149. abstract-method:
    Method 'turn_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'MqttClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/climate.py#L539
  150. abstract-method:
    Method 'turn_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'MqttClimate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/mqtt/climate.py#L539
  151. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'FritzboxLight'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/light.py#L52
  152. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'FritzboxLight'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/light.py#L52
  153. abstract-method:
    Method 'press' is abstract in class 'ButtonEntity' but is not overridden in child class 'FritzBoxTemplate'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/button.py#L37
  154. abstract-method:
    Method 'set_fan_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'FritzboxThermostat'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/climate.py#L75
  155. abstract-method:
    Method 'set_humidity' is abstract in class 'ClimateEntity' but is not overridden in child class 'FritzboxThermostat'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/climate.py#L75
  156. abstract-method:
    Method 'set_hvac_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'FritzboxThermostat'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/climate.py#L75
  157. abstract-method:
    Method 'set_preset_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'FritzboxThermostat'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/climate.py#L75
  158. abstract-method:
    Method 'set_swing_mode' is abstract in class 'ClimateEntity' but is not overridden in child class 'FritzboxThermostat'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/climate.py#L75
  159. abstract-method:
    Method 'set_temperature' is abstract in class 'ClimateEntity' but is not overridden in child class 'FritzboxThermostat'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/climate.py#L75
  160. abstract-method:
    Method 'toggle' is abstract in class 'ClimateEntity' but is not overridden in child class 'FritzboxThermostat'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/climate.py#L75
  161. abstract-method:
    Method 'turn_aux_heat_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'FritzboxThermostat'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/climate.py#L75
  162. abstract-method:
    Method 'turn_aux_heat_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'FritzboxThermostat'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/climate.py#L75
  163. abstract-method:
    Method 'turn_off' is abstract in class 'ClimateEntity' but is not overridden in child class 'FritzboxThermostat'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/climate.py#L75
  164. abstract-method:
    Method 'turn_on' is abstract in class 'ClimateEntity' but is not overridden in child class 'FritzboxThermostat'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/climate.py#L75
  165. abstract-method:
    Method 'turn_off' is abstract in class 'ToggleEntity' but is not overridden in child class 'FritzboxSwitch'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/switch.py#L41
  166. abstract-method:
    Method 'turn_on' is abstract in class 'ToggleEntity' but is not overridden in child class 'FritzboxSwitch'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/switch.py#L41
  167. abstract-method:
    Method 'close_cover' is abstract in class 'CoverEntity' but is not overridden in child class 'FritzboxCover'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/cover.py#L46
  168. abstract-method:
    Method 'open_cover' is abstract in class 'CoverEntity' but is not overridden in child class 'FritzboxCover'
    https://github.com/home-assistant/core/blob/cba07540e926b365174440eede944091b4e6bfd4/homeassistant/components/fritzbox/cover.py#L46

Effect on black:
The following messages are now emitted:

  1. unsubscriptable-object:
    Value 'TResult' is unsubscriptable
    https://github.com/psf/black/blob/b677a643c5322b6af2dbca1f8f7a4f8c98e732aa/src/black/trans.py#L516
  2. unsubscriptable-object:
    Value 'TResult' is unsubscriptable
    https://github.com/psf/black/blob/b677a643c5322b6af2dbca1f8f7a4f8c98e732aa/src/black/trans.py#L547
  3. unsubscriptable-object:
    Value 'TResult' is unsubscriptable
    https://github.com/psf/black/blob/b677a643c5322b6af2dbca1f8f7a4f8c98e732aa/src/black/trans.py#L588
  4. unsubscriptable-object:
    Value 'TResult' is unsubscriptable
    https://github.com/psf/black/blob/b677a643c5322b6af2dbca1f8f7a4f8c98e732aa/src/black/trans.py#L796
  5. unsubscriptable-object:
    Value 'TResult' is unsubscriptable
    https://github.com/psf/black/blob/b677a643c5322b6af2dbca1f8f7a4f8c98e732aa/src/black/trans.py#L1008
  6. unsubscriptable-object:
    Value 'TResult' is unsubscriptable
    https://github.com/psf/black/blob/b677a643c5322b6af2dbca1f8f7a4f8c98e732aa/src/black/trans.py#L1503
  7. unsubscriptable-object:
    Value 'TResult' is unsubscriptable
    https://github.com/psf/black/blob/b677a643c5322b6af2dbca1f8f7a4f8c98e732aa/src/black/trans.py#L2185

Effect on pytest:
The following messages are now emitted:

  1. abstract-method:
    Method 'snap' is abstract in class 'CaptureBase' but is not overridden in child class 'SysCaptureBase'
    https://github.com/pytest-dev/pytest/blob/7be95f9b30ffd418483bdb57112f9339465d4695/src/_pytest/capture.py#L340
  2. abstract-method:
    Method 'writeorg' is abstract in class 'CaptureBase' but is not overridden in child class 'SysCaptureBase'
    https://github.com/pytest-dev/pytest/blob/7be95f9b30ffd418483bdb57112f9339465d4695/src/_pytest/capture.py#L340
  3. abstract-method:
    Method 'snap' is abstract in class 'CaptureBase' but is not overridden in child class 'FDCaptureBase'
    https://github.com/pytest-dev/pytest/blob/7be95f9b30ffd418483bdb57112f9339465d4695/src/_pytest/capture.py#L442
  4. abstract-method:
    Method 'writeorg' is abstract in class 'CaptureBase' but is not overridden in child class 'FDCaptureBase'
    https://github.com/pytest-dev/pytest/blob/7be95f9b30ffd418483bdb57112f9339465d4695/src/_pytest/capture.py#L442

Effect on pandas:
The following messages are now emitted:

  1. abstract-method:
    Method 'interpolate' is abstract in class 'ExtensionArray' but is not overridden in child class 'Categorical'
    https://github.com/pandas-dev/pandas/blob/76c7274985215c487248fa5640e12a9b32a06e8c/pandas/core/arrays/categorical.py#L249
  2. abstract-method:
    Method '_accumulate' is abstract in class 'ExtensionArray' but is not overridden in child class 'StringArray'
    https://github.com/pandas-dev/pandas/blob/76c7274985215c487248fa5640e12a9b32a06e8c/pandas/core/arrays/string_.py#L280
  3. abstract-method:
    Method 'reshape' is abstract in class 'ArrowExtensionArray' but is not overridden in child class 'ArrowStringArray'
    https://github.com/pandas-dev/pandas/blob/76c7274985215c487248fa5640e12a9b32a06e8c/pandas/core/arrays/string_arrow.py#L86
  4. abstract-method:
    Method 'reshape' is abstract in class 'ArrowExtensionArray' but is not overridden in child class 'ArrowStringArrayNumpySemantics'
    https://github.com/pandas-dev/pandas/blob/76c7274985215c487248fa5640e12a9b32a06e8c/pandas/core/arrays/string_arrow.py#L597
  5. abstract-method:
    Method '_accumulate' is abstract in class 'ExtensionArray' but is not overridden in child class 'NumpyExtensionArray'
    https://github.com/pandas-dev/pandas/blob/76c7274985215c487248fa5640e12a9b32a06e8c/pandas/core/arrays/numpy_.py#L48

Effect on sentry:
The following messages are now emitted:

  1. abstract-method:
    Method 'defer' is abstract in class 'BaseQuerySet' but is not overridden in child class 'ParanoidQuerySet'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/db/models/paranoia.py#L10
  2. abstract-method:
    Method 'only' is abstract in class 'BaseQuerySet' but is not overridden in child class 'ParanoidQuerySet'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/db/models/paranoia.py#L10
  3. abstract-method:
    Method 'has_project_access' is abstract in class 'Access' but is not overridden in child class 'DbAccess'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/auth/access.py#L197
  4. abstract-method:
    Method 'has_team_access' is abstract in class 'Access' but is not overridden in child class 'DbAccess'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/auth/access.py#L197
  5. abstract-method:
    Method 'get_snql_aggregations' is abstract in class 'BaseMetricsEntitySubscription' but is not overridden in child class 'BaseCrashRateMetricsEntitySubscription'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/snuba/entity_subscription.py#L359
  6. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'PluginRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/plugin.py#L18
  7. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'GithubRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/github.py#L24
  8. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'BitbucketRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/bitbucket.py#L15
  9. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'BitbucketServerRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/bitbucket_server.py#L14
  10. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'VstsRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/vsts.py#L19
  11. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'VercelRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/vercel.py#L11
  12. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'SlackRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/slack.py#L42
  13. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'JiraRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/jira.py#L30
  14. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'GithubEnterpriseRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/github_enterprise.py#L15
  15. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'DiscordRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/discord.py#L30
  16. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'MsTeamsRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/msteams.py#L28
  17. abstract-method:
    Method 'mailbox_bucket_id' is abstract in class 'BaseRequestParser' but is not overridden in child class 'GoogleRequestParser'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/middleware/integrations/parsers/google.py#L11
  18. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'DigestNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/digest.py#L44
  19. abstract-method:
    Method 'build_attachment_title' is abstract in class 'BaseNotification' but is not overridden in child class 'UserReportNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/user_report.py#L25
  20. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'UserReportNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/user_report.py#L25
  21. abstract-method:
    Method 'get_title_link' is abstract in class 'BaseNotification' but is not overridden in child class 'UserReportNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/user_report.py#L25
  22. abstract-method:
    Method 'build_attachment_title' is abstract in class 'BaseNotification' but is not overridden in child class 'MissingMembersNudgeNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/missing_members_nudge.py#L19
  23. abstract-method:
    Method 'build_notification_footer' is abstract in class 'BaseNotification' but is not overridden in child class 'MissingMembersNudgeNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/missing_members_nudge.py#L19
  24. abstract-method:
    Method 'get_notification_title' is abstract in class 'BaseNotification' but is not overridden in child class 'MissingMembersNudgeNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/missing_members_nudge.py#L19
  25. abstract-method:
    Method 'get_title_link' is abstract in class 'BaseNotification' but is not overridden in child class 'MissingMembersNudgeNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/missing_members_nudge.py#L19
  26. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'DailySummaryNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/daily_summary.py#L21
  27. abstract-method:
    Method 'build_attachment_title' is abstract in class 'BaseNotification' but is not overridden in child class 'AlertRuleNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/rules.py#L61
  28. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'AlertRuleNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/rules.py#L61
  29. abstract-method:
    Method 'get_title_link' is abstract in class 'BaseNotification' but is not overridden in child class 'AlertRuleNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/rules.py#L61
  30. abstract-method:
    Method 'build_attachment_title' is abstract in class 'BaseNotification' but is not overridden in child class 'AutoSyncNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/codeowners_auto_sync.py#L15
  31. abstract-method:
    Method 'get_notification_title' is abstract in class 'BaseNotification' but is not overridden in child class 'AutoSyncNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/codeowners_auto_sync.py#L15
  32. abstract-method:
    Method 'get_title_link' is abstract in class 'BaseNotification' but is not overridden in child class 'AutoSyncNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/codeowners_auto_sync.py#L15
  33. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'IntegrationNudgeNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/integration_nudge.py#L47
  34. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'ResolvedInReleaseActivityNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/activity/resolved_in_release.py#L16
  35. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'AssignedActivityNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/activity/assigned.py#L55
  36. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'RegressionActivityNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/activity/regression.py#L16
  37. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'UnassignedActivityNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/activity/unassigned.py#L11
  38. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'ReleaseActivityNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/activity/release.py#L32
  39. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'EscalatingActivityNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/activity/escalating.py#L12
  40. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'NoteActivityNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/activity/note.py#L16
  41. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'UnresolvedActivityNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/activity/unresolved.py#L7
  42. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'ResolvedActivityNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/activity/resolved.py#L9
  43. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'NewProcessingIssuesActivityNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/activity/new_processing_issues.py#L17
  44. abstract-method:
    Method 'determine_recipients' is abstract in class 'BaseNotification' but is not overridden in child class 'ArchiveActivityNotification'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/notifications/notifications/activity/archive.py#L7
  45. unsubscriptable-object:
    Value 'OrganizationMember.flags' is unsubscriptable
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/services/hybrid_cloud/organization/impl.py#L551
  46. unsubscriptable-object:
    Value 'OrganizationMember.flags' is unsubscriptable
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/services/hybrid_cloud/organization/impl.py#L554
  47. unsubscriptable-object:
    Value 'OrganizationMember.flags' is unsubscriptable
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/services/hybrid_cloud/organization/impl.py#L555
  48. unsubscriptable-object:
    Value 'OrganizationMember.flags' is unsubscriptable
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/services/hybrid_cloud/organization/impl.py#L599
  49. unsubscriptable-object:
    Value 'OrganizationMember.flags' is unsubscriptable
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/services/hybrid_cloud/organization/impl.py#L625
  50. abstract-method:
    Method 'passes_activity' is abstract in class 'RuleBase' but is not overridden in child class 'NotifyEventServiceAction'
    https://github.com/getsentry/sentry/blob/4c32dd8f307d3ff2bbe7c72276b8372f375e5d26/src/sentry/rules/actions/notify_event_service.py#L119
  51. abstract-method:
    *Method 'passes_activity' i...

This comment was truncated because GitHub allows only 65536 characters in a comment.

This comment was generated for commit 334651c

Copy link
Collaborator

@DanielNoord DanielNoord left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only needs a news entry using towncrier. I'm fine with merging without full coverage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
False Negative 🦋 No message is emitted but something is wrong with the code Work in progress
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Subclasses of abstract class that do not inherit abc.ABC are considered abstract
4 participants