Commit 975eafee authored by Frank Bryden's avatar Frank Bryden
Browse files

Supports updating of test results (if same test is run twice, correct row will...


Supports updating of test results (if same test is run twice, correct row will be updated in report)

Signed-off-by: default avatarFrank Bryden <Frank.Bryden@etsi.org>
parent c08d321f
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -21,7 +21,16 @@ class ExcelWriter:
        When inserting an entry, it might be a test being re-run. In that case,
        the row containing that test needs to be updated, as opposed to appending
        the entry to the end of the file.
        This method finds that row, returning the row number,
        or -1 in the case where that test is not in the report yet.
        """
        for cell in self.ws["A"]:
            if cell.value is None:
                return -1
            elif cell.value == id:
                print("MATCH with id {} at row {}".format(id, cell.row))
                return cell.row
        return -1
    
    def getLastRow(self):
        for cell in self.ws["A"]:
@@ -30,10 +39,18 @@ class ExcelWriter:
        return cell.row + 1
    
    def writeTestEntry(self, testEntry):
        existingEntryRow = self.getEntryWithId(testEntry.id)
        lastRow = self.getLastRow()
        # Use the above two values to pick a row
        entryRow = existingEntryRow if existingEntryRow != -1 else lastRow

        # Pick a cell color based on test outcome
        cellCol = ExcelWriter.PASS_COL if testEntry.result == "PASS" else ExcelWriter.FAIL_COL

        # Test entry as a list
        entryVals = testEntry.asList()
        for col, cellValue in zip(self.ws.iter_cols(min_row=lastRow, max_col=len(entryVals), max_row=lastRow), entryVals):

        for col, cellValue in zip(self.ws.iter_cols(min_row=entryRow, max_col=len(entryVals), max_row=entryRow), entryVals):
            for cell in col:
                cell.value = cellValue
                cell.fill = PatternFill("solid", fgColor=cellCol)# cellCol