Beispiel #1
0
 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
Beispiel #2
0
 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
Beispiel #3
0
    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
Beispiel #4
0
 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 = []