Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Pragmas in python

Tags:

python

pragma

I'm reading bottle.py source code. It's a web framework, with only 3000+ lines python code. So cool.

I found some code like this:

class ServerAdapter(object):
    quiet = False
    def __init__(self, host='127.0.0.1', port=8080, **config):
        self.options = config
        self.host = host
        self.port = int(port)

    def run(self, handler): # pragma: no cover
        pass
    ... 

What does the # pragma: no cover mean? I can't find any introduce about the pragma syntax in the python documentations.

like image 889
hhbcarl Avatar asked Aug 16 '12 17:08

hhbcarl


2 Answers

It is apparenly related to the coverage.py:

Coverage.py is a tool for measuring code coverage of Python programs. It monitors your program, noting which parts of the code have been executed, then analyzes the source to identify code that could have been executed but was not.

That exact # pragma: no cover is the hint that the part of code should be ignored by the tool -- see Excluding code from coverage .

like image 70
pepr Avatar answered Nov 04 '22 21:11

pepr


For Python, it's simply a comment. It might be an annotation targeted at some external tool, which reads and analyzes Python code, similar, for example, to doctest's #doctest: +ELLIPSIS annotations or PyLint's # pylint: disable=W0613 style annotations.

like image 26
Dirk Avatar answered Nov 04 '22 21:11

Dirk