def test_select_extra_keywords(self): |
o = tmpdir.ensure('selecttest', dir=1) |
tfile = o.join('test_select.py').write(py.code.Source(""" |
def test_1(): |
pass |
class TestClass: |
def test_2(self): |
pass |
""")) |
conftest = o.join('conftest.py').write(py.code.Source(""" |
import py |
class Class(py.test.collect.Class): |
def _haskeyword(self, keyword): |
return keyword == 'xxx' or \ |
super(Class, self)._haskeyword(keyword) |
""")) |
for keyword in ('xxx', 'xxx test_2', 'TestClass', 'xxx -test_1', |
'TestClass test_2', 'xxx TestClass test_2',): |
f = py.std.StringIO.StringIO() |
config = py.test.config._reparse([o, '-k', keyword]) |
session = config._getsessionclass()(config, f) |
-> session.main() |
print "keyword", repr(keyword) |
l = session.getitemoutcomepairs(Passed) |
assert len(l) == 1 |
assert l[0][0].name == 'test_2' |
l = session.getitemoutcomepairs(Skipped) |
assert l[0][0].name == 'test_1' |