sources for doctest.py [rev. unknown]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import py
class DoctestText(py.test.collect.Item):
    def _setcontent(self, content):
        self._content = content 
    #def buildname2items(self):
    #    parser = py.compat.doctest.DoctestParser()
    #    l = parser.get_examples(self._content)
    #    d = {}
    #    globs = {}
    #    locs
    #    for i, example in py.builtin.enumerate(l):
    #        ex = ExampleItem(example)
    #        d[str(i)] = ex
    def run(self):
        mod = py.std.types.ModuleType(self.name) 
        #for line in s.split('\n'): 
        #    if line.startswith(prefix): 
        #        exec py.code.Source(line[len(prefix):]).compile() in mod.__dict__ 
        #        line = ""
        #    else: 
        #        l.append(line)
        self.execute(mod, self._content) 
       
    def execute(self, mod, docstring):
        mod.__doc__ = docstring 
        failed, tot = py.compat.doctest.testmod(mod, verbose=1)
        if failed: 
            py.test.fail("doctest %s: %s failed out of %s" %(
                         self.fspath, failed, tot))