def test_finds_a_device(emulated_smbus, tmpdir): i2c_root = tmpdir.mkdir('sys').mkdir('bus').mkdir('i2c') i2c_root.mkdir('devices').mkdir('i2c-42') virtual_bus = LinuxI2c(i2c_root=i2c_root) discovered = Canary.find_supported_devices(root_bus=virtual_bus) assert len(discovered) == 1 assert discovered[0]._smbus.name == 'i2c-42'
def test_honors_a_bus_filter(emulated_smbus, tmpdir): i2c_root = tmpdir.mkdir('sys').mkdir('bus').mkdir('i2c') devices = i2c_root.mkdir('devices') devices.mkdir('i2c-0') devices.mkdir('i2c-1') virtual_bus = LinuxI2c(i2c_root=i2c_root) discovered = Canary.find_supported_devices(bus='i2c-1', root_bus=virtual_bus) assert len(discovered) == 1 assert discovered[0]._smbus.name == 'i2c-1'
def test_ignores_non_bus_sysfs_entries(emulated_smbus, tmpdir): i2c_root = tmpdir.mkdir('sys').mkdir('bus').mkdir('i2c') devices = i2c_root.mkdir('devices') devices.mkdir('i2c-0') devices.mkdir('0-0050') # SPD info chip on i2c-0 devices.mkdir('i2c-DELL0829:00') # i2c HID chip from Dell laptop virtual_bus = LinuxI2c(i2c_root=i2c_root) discovered = Canary.find_supported_devices(root_bus=virtual_bus) assert len(discovered) == 1 assert discovered[0]._smbus.name == 'i2c-0'
def test_aborts_if_sysfs_is_missing_devices(emulated_smbus, tmpdir): empty = tmpdir.mkdir('sys').mkdir('bus').mkdir('i2c') virtual_bus = LinuxI2c(i2c_root=empty) discovered = Canary.find_supported_devices(root_bus=virtual_bus) assert discovered == []