Solaar/tests/logitech_receiver
grechmarlon e844d0611d Fix crash writing per-key lighting from the CLI
PerKeyLighting.write_key_value dereferenced self._value without the
initialization guard that the base Settings.write_key_value has. On a
fresh CLI invocation (solaar config <dev> per-key-lighting <key> <color>)
nothing has read the setting yet, so _value is still None and the write
crashes with 'NoneType' object does not support item assignment.
The GUI never hits this because it reads all settings on attach.

Initialize via read(), which for this write-only 0x8081 setting loads
the persisted map or fabricates the all-"No change" sentinel map.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 20:18:38 +02:00
..
__init__.py tests: Add tests of common module 2024-02-18 06:10:53 -05:00
fake_hidpp.py centurion: Headset icon kind at construction (#3226) 2026-05-19 15:36:29 -04:00
test_base.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
test_base_usb.py Speedup lookup of known receivers 2025-01-01 11:33:07 -05:00
test_common.py ui: Show offline status for receiver-paired device batteries (#3217) 2026-05-13 17:32:03 -04:00
test_desktop_notifications.py tests: mock the libnotify backend so the suite raises no real notifications 2026-05-21 10:15:12 -04:00
test_device.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
test_diversion.py Refactor: Introduce Feature enum 2024-10-14 07:28:09 -04:00
test_hidpp10.py device: Handle composite IntFlag.name on Python < 3.11 (#3187) 2026-04-16 11:38:25 -04:00
test_hidpp20_complex.py G522 LIGHTSPEED headphones support 2026-05-21 10:13:00 -04:00
test_hidpp20_simple.py device: Fix operator precedence bug and end-of-configuration timing in device.changed() (#3173) 2026-05-13 11:30:26 -04:00
test_notifications.py show better pairing errors (#3063) 2025-12-10 11:18:50 -05:00
test_receiver.py device: Support per-slot unpair on Lightspeed receivers (CLI + GUI) (#3183) 2026-04-17 09:34:58 -04:00
test_rgb_power.py Fix crash writing per-key lighting from the CLI 2026-06-11 20:18:38 +02:00
test_setting_templates.py headset RGB: regression tests for _HeadsetOnboardEffect color seeding 2026-05-21 10:13:00 -04:00
test_settings_validator.py common: render RGB color values as 0xrrggbb in config and solaar show 2026-05-12 12:51:36 -04:00