def epilogue(self) : def enqueue(cmd) : 'just execute here' message.debug('enqueue %(cmd)s', cmd=cmd) result = subprocess.Popen(cmd.split(' '), env=dict(os.environ, MDB='root='+str(self.mdb.get_root())+',parent='+str(self.mdb.log_id))).wait() if result > 0 : message.warning('process %(cmd)s returned non zero %(result)d', cmd=cmd, result=result) if self.is_master : # spawn some children for test in self.tests() : enqueue(str(test)) database.rgr().result(self.mdb.log_id, self.mdb.is_root()).summary().summary() # optimize ... optimize = database.cvgOrderedOptimize(log_ids=[self.mdb.log_id,]) coverage.messages.hush_creation() # do optimize run xml = optimize.run() # ... and annotate coverage summary if self.coverage : self.coverage.load(optimize.dump()) else : # set per run seed random.seed(self.tst_seed) # ignore illegal bucket hits coverage.messages.CVG_200.level = message.IGNORE # make some coverage for i in range(0, 9999) : with random.choice(self.cpts) as cursor : for name, axis in cursor.point.axes() : cursor(**{name : self.choice(self.choices[id(cursor)][name])}) cursor.incr(random.randrange(10)) # if everything else ok self.success()
def epilogue(self): def enqueue(cmd): 'just execute here' message.debug('enqueue %(cmd)s', cmd=cmd) result = subprocess.Popen( cmd.split(' '), env=dict(os.environ, MDB='root=' + str(self.mdb.get_root()) + ',parent=' + str(self.mdb.log_id))).wait() if result > 0: message.warning('process %(cmd)s returned non zero %(result)d', cmd=cmd, result=result) if self.is_master: # spawn some children for test in self.tests(): enqueue(str(test)) database.rgr().result(self.mdb.log_id, self.mdb.is_root()).summary().summary() # optimize ... optimize = database.cvgOrderedOptimize(log_ids=[ self.mdb.log_id, ]) coverage.messages.hush_creation() # do optimize run xml = optimize.run() # ... and annotate coverage summary if self.coverage: self.coverage.load(optimize.dump()) else: # set per run seed random.seed(self.tst_seed) # ignore illegal bucket hits coverage.messages.CVG_200.level = message.IGNORE # make some coverage for i in range(0, 9999): with random.choice(self.cpts) as cursor: for name, axis in cursor.point.axes(): cursor(**{ name: self.choice(self.choices[id(cursor)][name]) }) cursor.incr(random.randrange(10)) # if everything else ok self.success()
def summary(self, verbose=False) : is_root = mdb_conn.is_root() results = database.rgr().result(mdb_conn.log_id, is_root) result = results.summary() if result.passes != result.total : if is_root or verbose : for test in results[1:] : # drop this if test.status.status is not 'PASS' : message.warning("[%(log_id)d, %(status)s] %(reason)s", log_id=test.log.log_id, **test.status) result.summary() return result
def summary(self, verbose=False): is_root = mdb_conn.is_root() results = database.rgr().result(mdb_conn.log_id, is_root) result = results.summary() if result.passes != result.total: if is_root or verbose: for test in results[1:]: # drop this if test.status.status is not 'PASS': message.warning("[%(log_id)d, %(status)s] %(reason)s", log_id=test.log.log_id, **test.status) result.summary() return result
import database import mdb import message import os.path ################################################################################ parser = message.reportOptionParser() parser.add_option('-r', '--regression', action='store_true', default=False, help='is regression') options, values = parser.parse_args() ################################################################################ mdb.db.connection.set_default_db(db=os.path.join(options.root, '../db/mdb.db')) message.message.summary(False) for log_id in map(int, values): results = database.rgr().result(log_id, options.regression) result = results.summary(True) for test in results: (message.warning if test.status.status != 'PASS' else message.note)( "[%(log_id)d, %(status)s] %(reason)s", log_id=test.log.log_id, **test.status) result.summary()
# Copyright (c) 2013 Rich Porter - see LICENSE for further details import database import mdb import message import os.path ################################################################################ parser = message.reportOptionParser() parser.add_option('-r', '--regression', action='store_true', default=False, help='is regression') options, values = parser.parse_args() ################################################################################ mdb.db.connection.set_default_db(db=os.path.join(options.root, '../db/mdb.db')) message.message.summary(False) for log_id in map(int, values) : results = database.rgr().result(log_id, options.regression) result = results.summary(True) for test in results : (message.warning if test.status.status != 'PASS' else message.note)("[%(log_id)d, %(status)s] %(reason)s", log_id=test.log.log_id, **test.status) result.summary()