mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-06-24 10:56:30 +00:00

* Next generation hardware handling * need daemon for some details * fix tests * fix wrong coresys lookup * test initial import * test device lookup * validate if device exists * Add cgroups rules manager * mapping udev from host * Modify validation/options handling * lookup devices * add support for host udev mapping * next * Add policy support to add-ons * Depricate hardware trigger call * next cleanup round * detect USB linking * optimize * readd udev utils for backwards compatibility * fix tests * Add more tests * fix tests * Make device explicit * Add filter * work on tests * Add migration step * clean out auto_uart * Fix all tests * Expose all device information * small improvment * Fix loop over right devices * Use migration for new device format * Update rootfs/etc/cont-init.d/udev.sh Co-authored-by: Franck Nijhof <git@frenck.dev> * Fix old helper * Fix API * add helper for by-id * fix tests * Fix serial helper * Fix hardware API schema * Hide some virtual devices from tracking * Apply suggestions from code review Co-authored-by: Stefan Agner <stefan@agner.ch> * Update supervisor/addons/validate.py Co-authored-by: Stefan Agner <stefan@agner.ch> * Update supervisor/addons/validate.py Co-authored-by: Stefan Agner <stefan@agner.ch> * fix lint * Apply suggestions from code review Co-authored-by: Joakim Sørensen <joasoe@gmail.com> * Apply suggestions from code review Co-authored-by: Joakim Sørensen <joasoe@gmail.com> * fix black * fix lint Co-authored-by: Franck Nijhof <git@frenck.dev> Co-authored-by: Stefan Agner <stefan@agner.ch> Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
62 lines
1.7 KiB
Python
62 lines
1.7 KiB
Python
"""Test hardware utils."""
|
|
from pathlib import Path
|
|
from unittest.mock import MagicMock, patch
|
|
|
|
from supervisor.hardware.data import Device
|
|
|
|
|
|
def test_have_audio(coresys):
|
|
"""Test usb device filter."""
|
|
assert not coresys.hardware.helper.support_audio
|
|
|
|
coresys.hardware.update_device(
|
|
Device(
|
|
"sda",
|
|
Path("/dev/sda"),
|
|
Path("/sys/bus/usb/000"),
|
|
"sound",
|
|
[],
|
|
{"ID_NAME": "xy"},
|
|
)
|
|
)
|
|
|
|
assert coresys.hardware.helper.support_audio
|
|
|
|
|
|
def test_hide_virtual_device(coresys):
|
|
"""Test hidding virtual devices."""
|
|
udev_device = MagicMock()
|
|
|
|
udev_device.sys_path = "/sys/devices/platform/test"
|
|
assert not coresys.hardware.helper.hide_virtual_device(udev_device)
|
|
|
|
udev_device.sys_path = "/sys/devices/virtual/block/test"
|
|
assert coresys.hardware.helper.hide_virtual_device(udev_device)
|
|
|
|
udev_device.sys_path = "/sys/devices/virtual/tty/test"
|
|
assert coresys.hardware.helper.hide_virtual_device(udev_device)
|
|
|
|
|
|
def test_free_space(coresys):
|
|
"""Test free space helper."""
|
|
with patch("shutil.disk_usage", return_value=(42, 42, 2 * (1024.0 ** 3))):
|
|
free = coresys.hardware.helper.get_disk_free_space("/data")
|
|
|
|
assert free == 2.0
|
|
|
|
|
|
def test_total_space(coresys):
|
|
"""Test total space helper."""
|
|
with patch("shutil.disk_usage", return_value=(10 * (1024.0 ** 3), 42, 42)):
|
|
total = coresys.hardware.helper.get_disk_total_space("/data")
|
|
|
|
assert total == 10.0
|
|
|
|
|
|
def test_used_space(coresys):
|
|
"""Test used space helper."""
|
|
with patch("shutil.disk_usage", return_value=(42, 8 * (1024.0 ** 3), 42)):
|
|
used = coresys.hardware.helper.get_disk_used_space("/data")
|
|
|
|
assert used == 8.0
|