def wait_for_true(conf,delai,sql,msg=None): _i = 0; _w = 0; while True: _i +=1 conn = molet.DbData(conf) try: with molet.DbCursor(conn) as cur: cur.execute(sql) r = cur.fetchone() # print r if r[0] == True: break finally: conn.close() if msg is None: pass elif(_i%10)==0: print msg _a = 0.1; _w += _a; if _w > delai: # seconds raise ValueError('After %f seconds, %s != True' % (_w,sql)) time.sleep(_a)
def execinst(dump,cur_login,sql): if cur_login == 'admin': cur_login = None conn = molet.DbData(dump.getConf(),login = cur_login) try: with molet.DbCursor(conn,exit = True) as _cur: _cur.execute(sql) dump.cur(_cur) finally: conn.close()
def exe(self,sql,login): #print login if self.login != login: self.close() if self.conn is None: self.login = login _login = None if login == 'admin' else login self.conn = molet.DbData(self.dump.getConf(),login = _login) self.cur = self.conn.con.cursor() # print sql self.cur.execute(sql) return self.cur
def wait_for_empty_stack(conf,prtest): _i = 0; _w = 0; sql = "SELECT name,value FROM market.tvar WHERE name in ('STACK_TOP','STACK_EXECUTED')" while True: _i +=1 conn = molet.DbData(conf) try: with molet.DbCursor(conn) as cur: cur.execute(sql) re = {} for r in cur: re[r[0]] = r[1] prtest.progress(float(re['STACK_EXECUTED'])/float(re['STACK_TOP'])) if re['STACK_TOP'] == re['STACK_EXECUTED']: break finally: conn.close() time.sleep(2)
file_result = file_test[:-4] + '.res' _fte = os.path.join(resultsdir, file_result) _fre = os.path.join(expecteddir, file_result) with open(_fte, 'w') as f: cur = None dump = utilt.Dumper(srvob_conf.dbBO, options, None) titre_test = utilt.exec_script(dump, sqldir, 'reset_market.sql') dump = utilt.Dumper(srvob_conf.dbBO, options, f) titre_test = utilt.exec_script(dump, sqldir, file_test) utilt.wait_for_true(srvob_conf.dbBO, 20, "SELECT market.fstackdone()") conn = molet.DbData(srvob_conf.dbBO) try: with molet.DbCursor(conn) as cur: dump.torder(cur) dump.tmsg(cur) finally: conn.close() if (os.path.exists(_fre)): if (utilt.files_clones(_fte, _fre)): _tok += 1 _terr -= 1 print '%i\tY\t%s\t%s' % (_num_test, _nom_test, titre_test) else: print '%i\tN\t%s\t%s' % (_num_test, _nom_test, titre_test)