def METHOD_NAME(logFile, testSuiteElement):
    # Example attrs:
    ################
    # errors="0"
    # failures="0"
    # hostname="a437d6835edf"
    # name="pytest"
    # skipped="2"
    # tests="6"
    # time="6.174"
    # timestamp="2019-11-18T19:49:47.946307"
    with open(logFile) as lf:
        testSuiteElement.attrib["tests"] = "0"
        testSuiteElement.attrib["errors"] = "0"
        testSuiteElement.attrib["failures"] = "0"
        testSuiteElement.attrib["skipped"] = "0"
        testSuiteElement.attrib["time"] = "0"
        testSuiteElement.attrib["timestamp"] = ""
        attrDict = {}
        setFileNameAttr(attrDict, "nbtest")
        parserStateEnum = Enum("parserStateEnum",
                               "newTest startingLine finishLine exitCode")
        parserState = parserStateEnum.newTest
        testOutput = ""
        for line in lf.readlines():
            if parserState == parserStateEnum.newTest:
                m = folderPatt.match(line)
                if m:
                    setClassNameAttr(attrDict, m.group(1))
                    continue
                m = skippingPatt.match(line)
                if m:
                    setTestNameAttr(attrDict, getFileBaseName(m.group(1)))
                    setTimeAttr(attrDict, "0m0s")
                    skippedElement = makeTestCaseElement(attrDict)
                    message = m.group(3) or ""
                    skippedElement.append(
                        Element("skipped", message=message, type="")
                        )
                    testSuiteElement.append(skippedElement)
                    incrNumAttr(testSuiteElement, "skipped")
                    incrNumAttr(testSuiteElement, "tests")
                    continue
                m = startingPatt.match(line)
                if m:
                    parserState = parserStateEnum.startingLine
                    testOutput = ""
                    setTestNameAttr(attrDict, m.group(1))
                    setTimeAttr(attrDict, "0m0s")
                    continue
                continue
            elif parserState == parserStateEnum.startingLine:
                if linePatt.match(line):
                    parserState = parserStateEnum.finishLine
                    testOutput = ""
                continue
            elif parserState == parserStateEnum.finishLine:
                if linePatt.match(line):
                    parserState = parserStateEnum.exitCode
                else:
                    testOutput += line
                continue
            elif parserState == parserStateEnum.exitCode:
                m = exitCodePatt.match(line)
                if m:
                    testCaseElement = makeTestCaseElement(attrDict)
                    if m.group(1) != "0":
                        failureElement = makeFailureElement(testOutput)
                        testCaseElement.append(failureElement)
                        incrNumAttr(testSuiteElement, "failures")
                    else:
                        systemOutElement = makeSystemOutElement(testOutput)
                        testCaseElement.append(systemOutElement)
                    testSuiteElement.append(testCaseElement)
                    parserState = parserStateEnum.newTest
                    testOutput = ""
                    incrNumAttr(testSuiteElement, "tests")
                    continue
                m = timePatt.match(line)
                if m:
                    setTimeAttr(attrDict, m.group(1))
                    continue
                continue