示例#1
0
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)
示例#2
0
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()
示例#3
0
    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 
示例#4
0
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)
示例#5
0
        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)