Changeset 2722


Ignore:
Timestamp:
01/06/12 16:21:30 (2 years ago)
Author:
wehart
Message:

Adding logic to support Python 3.x

Location:
gcovr/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • gcovr/trunk/gcovr/tests/test_gcovr.py

    r2671 r2722  
    5454    run(["make"]) or self.fail("Make failed") 
    5555    run(["make","txt"]) or self.fail("Execution failed") 
    56     self.failUnlessFileEqualsBaseline("coverage.txt", "reference/coverage.txt") 
     56    self.assertFileEqualsBaseline("coverage.txt", "reference/coverage.txt") 
    5757    run(["make","clean"]) or self.fail("Clean failed") 
    5858    os.chdir(basedir) 
  • gcovr/trunk/scripts/gcovr

    r2716 r2722  
    2525# For more information, see the FAST README.txt file. 
    2626# 
    27 # $Revision 2716 $ 
    28 # $Date 2011-12-11 16:53:17 -0700 (Sun, 11 Dec 2011) $ 
     27# $Revision 2722 $ 
     28# $Date 2012-01-06 16:21:30 -0700 (Fri, 06 Jan 2012) $ 
    2929# _________________________________________________________________________ 
    3030# 
     
    6464        # But, a deep copy is required here 
    6565        self.all_lines = copy.deepcopy(uncovered) 
    66         self.all_lines.update(covered.keys()) 
     66        self.all_lines.update(list(covered.keys())) 
    6767        self.branches = copy.deepcopy(branches) 
    6868 
    6969    def update(self, uncovered, covered, branches, noncode): 
    7070        self.all_lines.update(uncovered) 
    71         self.all_lines.update(covered.keys()) 
     71        self.all_lines.update(list(covered.keys())) 
    7272        self.uncovered.update(uncovered) 
    7373        self.noncode.intersection_update(noncode) 
    74         for k in covered.keys(): 
     74        for k in list(covered.keys()): 
    7575            self.covered[k] = self.covered.get(k,0) + covered[k] 
    76         for k in branches.keys(): 
     76        for k in list(branches.keys()): 
    7777            for b in branches[k]: 
    7878                d = self.branches.setdefault(k, {}) 
    7979                d[b] = d.get(b, 0) + branches[k][b] 
    80         self.uncovered.difference_update(self.covered.keys()) 
     80        self.uncovered.difference_update(list(self.covered.keys())) 
    8181 
    8282    def uncovered_str(self): 
     
    8484            # Don't do any aggregation on branch results 
    8585            tmp = [] 
    86             for line in self.branches.keys(): 
     86            for line in list(self.branches.keys()): 
    8787                for branch in self.branches[line]: 
    8888                    if self.branches[line][branch] == 0: 
     
    102102        ranges=[] 
    103103        for item in tmp: 
    104             #print "HERE",item 
    105104            if last is None: 
    106105                first=item 
     
    109108                last=item 
    110109            else: 
    111                 if len(self.noncode.intersection(range(last+1,item))) \ 
     110                if len(self.noncode.intersection(list(range(last+1,item)))) \ 
    112111                       == item - last - 1: 
    113112                    last = item 
     
    130129            total = 0 
    131130            cover = 0 
    132             for line in self.branches.keys(): 
    133                 for branch in self.branches[line].keys(): 
     131            for line in list(self.branches.keys()): 
     132                for branch in list(self.branches[line].keys()): 
    134133                    total += 1 
    135134                    cover += self.branches[line][branch] > 0 and 1 or 0 
     
    174173        path = os.getcwd() 
    175174    elif not os.path.exists(path): 
    176         raise IOError, "Unknown directory '"+path+"'" 
     175        raise IOError("Unknown directory '"+path+"'") 
    177176    for root, dirs, files in os.walk(path, topdown=True): 
    178177        for name in files: 
     
    195194    for dir in flist: 
    196195        if options.verbose: 
    197             print "Scanning directory "+dir+" for "+ext+" files..." 
     196            sys.stdout.write("Scanning directory "+dir+" for "+ext+" files...\n") 
    198197        files = search_file(".*\."+ext, dir, abspath=True, follow_links=True) 
    199198        if options.verbose: 
    200             print "Found %d files " % len(files) 
     199            sys.stdout.write("Found %d files \n" % len(files)) 
    201200        allfiles += files 
    202201    return allfiles 
     
    217216        fname = os.path.abspath(fname) 
    218217    if options.verbose: 
    219         print "Parsing coverage data for file "+fname 
     218        sys.stdout.write("Parsing coverage data for file %s\n" % fname) 
    220219    # 
    221220    # Return if the filename does not match the filter 
     
    223222    if options.filter is not None and not options.filter.match(fname): 
    224223        if options.verbose: 
    225             print "  Filtering coverage data for file "+fname 
     224            sys.stdout.write("  Filtering coverage data for file %s\n" % fname) 
    226225        return 
    227226    # 
     
    233232               options.exclude[i].match(os.path.abspath(fname)): 
    234233            if options.verbose: 
    235                 print "  Excluding coverage data for file "+fname 
     234                sys.stdout.write("  Excluding coverage data for file %s\n" % fname) 
    236235            return 
    237236    # 
     
    287286            #first_record=True 
    288287        else: 
    289             print "UNKNOWN LINE DATA:",tmp 
     288            sys.stdout.write("UNKNOWN LINE DATA: %s\n" % tmp) 
    290289    # 
    291290    # If the file is already in covdata, then we 
     
    293292    # initialize covdata 
    294293    # 
    295     #print "HERE",fname 
    296     #print "HERE uncovered",uncovered 
    297     #print "HERE   covered",covered 
    298294    if not fname in covdata: 
    299295        covdata[fname] = CoverageData(fname,uncovered,covered,branches,noncode) 
    300296    else: 
    301         #print "HERE B uncovered",covdata[fname].uncovered 
    302         #print "HERE B   covered",covdata[fname].covered 
    303297        covdata[fname].update(uncovered,covered,branches,noncode) 
    304         #print "HERE A uncovered",covdata[fname].uncovered 
    305         #print "HERE A   covered",covdata[fname].covered 
    306298    INPUT.close() 
    307299 
     
    410402 
    411403        if options.verbose: 
    412             print "Running gcov: '%s' in '%s'" % ( ' '.join(cmd), os.getcwd() ) 
     404            sys.stdout.write("Running gcov: '%s' in '%s'\n" % ( ' '.join(cmd), os.getcwd() )) 
    413405        (out, err) = subprocess.Popen( cmd, 
    414406                                       stdout=subprocess.PIPE, 
     
    423415                if not options.gcov_filter.match(fname): 
    424416                    if options.verbose: 
    425                         print "Filtering gcov file",fname 
     417                        sys.stdout.write("Filtering gcov file %s\n" % fname) 
    426418                    continue 
    427419                exclude=False 
     
    435427                    gcov_files.append(fname) 
    436428                elif options.verbose: 
    437                     print "Excluding gcov file",fname 
    438         #print "Output files\n" + "\n".join(gcov_files) 
     429                    sys.stdout.write("Excluding gcov file %s\n" % fname) 
    439430 
    440431        if source_re.search(err): 
     
    456447         
    457448    if not Done: 
    458         print "GCOV produced the following errors processing %s:\n   %s" \ 
     449        sys.stdout.write("GCOV produced the following errors processing %s:\n   %s" \ 
    459450              "(gcovr could not infer a working directory " \ 
    460               "that resolved it.)" % ( filename, "   ".join(errors) ) 
     451              "that resolved it.)\n" % ( filename, "   ".join(errors) )) 
    461452 
    462453# 
     
    483474    total_covered=0 
    484475    # Header 
    485     print >>OUTPUT, "-"*78 
     476    OUTPUT.write("-"*78 + '\n') 
    486477    a = options.show_branch and "Branch" or "Lines" 
    487478    b = options.show_branch and "Taken" or "Exec" 
    488     print >>OUTPUT, "File".ljust(40) + a.rjust(8) + b.rjust(8)+ "  Cover   Missing" 
    489     print >>OUTPUT, "-"*78 
     479    OUTPUT.write("File".ljust(40) + a.rjust(8) + b.rjust(8)+ "  Cover   Missing\n") 
     480    OUTPUT.write("-"*78 + '\n') 
    490481 
    491482    # Data 
    492     keys = covdata.keys() 
     483    keys = list(covdata.keys()) 
    493484    keys.sort(key=options.sort_uncovered and _num_uncovered or \ 
    494485              options.sort_percent and _percent_uncovered or _alpha) 
     
    497488        total_lines += t 
    498489        total_covered += n 
    499         print >>OUTPUT, txt 
     490        OUTPUT.write(txt + '\n') 
    500491 
    501492    # Footer & summary 
    502     print >>OUTPUT, "-"*78 
     493    OUTPUT.write("-"*78 + '\n') 
    503494    percent = total_lines and str(int(100.0*total_covered/total_lines)) or "--" 
    504     print >>OUTPUT, "TOTAL".ljust(40) + str(total_lines).rjust(8) + \ 
    505           str(total_covered).rjust(8) + str(percent).rjust(6)+"%" 
    506     print >>OUTPUT, "-"*78 
     495    OUTPUT.write("TOTAL".ljust(40) + str(total_lines).rjust(8) + \ 
     496          str(total_covered).rjust(8) + str(percent).rjust(6)+"%" + '\n') 
     497    OUTPUT.write("-"*78 + '\n') 
    507498 
    508499    # Close logfile 
     
    520511 
    521512    options.show_branch = True 
    522     for key in covdata.keys(): 
     513    for key in list(covdata.keys()): 
    523514        (total, covered, percent) = covdata[key].coverage() 
    524515        branchTotal += total 
     
    526517 
    527518    options.show_branch = False 
    528     for key in covdata.keys(): 
     519    for key in list(covdata.keys()): 
    529520        (total, covered, percent) = covdata[key].coverage() 
    530521        lineTotal += total 
     
    555546    source_dirs = set() 
    556547 
    557     keys = covdata.keys() 
     548    keys = list(covdata.keys()) 
    558549    keys.sort() 
    559550    for f in keys: 
     
    597588            else: 
    598589                b_hits = 0 
    599                 for v in branches.values(): 
     590                for v in list(branches.values()): 
    600591                    if v > 0: 
    601592                        b_hits += 1 
     
    631622        package[5] += class_branches 
    632623 
    633     for packageName, packageData in packages.items(): 
     624    for packageName, packageData in list(packages.items()): 
    634625        package = packageData[0]; 
    635626        packageXml.appendChild(package) 
    636627        classes = doc.createElement("classes") 
    637628        package.appendChild(classes) 
    638         classNames = packageData[1].keys() 
     629        classNames = list(packageData[1].keys()) 
    639630        classNames.sort() 
    640631        for className in classNames: 
     
    661652            elif cwd.startswith(d): 
    662653                i = 1 
    663                 print d 
    664                 print os.path.join(*tuple([cwd]+['..']*i)) 
     654                sys.stdout.write(d+'\n') 
     655                sys.stdout.write(os.path.join(*tuple([cwd]+['..']*i)) + '\n') 
    665656                while normpath(d) != \ 
    666657                          normpath(os.path.join(*tuple([cwd]+['..']*i))): 
     
    679670    #xml.dom.ext.PrettyPrint(doc) 
    680671    if options.output is None: 
    681         print xmlString 
     672        sys.stdout.write(xmlString+'\n') 
    682673    else: 
    683674        OUTPUT = open(options.output, 'w') 
    684         print >>OUTPUT, xmlString 
     675        OUTPUT.write(xmlString +'\n') 
    685676        OUTPUT.close() 
    686677 
     
    776767(options, args) = parser.parse_args(args=sys.argv) 
    777768if options.version: 
    778     print "gcovr "+__version__ 
    779     print "" 
    780     print "Copyright (2008) Sandia Corporation. Under the terms of Contract " 
    781     print "DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government " 
    782     print "retains certain rights in this software." 
     769    sys.stdout.write("gcovr "+__version__+'\n') 
     770    sys.stdout.write("\n") 
     771    sys.stdout.write("Copyright (2008) Sandia Corporation. Under the terms of Contract \n") 
     772    sys.stdout.write("DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government \n") 
     773    sys.stdout.write("retains certain rights in this software.\n") 
    783774    sys.exit(0) 
    784775if options.objdir: 
    785776    if normpath(options.objdir) != options.objdir.replace('/',os.sep): 
    786         print "WARNING: relative referencing in --object-directory; this could" 
    787         print "         cause strange errors when gcovr attempts to identify" 
    788         print "         the original gcc working directory." 
     777        sys.stdout.write("WARNING: relative referencing in --object-directory; this could\n") 
     778        sys.stdout.write("         cause strange errors when gcovr attempts to identify\n") 
     779        sys.stdout.write("         the original gcc working directory.\n") 
    789780# 
    790781# Setup filters 
     
    819810    process_datafile(file,covdata,options) 
    820811if options.verbose: 
    821     print "Gathered coveraged data for "+str(len(covdata))+" files" 
     812    sys.stdout.write("Gathered coveraged data for "+str(len(covdata))+" files\n") 
    822813# 
    823814# Print report 
Note: See TracChangeset for help on using the changeset viewer.