def get_toxresults_info(linkstore, for_link, newest=True): result = [] toxlinks = linkstore.get_links(rel="toxresult", for_entrypath=for_link) for toxlink, toxenvs in iter_toxresults(toxlinks, load_toxresult, newest=newest): if toxenvs is None: log.error("Couldn't parse test results %s." % toxlink) continue for toxenv in toxenvs: status = 'unknown' if not toxenv.setup['failed'] and not toxenv.test[ 'failed'] and toxenv.test['commands']: status = 'passed' elif toxenv.setup['failed'] or toxenv.test['failed']: status = 'failed' info = dict(basename=toxlink.basename, _key="-".join(toxenv.key), host=toxenv.host, platform=toxenv.platform, envname=toxenv.envname, setup=toxenv.setup, test=toxenv.test, status=status) if toxenv.pyversion: info["pyversion"] = toxenv.pyversion result.append(info) return result
def get_toxresults_info(linkstore, for_link, newest=True): result = [] toxlinks = linkstore.get_links(rel="toxresult", for_entrypath=for_link) for toxlink, toxenvs in iter_toxresults(toxlinks, load_toxresult, newest=newest): if toxenvs is None: log.error("Couldn't parse test results %s." % toxlink) continue for toxenv in toxenvs: info = dict( basename=toxlink.basename, _key="-".join(toxenv.key), host=toxenv.host, platform=toxenv.platform, envname=toxenv.envname, setup=toxenv.setup, test=toxenv.test, failed=toxenv.failed) if toxenv.pyversion: info["pyversion"] = toxenv.pyversion result.append(info) return result
def show_test_status(hub, toxlinks): load_toxresult = partial(_load_toxresult, hub) for toxlink, toxenvs in iter_toxresults(toxlinks, load_toxresult): if toxenvs is None: hub.error("corrupt toxresult, skipping: %s" % (toxlink,)) continue for toxenv in toxenvs: prefix = "%-10s %-7s %-10s" % (toxenv.host, toxenv.platform, toxenv.envname) if not toxenv.setup['commands']: hub.error("%s no setup was performed" % prefix) elif toxenv.setup['failed']: hub.error("%s setup failed" % prefix) show_commands(hub, toxenv.setup) if toxenv.pyversion: prefix = prefix + " " + toxenv.pyversion if not toxenv.test['commands']: hub.error("%s no tests were run" % prefix) elif toxenv.test['failed']: hub.error("%s tests failed" % prefix) show_commands(hub, toxenv.test) else: hub.line("%s tests passed" % prefix)