Example #1
0
def reCalcCoverageInfo(caseInfo):

    rcFilename = genCoverageRcFileName(caseInfo)

    coverageXmlFile = 'coverage_%d.xml' % caseInfo.getSeq()

    # generate coverage report
    os.system("coverage xml --rcfile=%s -o %s" % (rcFilename, coverageXmlFile))

    # parse the coverage report
    # default report file name is 'coverage.xml'
    fileContent = open(coverageXmlFile, 'r').read()

    coverageInfo = Parser.parse(fileContent)

    emptyLines = {}
    for scriptName in coverageInfo.keys():
        # get empty lines of each script name
        lines = EmptyLineFinder.findEmptyLines(scriptName)
        emptyLines[scriptName] = lines

    coverageInfo = Parser.mergeEmptyLines(coverageInfo, emptyLines)

    os.remove(rcFilename)
    os.remove(coverageXmlFile)

    return coverageInfo
Example #2
0
    def testMerge(self):

        result = Parser.parse(self.fileContent)

        emptyLines = {
            'hello.py': [3,7,8,13,15,19]
        }

        scriptCoverRange = Parser.mergeEmptyLines(result, emptyLines)

        ranges = scriptCoverRange['hello.py']
        self.assertEqual(ranges[0], Range(2,8))
        self.assertEqual(ranges[1], Range(10, 10))
        self.assertEqual(ranges[2], Range(12,19))