aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/web-platform-tests/tools/pytest/testing/test_session.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/wpt/web-platform-tests/tools/pytest/testing/test_session.py')
-rw-r--r--tests/wpt/web-platform-tests/tools/pytest/testing/test_session.py244
1 files changed, 0 insertions, 244 deletions
diff --git a/tests/wpt/web-platform-tests/tools/pytest/testing/test_session.py b/tests/wpt/web-platform-tests/tools/pytest/testing/test_session.py
deleted file mode 100644
index 76f804b4f99..00000000000
--- a/tests/wpt/web-platform-tests/tools/pytest/testing/test_session.py
+++ /dev/null
@@ -1,244 +0,0 @@
-import pytest
-
-from _pytest.main import EXIT_NOTESTSCOLLECTED
-
-class SessionTests:
- def test_basic_testitem_events(self, testdir):
- tfile = testdir.makepyfile("""
- def test_one():
- pass
- def test_one_one():
- assert 0
- def test_other():
- raise ValueError(23)
- class TestClass:
- def test_two(self, someargs):
- pass
- """)
- reprec = testdir.inline_run(tfile)
- passed, skipped, failed = reprec.listoutcomes()
- assert len(skipped) == 0
- assert len(passed) == 1
- assert len(failed) == 3
- end = lambda x: x.nodeid.split("::")[-1]
- assert end(failed[0]) == "test_one_one"
- assert end(failed[1]) == "test_other"
- itemstarted = reprec.getcalls("pytest_itemcollected")
- assert len(itemstarted) == 4
- # XXX check for failing funcarg setup
- #colreports = reprec.getcalls("pytest_collectreport")
- #assert len(colreports) == 4
- #assert colreports[1].report.failed
-
- def test_nested_import_error(self, testdir):
- tfile = testdir.makepyfile("""
- import import_fails
- def test_this():
- assert import_fails.a == 1
- """, import_fails="""
- import does_not_work
- a = 1
- """)
- reprec = testdir.inline_run(tfile)
- l = reprec.getfailedcollections()
- assert len(l) == 1
- out = l[0].longrepr.reprcrash.message
- assert out.find('does_not_work') != -1
-
- def test_raises_output(self, testdir):
- reprec = testdir.inline_runsource("""
- import pytest
- def test_raises_doesnt():
- pytest.raises(ValueError, int, "3")
- """)
- passed, skipped, failed = reprec.listoutcomes()
- assert len(failed) == 1
- out = failed[0].longrepr.reprcrash.message
- if not out.find("DID NOT RAISE") != -1:
- print(out)
- pytest.fail("incorrect raises() output")
-
- def test_generator_yields_None(self, testdir):
- reprec = testdir.inline_runsource("""
- def test_1():
- yield None
- """)
- failures = reprec.getfailedcollections()
- out = failures[0].longrepr.reprcrash.message
- i = out.find('TypeError')
- assert i != -1
-
- def test_syntax_error_module(self, testdir):
- reprec = testdir.inline_runsource("this is really not python")
- l = reprec.getfailedcollections()
- assert len(l) == 1
- out = str(l[0].longrepr)
- assert out.find(str('not python')) != -1
-
- def test_exit_first_problem(self, testdir):
- reprec = testdir.inline_runsource("""
- def test_one(): assert 0
- def test_two(): assert 0
- """, '--exitfirst')
- passed, skipped, failed = reprec.countoutcomes()
- assert failed == 1
- assert passed == skipped == 0
-
- def test_maxfail(self, testdir):
- reprec = testdir.inline_runsource("""
- def test_one(): assert 0
- def test_two(): assert 0
- def test_three(): assert 0
- """, '--maxfail=2')
- passed, skipped, failed = reprec.countoutcomes()
- assert failed == 2
- assert passed == skipped == 0
-
- def test_broken_repr(self, testdir):
- p = testdir.makepyfile("""
- import pytest
- class BrokenRepr1:
- foo=0
- def __repr__(self):
- raise Exception("Ha Ha fooled you, I'm a broken repr().")
-
- class TestBrokenClass:
- def test_explicit_bad_repr(self):
- t = BrokenRepr1()
- pytest.raises(Exception, 'repr(t)')
-
- def test_implicit_bad_repr1(self):
- t = BrokenRepr1()
- assert t.foo == 1
-
- """)
- reprec = testdir.inline_run(p)
- passed, skipped, failed = reprec.listoutcomes()
- assert len(failed) == 1
- out = failed[0].longrepr.reprcrash.message
- assert out.find("""[Exception("Ha Ha fooled you, I'm a broken repr().") raised in repr()]""") != -1 #'
-
- def test_skip_file_by_conftest(self, testdir):
- testdir.makepyfile(conftest="""
- import pytest
- def pytest_collect_file():
- pytest.skip("intentional")
- """, test_file="""
- def test_one(): pass
- """)
- try:
- reprec = testdir.inline_run(testdir.tmpdir)
- except pytest.skip.Exception:
- pytest.fail("wrong skipped caught")
- reports = reprec.getreports("pytest_collectreport")
- assert len(reports) == 1
- assert reports[0].skipped
-
-class TestNewSession(SessionTests):
-
- def test_order_of_execution(self, testdir):
- reprec = testdir.inline_runsource("""
- l = []
- def test_1():
- l.append(1)
- def test_2():
- l.append(2)
- def test_3():
- assert l == [1,2]
- class Testmygroup:
- reslist = l
- def test_1(self):
- self.reslist.append(1)
- def test_2(self):
- self.reslist.append(2)
- def test_3(self):
- self.reslist.append(3)
- def test_4(self):
- assert self.reslist == [1,2,1,2,3]
- """)
- passed, skipped, failed = reprec.countoutcomes()
- assert failed == skipped == 0
- assert passed == 7
- # also test listnames() here ...
-
- def test_collect_only_with_various_situations(self, testdir):
- p = testdir.makepyfile(
- test_one="""
- def test_one():
- raise ValueError()
-
- class TestX:
- def test_method_one(self):
- pass
-
- class TestY(TestX):
- pass
- """,
- test_two="""
- import pytest
- pytest.skip('xxx')
- """,
- test_three="xxxdsadsadsadsa",
- __init__=""
- )
- reprec = testdir.inline_run('--collect-only', p.dirpath())
-
- itemstarted = reprec.getcalls("pytest_itemcollected")
- assert len(itemstarted) == 3
- assert not reprec.getreports("pytest_runtest_logreport")
- started = reprec.getcalls("pytest_collectstart")
- finished = reprec.getreports("pytest_collectreport")
- assert len(started) == len(finished)
- assert len(started) == 8 # XXX extra TopCollector
- colfail = [x for x in finished if x.failed]
- colskipped = [x for x in finished if x.skipped]
- assert len(colfail) == 1
- assert len(colskipped) == 1
-
- def test_minus_x_import_error(self, testdir):
- testdir.makepyfile(__init__="")
- testdir.makepyfile(test_one="xxxx", test_two="yyyy")
- reprec = testdir.inline_run("-x", testdir.tmpdir)
- finished = reprec.getreports("pytest_collectreport")
- colfail = [x for x in finished if x.failed]
- assert len(colfail) == 1
-
-
-def test_plugin_specify(testdir):
- pytest.raises(ImportError, """
- testdir.parseconfig("-p", "nqweotexistent")
- """)
- #pytest.raises(ImportError,
- # "config.do_configure(config)"
- #)
-
-def test_plugin_already_exists(testdir):
- config = testdir.parseconfig("-p", "terminal")
- assert config.option.plugins == ['terminal']
- config._do_configure()
- config._ensure_unconfigure()
-
-def test_exclude(testdir):
- hellodir = testdir.mkdir("hello")
- hellodir.join("test_hello.py").write("x y syntaxerror")
- hello2dir = testdir.mkdir("hello2")
- hello2dir.join("test_hello2.py").write("x y syntaxerror")
- testdir.makepyfile(test_ok="def test_pass(): pass")
- result = testdir.runpytest("--ignore=hello", "--ignore=hello2")
- assert result.ret == 0
- result.stdout.fnmatch_lines(["*1 passed*"])
-
-def test_sessionfinish_with_start(testdir):
- testdir.makeconftest("""
- import os
- l = []
- def pytest_sessionstart():
- l.append(os.getcwd())
- os.chdir("..")
-
- def pytest_sessionfinish():
- assert l[0] == os.getcwd()
-
- """)
- res = testdir.runpytest("--collect-only")
- assert res.ret == EXIT_NOTESTSCOLLECTED