doc/test_conftest.py - line 105
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 | |
def test_js_ignore(): |
py.magic.autopath().dirpath('conftest.py').copy(tmpdir.join('conftest.py')) |
tmpdir.ensure('__init__.py') |
xtxt = tmpdir.join('x.txt') |
xtxt.write(py.code.Source(""" |
`blah`_ |
|
.. _`blah`: javascript:some_function() |
""")) |
config = py.test.config._reparse([xtxt]) |
session = config.initsession() |
-> session.main() |
l = session.getitemoutcomepairs(Failed) |
assert len(l) == 0 |
l = session.getitemoutcomepairs(Passed) |
l2 = session.getitemoutcomepairs(Skipped) |
assert len(l+l2) == 3 | |
test/session.py - line 63
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 | |
def main(self): |
""" main loop for running tests. """ |
colitems = self.config.getcolitems() |
try: |
self.header(colitems) |
try: |
try: |
for colitem in colitems: |
-> self.runtraced(colitem) |
except KeyboardInterrupt: |
raise |
finally: |
self.footer(colitems) |
except Exit, ex: |
pass |
return self.getitemoutcomepairs(Failed) | |
test/session.py - line 84
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 | |
def runtraced(self, colitem): |
if self.shouldclose(): |
raise Exit, "received external close signal" |
|
outcome = None |
colitem.startcapture() |
try: |
self.start(colitem) |
try: |
try: |
if colitem._stickyfailure: |
raise colitem._stickyfailure |
-> outcome = self.run(colitem) |
except (KeyboardInterrupt, Exit): |
raise |
except Outcome, outcome: |
if outcome.excinfo is None: |
outcome.excinfo = py.code.ExceptionInfo() |
except: |
excinfo = py.code.ExceptionInfo() |
outcome = Failed(excinfo=excinfo) |
assert (outcome is None or |
isinstance(outcome, (list, Outcome))) |
finally: |
self.finish(colitem, outcome) |
if isinstance(outcome, Failed) and self.config.option.exitfirst: |
py.test.exit("exit on first problem configured.", item=colitem) |
finally: |
colitem.finishcapture() | |
test/session.py - line 114
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 | |
def run(self, colitem): |
if self.config.option.collectonly and isinstance(colitem, py.test.collect.Item): |
return |
if isinstance(colitem, py.test.collect.Item): |
colitem._skipbykeyword(self.config.option.keyword) |
res = colitem.run() |
if res is None: |
return Passed() |
elif not isinstance(res, (list, tuple)): |
raise TypeError("%r.run() returned neither " |
"list, tuple nor None: %r" % (colitem, res)) |
else: |
-> finish = self.startiteration(colitem, res) |
try: |
for name in res: |
obj = colitem.join(name) |
assert obj is not None |
self.runtraced(obj) |
finally: |
if finish: |
finish() |
return res | |
test/terminal/terminal.py - line 67
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 | |
def startiteration(self, colitem, subitems): |
if (isinstance(colitem, py.test.collect.Module) |
and self.config.option.verbose == 0 |
and not self.config.option.collectonly): |
try: |
sum = 0 |
for sub in subitems: |
-> sum += len(list(colitem.join(sub)._tryiter())) |
except (SystemExit, KeyboardInterrupt): |
raise |
except: |
self.out.write('[?]') |
else: |
self.out.write('[%d] ' % sum) |
return self.out.line | |
test/collect.py - line 213
192 |
193 |
194 |
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 |
209 |
210 |
211 |
212 |
213 |
214 |
215 |
216 |
217 |
218 |
219 |
220 |
221 | |
def _tryiter(self, yieldtype=None, reporterror=None, keyword=None): |
""" yield stop item instances from flattening the collector. |
XXX deprecated: this way of iteration is not safe in all |
cases. |
""" |
if yieldtype is None: |
yieldtype = py.test.collect.Item |
if isinstance(self, yieldtype): |
try: |
self._skipbykeyword(keyword) |
yield self |
except Skipped: |
if reporterror is not None: |
excinfo = py.code.ExceptionInfo() |
reporterror((excinfo, self)) |
else: |
if not isinstance(self, py.test.collect.Item): |
try: |
if reporterror is not None: |
reporterror((None, self)) |
for x in self.run(): |
-> for y in self.join(x)._tryiter(yieldtype, |
reporterror, keyword): |
yield y |
except KeyboardInterrupt: |
raise |
except: |
if reporterror is not None: |
excinfo = py.code.ExceptionInfo() |
reporterror((excinfo, self)) | |
/tmp/pytest-1/docdoctest/conftest.py - line 161
|
def join(self, name): |
for call, tryfn, path, lineno in genlinkchecks(self.fspath): |
if tryfn == name: |
-> return CheckLink(name, parent=self, args=(tryfn, path, lineno), obj=call) | |