def generateTableHead(self, repositoryDirs): head = [HTMLgen.TH("Test")] ciUrl = os.getenv("JENKINS_URL") or os.getenv( "SYSTEM_TEAMFOUNDATIONSERVERURI") runNameDirs = self.getRunNameDirs(repositoryDirs) if ciUrl else [] for tag in self.tags: tagColour = self.findTagColour(tag) linkTarget = getDetailPageName(self.pageVersion, tag) linkText = HTMLgen.Font(getDisplayText(tag), color=tagColour) buildNumber = self.getCiBuildNumber(tag) if ciUrl and buildNumber.isdigit(): runEnv = getEnvironmentFromRunFiles(runNameDirs, tag) container = HTMLgen.Container() tooltip = jenkinschanges.getTimestamp(buildNumber) container.append( HTMLgen.Href(linkTarget, linkText, title=tooltip)) container.append(HTMLgen.BR()) ciTitle, ciTarget = self.getCiLinkData(runEnv, buildNumber) ciText = HTMLgen.Emphasis( HTMLgen.Font("(" + ciTitle + ")", size=1)) container.append(HTMLgen.Href(ciTarget, ciText, title=tooltip)) head.append(HTMLgen.TH(container)) else: head.append(HTMLgen.TH(HTMLgen.Href(linkTarget, linkText))) heading = HTMLgen.TR() heading = heading + head return heading
def generateTableHead(self, repositoryDirs): head = [HTMLgen.TH("Test")] jenkinsUrl = os.getenv("JENKINS_URL") runNameDirs = self.getRunNameDirs(repositoryDirs) if jenkinsUrl else [] for tag in self.tags: tagColour = self.findTagColour(tag) linkTarget = getDetailPageName(self.pageVersion, tag) linkText = HTMLgen.Font(getDisplayText(tag), color=tagColour) buildNumber = self.getJenkinsBuildNumber(tag) if jenkinsUrl and buildNumber.isdigit(): runEnv = getEnvironmentFromRunFiles(runNameDirs, tag) container = HTMLgen.Container() tooltip = jenkinschanges.getTimestamp(buildNumber) container.append( HTMLgen.Href(linkTarget, linkText, title=tooltip)) container.append(HTMLgen.BR()) jobTarget = os.path.join(self.getRunEnv(runEnv, "JENKINS_URL"), "job", self.getRunEnv(runEnv, "JOB_NAME"), buildNumber) jobText = HTMLgen.Emphasis( HTMLgen.Font("(Jenkins " + buildNumber + ")", size=1)) container.append( HTMLgen.Href(jobTarget, jobText, title=tooltip)) head.append(HTMLgen.TH(container)) else: head.append(HTMLgen.TH(HTMLgen.Href(linkTarget, linkText))) heading = HTMLgen.TR() heading = heading + head return heading
def generateTestRows(self, testName, extraVersion, results): bgColour = self.colourFinder.find("row_header_bg") testId = makeTestId(self.version, extraVersion, testName) description = self.descriptionInfo.get(testName, "") container = HTMLgen.Container(HTMLgen.Name(testId), testName) rows = [] testRow = [ HTMLgen.TD(container, bgcolor=bgColour, title=self.escapeForHtml(description)) ] # Don't add empty rows to the table foundData = False bgcol = None for tag in self.tags: cellContent, bgcol, hasData = self.generateTestCell( tag, testName, testId, results) testRow.append(HTMLgen.TD(cellContent, bgcolor=bgcol)) foundData |= hasData if foundData: # We only filter based on the final column self.usedColours.add(bgcol) rows.append(HTMLgen.TR(*testRow)) else: return rows for resourceName in self.resourceNames: foundData = False resourceRow = [ HTMLgen.TD(HTMLgen.Emphasis("(" + resourceName + ")"), align="right") ] for tag in self.tags: cellContent, bgcol, hasData = self.generateTestCell( tag, testName, testId, results, resourceName) resourceRow.append( HTMLgen.TD(HTMLgen.Emphasis(cellContent), bgcolor=bgcol, align="right")) foundData |= hasData if foundData: rows.append(HTMLgen.TR(*resourceRow)) return rows
def __init__(self, tag, pageTitle, pageSubTitles): tagText = getDisplayText(tag) pageDetailTitle = "Detailed test results for " + pageTitle + ": " + tagText self.document = HTMLgen.SimpleDocument( title=TitleWithDateStamp(pageDetailTitle), meta='<meta charset="' + locale.getpreferredencoding() + '">') headerText = tagText + " - detailed test results for " + pageTitle self.document.append(HTMLgen.Heading(1, headerText, align='center')) for subTitle, command in pageSubTitles: self.document.append(HTMLgen.Center(HTMLgen.Emphasis(subTitle))) self.document.append( HTMLgen.Center( HTMLgen.Paragraph(command, style='font-family:monospace'))) self.totalCategoryHandler = CategoryHandler() self.versionSections = []