Beispiel #1
0
def executeGCovCommand(testExecutableFileName):
    currentDirectory = os.getcwd()
    targetDirectory = os.path.dirname(os.path.abspath(testExecutableFileName))
    testExecutableBaseName = os.path.basename(testExecutableFileName)

    os.chdir(targetDirectory)
    objects = Language_C.findFiles("./", testExecutableBaseName + "*.o")
    if not objects:
        return
    objdir = os.path.dirname(objects[0])
    gcdas = Language_C.findFiles("./", testExecutableBaseName + "*.gcda")
    if not gcdas:
        return
    gcda = gcdas[0]
    gcnos = Language_C.findFiles("./", testExecutableBaseName + "*.gcno")
    if not gcnos:
        return
    gcno = gcnos[0]
    proc = subprocess.Popen([
        'gcov', '-af', '-o=' + objdir, '-gcda=' + gcda, '-gcno=' + gcno,
        testExecutableBaseName
    ],
                            stdout=subprocess.PIPE,
                            stderr=subprocess.PIPE)
    os.chdir(currentDirectory)

    inputLines = map(lambda line: line.strip(), proc.stdout)

    return canonicalizeLines(inputLines)
Beispiel #2
0
def executeGCovCommand(testExecutableFileName):
    currentDirectory = os.getcwd()
    targetDirectory = os.path.dirname(os.path.abspath(testExecutableFileName))
    testExecutableBaseName = os.path.basename(testExecutableFileName)

    os.chdir(targetDirectory)
    objects = Language_C.findFiles("./", testExecutableBaseName + "*.o")
    if not objects:
        return
    objdir = os.path.dirname(objects[0])
    gcdas = Language_C.findFiles("./", testExecutableBaseName + "*.gcda")
    if not gcdas:
        return
    gcda = gcdas[0]
    gcnos = Language_C.findFiles("./", testExecutableBaseName + "*.gcno")
    if not gcnos:
        return
    gcno = gcnos[0]
    proc = subprocess.Popen(
        ["gcov", "-af", "-o=" + objdir, "-gcda=" + gcda, "-gcno=" + gcno, testExecutableBaseName],
        stdout=subprocess.PIPE,
        stderr=subprocess.PIPE,
    )
    os.chdir(currentDirectory)

    inputLines = map(lambda line: line.strip(), proc.stdout)

    return canonicalizeLines(inputLines)
Beispiel #3
0
def checkTestExecutable(executableFileName):
    result = False

    if not os.path.exists(executableFileName):
        return result

    path = os.path.dirname(executableFileName)
    pattern = os.path.basename(executableFileName) + '*.gcda'
    if not Language_C.findFiles(path, pattern):
        return result

    pattern = os.path.basename(executableFileName) + '*.gcno'
    if not Language_C.findFiles(path, pattern):
        return result

    result = True
    return result
Beispiel #4
0
def checkTestExecutable(executableFileName):
    result = False

    if not os.path.exists(executableFileName):
        return result

    path = os.path.dirname(executableFileName)
    pattern = os.path.basename(executableFileName)+'*.gcda'
    if not Language_C.findFiles(path, pattern):
        return result

    pattern = os.path.basename(executableFileName)+'*.gcno'
    if not Language_C.findFiles(path, pattern):
        return result

    result = True
    return result