def openTrees(self): with Tree('pytree',self.shot+1,'new'): pass filepath = ('%s/pytree_%03d.tree'%(self.tmpdir,self.shot+1)).replace(os.sep,'/') self.assertEqual(Tree.getFileName('pytree',self.shot+1), filepath) pytree = Tree('pytree',self.shot+1) self.assertEqual(pytree.getFileName(), filepath) self.assertEqual(str(pytree),'Tree("PYTREE",%d,"Normal")'%(self.shot+1,)) pytree.createPulse(self.shot+2) self.assertEqual(pytree.number_opened,1) if not Tests.inThread: Tree.setCurrent('pytree',self.shot+2) pytree2=Tree('pytree',0) self.assertEqual(str(pytree2),'Tree("PYTREE",%d,"Normal")'%(self.shot+2,)) self.assertEqual(pytree2.incrementCurrent(1000),self.shot+1002) self.assertEqual(pytree2.getCurrent(),self.shot+1002) pytree2.setCurrent() self.assertEqual(Tree.getCurrent('pytree'),self.shot+2) else: pytree2=Tree('pytree',self.shot+2) self.assertEqual(pytree2.number_opened,1) self.assertEqual(pytree.shotid,pytree.shot) self.assertEqual(pytree.tree,pytree.expt) self.assertEqual(pytree.max_open,8) try: pytree.versions_in_model = True except TreeNOEDIT: pass else: self.assertEqual("TreeSUCCESS","TreeNOEDIT") try: pytree.versions_in_pulse = True except TreeNOEDIT: pass else: self.assertEqual("TreeSUCCESS","TreeNOEDIT")
def openTrees(self): pytree = Tree('pytree', self.shot) self.assertEqual(str(pytree), 'Tree("PYTREE",%d,"Normal")' % (self.shot, )) pytree.createPulse(self.shot + 1) if not treeTests.inThread: Tree.setCurrent('pytree', self.shot + 1) pytree2 = Tree('pytree', 0) self.assertEqual(str(pytree2), 'Tree("PYTREE",%d,"Normal")' % (self.shot + 1, ))
def test(): filepath = ('%s/pytree_%03d.tree' % (self.tmpdir, self.shot)).replace(os.sep, '/') self.assertEqual(Tree.getFileName('pytree', self.shot), filepath) pytree = Tree('pytree', self.shot) self.assertEqual(pytree.getFileName(), filepath) self.assertEqual(str(pytree), 'Tree("PYTREE",%d,"Normal")' % (self.shot, )) pytree.createPulse(self.shot + 1) if not Tests.inThread: Tree.setCurrent('pytree', self.shot + 1) pytree2 = Tree('pytree', 0) self.assertEqual( str(pytree2), 'Tree("PYTREE",%d,"Normal")' % (self.shot + 1, ))
def open(self): shot1 = self.shot + 1 shot2 = shot1 + 1 with Tree('pytree', shot1, 'new') as pytree: a = pytree.addNode('A', 'TEXT') pytree.write() pytree.open() a.record = 'a' * 64 self.assertEqual(pytree.getDatafileSize(), 84) pytree.close() with Tree('pytree', shot1, 'new') as pytree: # new should clear datafile (O_TRUNC) self.assertEqual(pytree.getDatafileSize(), 0) filepath = ('%s/pytree_%03d.tree' % (self.tmpdir, shot1)).replace( os.sep, '/') self.assertEqual(Tree.getFileName('pytree', shot1), filepath) pytree = Tree('pytree', shot1) self.assertEqual(pytree.getFileName(), filepath) self.assertEqual(str(pytree), 'Tree("PYTREE",%d,"Normal")' % (shot1, )) pytree.createPulse(shot2) self.assertEqual(pytree.number_opened, 1) if not Tests.inThread: Tree.setCurrent('pytree', shot2) pytree2 = Tree('pytree', 0) self.assertEqual(str(pytree2), 'Tree("PYTREE",%d,"Normal")' % (shot2, )) self.assertEqual(pytree2.incrementCurrent(1000), shot2 + 1000) self.assertEqual(pytree2.getCurrent(), shot2 + 1000) pytree2.setCurrent() self.assertEqual(Tree.getCurrent('pytree'), shot2) else: pytree2 = Tree('pytree', shot2) self.assertEqual(pytree2.number_opened, 1) self.assertEqual(pytree.shotid, pytree.shot) self.assertEqual(pytree.tree, pytree.expt) self.assertEqual(pytree.max_open, 8) try: pytree.versions_in_model = True except TreeNOEDIT: pass else: self.assertEqual("TreeSUCCESS", "TreeNOEDIT") try: pytree.versions_in_pulse = True except TreeNOEDIT: pass else: self.assertEqual("TreeSUCCESS", "TreeNOEDIT")
def thick(self): def testnci(thick, local, con, nci): l = local.S.__getattribute__(nci) t = thick.S.__getattribute__(nci) if nci.endswith("_nids"): l, t = str(l), str(t) try: c = str(con.get("getnci(getnci(S,$),'nid_number')", nci)) except TreeNNF: c = '[]' else: c = con.get("getnci(S,$)", nci) try: self.assertEqual(t, c) self.assertEqual(t, l) except: print(nci, t, l, c) raise server, server_port = self._setup_mdsip('ACTION_SERVER', 'ACTION_PORT', 7000 + self.index, True) svr, svr_log = self._start_mdsip(server, server_port, 'thick') try: con = Connection(server) self.assertEqual( con.get("zero([1,1,1,1,1,1,1,1],1)").tolist(), [[[[[[[[0]]]]]]]]) with Tree(self.tree, -1, "new") as local: local.addNode(self.treesub, "SUBTREE") s = local.addNode("S", "SIGNAL") s.addTag("tagS") s.record = ADD(Float32(1), Float32(2)) t = local.addNode("T", "TEXT") t.addNode("TT", "TEXT").addTag("tagTT") t.record = t.TT t.TT = "recTT" local.write() with Tree(self.treesub, -1, "new") as sub: sub.addNode("OK") sub.write() local.normal() Tree.setCurrent(self.tree, 7) setenv("%s_path" % self.tree, "%s::" % server) print(con.get("getenv($//'_path')", self.tree)) con.get("TreeShr->TreeOpen(ref($),val($),val(1))", self.tree, -1) thick = Tree(self.tree, -1) thick.createPulse(1) thick1 = Tree(self.tree, 1) self.assertEqual( getattr(local, self.treesub.upper()).OK.nid, getattr(thick1, self.treesub.upper()).OK.nid) local_filename = local.getFileName() thick_filename = thick.getFileName() self.assertTrue("::" in thick_filename, thick_filename) self.assertTrue(local_filename, thick_filename.split("::", 1)[1]) """ TreeTurnOff / TreeTurnOn """ thick.S.on = False self.assertEqual(local.S.on, False) thick.S.on = True self.assertEqual(local.S.on, True) """ TreeSetCurrentShotId / TreeGetCurrentShotId """ Tree.setCurrent(self.tree, 1) self.assertEqual(Tree.getCurrent(self.tree), 1) """ TreeGetRecord / TreeSetRecord """ self.assertEqual(str(local.S.record), "1. + 2.") self.assertEqual(str(thick.S.record), "1. + 2.") thick.S.record = ADD(Float32(2), Float32(4)) self.assertEqual(str(local.S.record), "2. + 4.") self.assertEqual(str(thick.S.record), "2. + 4.") self.assertEqual(str(local.T.record), str(thick.T.record)) """ GetDefaultNid / SetDefaultNid """ self.assertEqual(thick.getDefault(), thick.top) thick.setDefault(thick.S) self.assertEqual(thick.getDefault(), thick.top.S) thick.setDefault(thick.top) """ FindNodeWildRemote """ self.assertEqual(str(thick.getNodeWild("T*")), str(local.getNodeWild("T*"))) """ FindTagWildRemote """ self.assertEqual(thick.findTags("*"), local.findTags("*")) """ nci """ thick.S.write_once = True self.assertEqual(thick.S.write_once, True) for nci in ( 'on', 'depth', 'usage_str', 'dtype', 'length', 'rlength', 'fullpath', 'minpath', 'member_nids', 'children_nids', 'rfa', 'write_once', ): testnci(thick, local, con, nci) """ new stuff """ self.assertEqual(local.getFileName(), con.get("treefilename($,-1)", self.tree)) finally: if svr_log: svr_log.close() self._stop_mdsip((svr, server))