def setUpClass(cls): cls.sem = phenom.SEM(**CONFIG_SEM) for child in cls.sem.children.value: if child.name == CONFIG_SED["name"]: cls.sed = child elif child.name == CONFIG_SCANNER["name"]: cls.scanner = child elif child.name == CONFIG_FOCUS["name"]: cls.focus = child elif child.name == CONFIG_STAGE["name"]: cls.stage = child elif child.name == CONFIG_NAVCAM["name"]: cls.camera = child elif child.name == CONFIG_NC_FOCUS["name"]: cls.navcam_focus = child elif child.name == CONFIG_PRESSURE["name"]: cls.pressure = child
def test_creation(self): """ Doesn't even try to acquire an image, just create and delete components """ sem = phenom.SEM(**CONFIG_SEM) self.assertEqual(len(sem.children.value), 7) for child in sem.children.value: if child.name == CONFIG_SED["name"]: sed = child elif child.name == CONFIG_SCANNER["name"]: scanner = child self.assertEqual(len(scanner.resolution.value), 2) self.assertIsInstance(sed.data, model.DataFlow) self.assertTrue(sem.selfTest(), "SEM self test failed.") sem.terminate()
def test_pickle(self): if TEST_NOHW: self.skipTest("TEST_NOHW set, cannot test Phenom") try: os.remove("test") except OSError: pass daemon = Pyro4.Daemon(unixsocket="test") sem = phenom.SEM(daemon=daemon, **CONFIG_SEM) dump = pickle.dumps(sem, pickle.HIGHEST_PROTOCOL) # print "dump size is", len(dump) sem_unpickled = pickle.loads(dump) self.assertIsInstance(sem_unpickled.children, model.VigilantAttributeBase) self.assertEqual(sem_unpickled.name, sem.name) sem.terminate() daemon.shutdown()