[pypy-svn] pypy pytest2: fix interplevel/applevel selection and move according test to pypy/tool/pytest dir
hpk42
commits-noreply at bitbucket.org
Wed Jan 19 17:24:37 CET 2011
Author: holger krekel <holger at merlinux.eu>
Branch: pytest2
Changeset: r40931:51ccfd808774
Date: 2011-01-19 17:24 +0100
http://bitbucket.org/pypy/pypy/changeset/51ccfd808774/
Log: fix interplevel/applevel selection and move according test to
pypy/tool/pytest dir
diff --git a/pypy/tool/test/test_conftest1.py b/pypy/tool/test/test_conftest1.py
deleted file mode 100644
--- a/pypy/tool/test/test_conftest1.py
+++ /dev/null
@@ -1,32 +0,0 @@
-
-import py
-
-innertest = py.path.local(__file__).dirpath('conftest1_innertest.py')
-pytest_plugins = "pytest_pytester"
-
-class TestPyPyTests:
- def test_select_interplevel(self, testdir):
- sorter = testdir.inline_run("-k", "interplevel", innertest)
- passed, skipped, failed = sorter.listoutcomes()
- assert len(passed) == 2
- assert not skipped and not failed
- for repevent in passed:
- assert repevent.item.name in ('test_something', 'test_method')
-
- def test_select_applevel(self, testdir):
- sorter = testdir.inline_run("-k", "applevel", innertest)
- passed, skipped, failed = sorter.listoutcomes()
- assert len(passed) == 2
- assert not skipped and not failed
- for repevent in passed:
- assert repevent.item.name in ('app_test_something', 'test_method_app')
-
- def test_appdirect(self, testdir):
- sorter = testdir.inline_run(innertest, '-k', 'applevel', '--runappdirect')
- passed, skipped, failed = sorter.listoutcomes()
- assert len(passed) == 2
- print passed
- names = [x.item.name for x in passed]
- assert 'app_test_something' in names
- assert 'test_method_app' in names
-
diff --git a/pypy/tool/test/conftest1_innertest.py b/pypy/tool/pytest/test/conftest1_innertest.py
copy from pypy/tool/test/conftest1_innertest.py
copy to pypy/tool/pytest/test/conftest1_innertest.py
diff --git a/pypy/tool/test/conftest1_innertest.py b/pypy/tool/test/conftest1_innertest.py
deleted file mode 100644
--- a/pypy/tool/test/conftest1_innertest.py
+++ /dev/null
@@ -1,15 +0,0 @@
-
-def test_something(space):
- assert space.w_None is space.w_None
-
-def app_test_something():
- assert 42 == 42
-
-class AppTestSomething:
- def test_method_app(self):
- assert 23 == 23
-
-class TestSomething:
- def test_method(self):
- assert self.space
-
diff --git a/pypy/conftest.py b/pypy/conftest.py
--- a/pypy/conftest.py
+++ b/pypy/conftest.py
@@ -383,11 +383,9 @@
_pygame_imported = False
class IntTestFunction(PyPyTestFunction):
- def _haskeyword(self, keyword):
- return keyword == 'interplevel' or \
- super(IntTestFunction, self)._haskeyword(keyword)
- def _keywords(self):
- return super(IntTestFunction, self)._keywords() + ['interplevel']
+ def __init__(self, *args, **kwargs):
+ super(IntTestFunction, self).__init__(*args, **kwargs)
+ self.keywords['interplevel'] = True
def runtest_perform(self):
try:
@@ -415,16 +413,13 @@
super(IntTestFunction, self).runtest_finish()
class AppTestFunction(PyPyTestFunction):
+ def __init__(self, *args, **kwargs):
+ super(AppTestFunction, self).__init__(*args, **kwargs)
+ self.keywords['applevel'] = True
+
def _prunetraceback(self, traceback):
return traceback
- def _haskeyword(self, keyword):
- return keyword == 'applevel' or \
- super(AppTestFunction, self)._haskeyword(keyword)
-
- def _keywords(self):
- return ['applevel'] + super(AppTestFunction, self)._keywords()
-
def runtest_perform(self):
target = self.obj
if self.config.option.runappdirect:
diff --git a/pypy/tool/test/test_conftest1.py b/pypy/tool/pytest/test/test_conftest1.py
copy from pypy/tool/test/test_conftest1.py
copy to pypy/tool/pytest/test/test_conftest1.py
--- a/pypy/tool/test/test_conftest1.py
+++ b/pypy/tool/pytest/test/test_conftest1.py
@@ -2,31 +2,30 @@
import py
innertest = py.path.local(__file__).dirpath('conftest1_innertest.py')
-pytest_plugins = "pytest_pytester"
+pytest_plugins = "pytester"
class TestPyPyTests:
- def test_select_interplevel(self, testdir):
- sorter = testdir.inline_run("-k", "interplevel", innertest)
+ def test_selection_by_keyword_interp(self, testdir):
+ sorter = testdir.inline_run("-k", "interplevel", innertest, )
passed, skipped, failed = sorter.listoutcomes()
- assert len(passed) == 2
+ assert len(passed) == 2, len(passed)
assert not skipped and not failed
- for repevent in passed:
- assert repevent.item.name in ('test_something', 'test_method')
+ assert "test_something" in passed[0].nodeid
+ assert "test_method" in passed[1].nodeid
- def test_select_applevel(self, testdir):
+ def test_selection_by_keyword_app(self, testdir):
sorter = testdir.inline_run("-k", "applevel", innertest)
passed, skipped, failed = sorter.listoutcomes()
assert len(passed) == 2
assert not skipped and not failed
- for repevent in passed:
- assert repevent.item.name in ('app_test_something', 'test_method_app')
+ assert "app_test_something" in passed[0].nodeid
+ assert "test_method_app" in passed[1].nodeid
def test_appdirect(self, testdir):
sorter = testdir.inline_run(innertest, '-k', 'applevel', '--runappdirect')
passed, skipped, failed = sorter.listoutcomes()
assert len(passed) == 2
print passed
- names = [x.item.name for x in passed]
- assert 'app_test_something' in names
- assert 'test_method_app' in names
+ assert "app_test_something" in passed[0].nodeid
+ assert "test_method_app" in passed[1].nodeid
More information about the Pypy-commit
mailing list