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)
Example #2
0
    def test_Synchronizer(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.getSynchronizer()
            expected = ['software', 'software', 'software', 'software', None]
            self._assertMultipleResults(result, elements, expected)
            with self.assertRaises(Exception):
                mg.setSynchronizer('_test_tg_1_2', "_test_mt_1_3/position")

            mg.setSynchronizer('_test_tg_1_2', "_test_ct_ctrl_1",
                               "_test_2d_ctrl_1")

            expected = [
                '_test_tg_1_2', '_test_tg_1_2', '_test_tg_1_2', '_test_tg_1_2',
                None
            ]
            result = mg.getSynchronizer()
            self._assertMultipleResults(result, elements, expected)

            mg.setSynchronizer('software', "_test_ct_ctrl_1",
                               "_test_2d_ctrl_1")
            result = mg.getSynchronizer()
            expected = ['software', 'software', 'software', 'software', None]
            self._assertMultipleResults(result, elements, expected)

            with self.assertRaises(Exception):
                mg.setSynchronizer('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.setSynchronizer('_test_tg_1_2', "_test_ct_ctrl_1",
                               "_test_2d_ctrl_1")

            result = mg.getSynchronizer(*counters, ret_full_name=True)

            self._assertResult(result, full_names, '_test_tg_1_2')

        finally:
            mg.cleanUp()
            self.pool.DeleteElement(mg_name)
Example #3
0
 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)