forked from M-Labs/artiq
test: add test for exception on non-existent I2C bus
This commit is contained in:
parent
d08bd58dff
commit
09d198c7a1
|
@ -2,6 +2,8 @@ import os, unittest
|
||||||
|
|
||||||
from artiq.experiment import *
|
from artiq.experiment import *
|
||||||
from artiq.test.hardware_testbench import ExperimentCase
|
from artiq.test.hardware_testbench import ExperimentCase
|
||||||
|
from artiq.coredevice.exceptions import I2CError
|
||||||
|
from artiq.coredevice.i2c import PCA9548
|
||||||
|
|
||||||
|
|
||||||
class I2CSwitch(EnvExperiment):
|
class I2CSwitch(EnvExperiment):
|
||||||
|
@ -19,7 +21,21 @@ class I2CSwitch(EnvExperiment):
|
||||||
self.set_dataset("passed", passed)
|
self.set_dataset("passed", passed)
|
||||||
|
|
||||||
|
|
||||||
|
class NonexistentI2CBus(EnvExperiment):
|
||||||
|
def build(self):
|
||||||
|
self.setattr_device("core")
|
||||||
|
self.broken_switch = PCA9548(self._HasEnvironment__device_mgr, 255)
|
||||||
|
|
||||||
|
@kernel
|
||||||
|
def run(self):
|
||||||
|
self.broken_switch.set(0)
|
||||||
|
|
||||||
|
|
||||||
class I2CTest(ExperimentCase):
|
class I2CTest(ExperimentCase):
|
||||||
def test_i2c_switch(self):
|
def test_i2c_switch(self):
|
||||||
self.execute(I2CSwitch)
|
self.execute(I2CSwitch)
|
||||||
self.assertTrue(self.dataset_mgr.get("passed"))
|
self.assertTrue(self.dataset_mgr.get("passed"))
|
||||||
|
|
||||||
|
def test_nonexistent_bus(self):
|
||||||
|
with self.assertRaises(I2CError):
|
||||||
|
self.execute(NonexistentI2CBus)
|
||||||
|
|
Loading…
Reference in New Issue