forked from M-Labs/artiq
test: add test for seamless handover on exception termination
This commit is contained in:
parent
8e308481c1
commit
917cc056f4
|
@ -238,6 +238,31 @@ class Handover(EnvExperiment):
|
||||||
self.k("t2")
|
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):
|
class CoredeviceTest(ExperimentCase):
|
||||||
def test_loopback(self):
|
def test_loopback(self):
|
||||||
self.execute(Loopback)
|
self.execute(Loopback)
|
||||||
|
@ -314,6 +339,12 @@ class CoredeviceTest(ExperimentCase):
|
||||||
self.assertEqual(self.dataset_mgr.get("t1") + 1234,
|
self.assertEqual(self.dataset_mgr.get("t1") + 1234,
|
||||||
self.dataset_mgr.get("t2"))
|
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):
|
class RPCTiming(EnvExperiment):
|
||||||
def build(self, repeats=100):
|
def build(self, repeats=100):
|
||||||
|
|
Loading…
Reference in New Issue