forked from M-Labs/artiq
test: add test for seamless handover on exception termination
This commit is contained in:
parent
5f8b02a1d2
commit
5baba5fd1e
|
@ -238,6 +238,31 @@ class Handover(EnvExperiment):
|
|||
self.k("t2")
|
||||
|
||||
|
||||
class DummyException(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class HandoverException(EnvExperiment):
|
||||
def build(self):
|
||||
self.setattr_device("core")
|
||||
|
||||
@kernel
|
||||
def k(self, var):
|
||||
self.set_dataset(var, now_mu())
|
||||
delay_mu(1234)
|
||||
raise DummyException()
|
||||
|
||||
def run(self):
|
||||
try:
|
||||
self.k("t1")
|
||||
except DummyException:
|
||||
pass
|
||||
try:
|
||||
self.k("t2")
|
||||
except DummyException:
|
||||
pass
|
||||
|
||||
|
||||
class CoredeviceTest(ExperimentCase):
|
||||
def test_loopback(self):
|
||||
self.execute(Loopback)
|
||||
|
@ -314,6 +339,12 @@ class CoredeviceTest(ExperimentCase):
|
|||
self.assertEqual(self.dataset_mgr.get("t1") + 1234,
|
||||
self.dataset_mgr.get("t2"))
|
||||
|
||||
def test_handover_exception(self):
|
||||
self.execute(HandoverException)
|
||||
self.assertEqual(self.dataset_mgr.get("t1") + 1234,
|
||||
self.dataset_mgr.get("t2"))
|
||||
|
||||
|
||||
|
||||
class RPCTiming(EnvExperiment):
|
||||
def build(self):
|
||||
|
|
Loading…
Reference in New Issue