Download Install Tutorial Docs FAQ Tools WikiLicense Team IRC Planet Involvement Shop Book

Changeset 421

Show
Ignore:
Timestamp:
07/07/05 00:33:34
Author:
fumanchu
Message:

Minor improvements to code-coverage.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/cherrypy/lib/covercp.py

    r419 r421  
    3737import sys 
    3838import os, os.path 
     39localFile = os.path.join(os.path.dirname(__file__), "coverage.cache") 
    3940 
    4041try: 
     
    4647try: 
    4748    from coverage import the_coverage as coverage 
    48     coverage.cache_default = os.path.join(os.path.dirname(__file__), 
    49                                                        "coverage.cache") 
    50      
    5149    def start(): 
    5250        coverage.start() 
     
    7775    def menu(self): 
    7876        yield "<h2>CherryPy Coverage</h2>" 
    79         if coverage is None: 
    80             yield "<p>The coverage module could not be imported.</p>" 
    81         else: 
    82             yield "<p>Click on one of the modules below to see coverage analysis.</p>" 
    83             coverage.get_ready() 
    84             runs = coverage.cexecuted.keys() 
    85             runs.sort() 
    86             if runs: 
    87                 base = "" 
    88                 for i in runs: 
    89                     newbase, fname = os.path.split(i) 
    90                     if base != newbase: 
    91                         base = newbase 
    92                         yield "<h3>%s</h3>\n" % newbase 
    93                     yield ("<a href='report?name=%s' target='main'>%s</a><br />\n" 
    94                            % (i, fname)) 
     77        yield "<p>Click on one of the modules below to see coverage analysis.</p>" 
     78        coverage.get_ready() 
     79        runs = [os.path.split(x) for x in coverage.cexecuted.keys()] 
     80        runs.sort() 
     81        if runs: 
     82            base = "" 
     83            for x in runs: 
     84                newbase, fname = x 
     85                if base != newbase: 
     86                    base = newbase 
     87                    yield "<h3>%s</h3>\n" % newbase 
     88                yield ("<a href='report?name=%s' target='main'>%s</a><br />\n" 
     89                       % (os.path.join(newbase, fname), fname)) 
    9590    menu.exposed = True 
    9691     
     
    139134     
    140135    def report(self, name): 
    141         if coverage is None: 
    142             return "<p>The coverage module could not be imported.</p>" 
    143         else: 
    144             import cherrypy 
    145             cherrypy.response.headerMap['Content-Type'] = 'text/plain' 
    146             filename, statements, excluded, missing, _ = coverage.analysis2(name) 
    147             return self.annotated_file(filename, statements, excluded, missing) 
     136        import cherrypy 
     137        cherrypy.response.headerMap['Content-Type'] = 'text/plain' 
     138        filename, statements, excluded, missing, _ = coverage.analysis2(name) 
     139        return self.annotated_file(filename, statements, excluded, missing) 
    148140    report.exposed = True 
    149141 
    150142 
    151 def serve(port=8080): 
     143def serve(path=localFile, port=8080): 
     144    if coverage is None: 
     145        raise ImportError("<p>The coverage module could not be imported.</p>") 
     146    coverage.cache_default = path 
     147     
    152148    import cherrypy 
    153149    cherrypy.root = CoverStats() 
  • trunk/cherrypy/test/test.py

    r418 r421  
    186186    try: 
    187187        from coverage import the_coverage as coverage 
    188         coverage.cache_default = os.path.join(os.path.dirname(__file__), 
    189                                               "../lib/coverage.cache") 
     188        coverage.cache_default = c = os.path.join(os.path.dirname(__file__), 
     189                                                  "../lib/coverage.cache") 
     190        if c and os.path.exists(c): 
     191            os.remove(c) 
    190192        coverage.start() 
    191193    except ImportError: 
     
    248250     
    249251    if coverage: 
     252        coverage.save() 
    250253        report_coverage(coverage) 
    251254        print "run /cherrypy/lib/covercp.py as a script to serve coverage results on port 8080" 

Hosted by WebFaction

Log in as guest/cpguest to create tickets