From 09d198c7a103420074f71bed8fd7d5b498134357 Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Mon, 19 Jun 2017 15:32:09 +0800 Subject: [PATCH] test: add test for exception on non-existent I2C bus --- artiq/test/coredevice/test_i2c.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/artiq/test/coredevice/test_i2c.py b/artiq/test/coredevice/test_i2c.py index 45955c132..b3d03c107 100644 --- a/artiq/test/coredevice/test_i2c.py +++ b/artiq/test/coredevice/test_i2c.py @@ -2,6 +2,8 @@ import os, unittest from artiq.experiment import * from artiq.test.hardware_testbench import ExperimentCase +from artiq.coredevice.exceptions import I2CError +from artiq.coredevice.i2c import PCA9548 class I2CSwitch(EnvExperiment): @@ -19,7 +21,21 @@ class I2CSwitch(EnvExperiment): 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): def test_i2c_switch(self): self.execute(I2CSwitch) self.assertTrue(self.dataset_mgr.get("passed")) + + def test_nonexistent_bus(self): + with self.assertRaises(I2CError): + self.execute(NonexistentI2CBus)