def stress_count(self, elements, repeats, synchronizer, synchronization): if (elements == ["_test_ct_1_1", "_test_0d_1_1"] and synchronizer == "_test_tg_1_1" and synchronization == AcqSynchType.Trigger and os.name == "nt"): self.skipTest("fails on Windows") mg_name = str(uuid.uuid1()) argin = [mg_name] + elements self.pool.CreateMeasurementGroup(argin) try: mg = Device(mg_name) mg.setSynchronizer(synchronizer, elements[0], apply=False) mg.setSynchronization(synchronization, elements[0]) for i in range(repeats): state, values = mg.count(.001) self.assertEqual(state, DevState.ON, "wrong state after measurement {}".format(i)) for channel_name, value in values.items(): msg = ("Value {} for {} is not numerical in " "measurement {}").format(value, channel_name, i) self.assertTrue(is_numerical(value), msg) finally: mg.cleanUp() if os.name != "nt": self.pool.DeleteElement(mg_name)
def stress_count(self, elements, repeats, synchronizer, synchronization): mg_name = str(uuid.uuid1()) argin = [mg_name] + elements self.pool.CreateMeasurementGroup(argin) try: mg = Device(mg_name) mg.setSynchronizer(synchronizer, elements[0], apply=False) mg.setSynchronization(synchronization, elements[0]) for i in range(repeats): state, values = mg.count(.001) self.assertEqual(state, DevState.ON, "wrong state after measurement {}".format(i)) for channel_name, value in values.items(): msg = ("Value {} for {} is not numerical in " "measurement {}").format(value, channel_name, i) self.assertTrue(is_numerical(value), msg) finally: mg.cleanUp() self.pool.DeleteElement(mg_name)
def test_Synchronization(self, elements=["_test_ct_1_1", "_test_ct_1_2", "_test_ct_1_3", "_test_2d_1_1", "_test_mt_1_3/position"]): mg_name = str(uuid.uuid1()) argin = [mg_name] + elements self.pool.CreateMeasurementGroup(argin) try: mg = Device(mg_name) result = mg.getSynchronization() expected = [AcqSynchType.Trigger, AcqSynchType.Trigger, AcqSynchType.Trigger, AcqSynchType.Trigger, None] self._assertMultipleResults(result, elements, expected) # TODO: maybe we should raise an exception here? # with self.assertRaises(Exception): # mg.setSynchronization(AcqSynchType.Trigger, # "_test_mt_1_3/position") mg.setSynchronization(AcqSynchType.Gate, "_test_ct_ctrl_1", "_test_2d_ctrl_1") expected = [AcqSynchType.Gate, AcqSynchType.Gate, AcqSynchType.Gate, AcqSynchType.Gate, None] result = mg.getSynchronization() self._assertMultipleResults(result, elements, expected) mg.setSynchronization(AcqSynchType.Start, "_test_ct_ctrl_1", "_test_2d_ctrl_1") result = mg.getSynchronization() expected = [AcqSynchType.Start, AcqSynchType.Start, AcqSynchType.Start, AcqSynchType.Start, None] self._assertMultipleResults(result, elements, expected) with self.assertRaises(Exception): mg.setSynchronization('asdf', "_test_ct_ctrl_1", "_test_2d_ctrl_1") # Check ret_full_name v = TangoDeviceNameValidator() counters = ["_test_ct_1_1", "_test_ct_1_2", "_test_ct_1_3", '_test_2d_1_1'] full_names = [v.getNames(counter)[0] for counter in counters] mg.setSynchronization(AcqSynchType.Trigger, "_test_ct_ctrl_1", "_test_2d_ctrl_1") result = mg.getSynchronization(*counters, ret_full_name=True) self._assertResult(result, full_names, AcqSynchType.Trigger) finally: mg.cleanUp() if os.name != "nt": self.pool.DeleteElement(mg_name)