diff options
Diffstat (limited to 'tests/wpt/web-platform-tests/tools/pytest/testing/test_pytester.py')
-rw-r--r-- | tests/wpt/web-platform-tests/tools/pytest/testing/test_pytester.py | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/tests/wpt/web-platform-tests/tools/pytest/testing/test_pytester.py b/tests/wpt/web-platform-tests/tools/pytest/testing/test_pytester.py deleted file mode 100644 index 65660afdfe3..00000000000 --- a/tests/wpt/web-platform-tests/tools/pytest/testing/test_pytester.py +++ /dev/null @@ -1,122 +0,0 @@ -import pytest -import os -from _pytest.pytester import HookRecorder -from _pytest.config import PytestPluginManager -from _pytest.main import EXIT_OK, EXIT_TESTSFAILED - - -def test_make_hook_recorder(testdir): - item = testdir.getitem("def test_func(): pass") - recorder = testdir.make_hook_recorder(item.config.pluginmanager) - assert not recorder.getfailures() - - pytest.xfail("internal reportrecorder tests need refactoring") - class rep: - excinfo = None - passed = False - failed = True - skipped = False - when = "call" - - recorder.hook.pytest_runtest_logreport(report=rep) - failures = recorder.getfailures() - assert failures == [rep] - failures = recorder.getfailures() - assert failures == [rep] - - class rep: - excinfo = None - passed = False - failed = False - skipped = True - when = "call" - rep.passed = False - rep.skipped = True - recorder.hook.pytest_runtest_logreport(report=rep) - - modcol = testdir.getmodulecol("") - rep = modcol.config.hook.pytest_make_collect_report(collector=modcol) - rep.passed = False - rep.failed = True - rep.skipped = False - recorder.hook.pytest_collectreport(report=rep) - - passed, skipped, failed = recorder.listoutcomes() - assert not passed and skipped and failed - - numpassed, numskipped, numfailed = recorder.countoutcomes() - assert numpassed == 0 - assert numskipped == 1 - assert numfailed == 1 - assert len(recorder.getfailedcollections()) == 1 - - recorder.unregister() - recorder.clear() - recorder.hook.pytest_runtest_logreport(report=rep) - pytest.raises(ValueError, "recorder.getfailures()") - - -def test_parseconfig(testdir): - config1 = testdir.parseconfig() - config2 = testdir.parseconfig() - assert config2 != config1 - assert config1 != pytest.config - -def test_testdir_runs_with_plugin(testdir): - testdir.makepyfile(""" - pytest_plugins = "pytester" - def test_hello(testdir): - assert 1 - """) - result = testdir.runpytest() - result.assert_outcomes(passed=1) - - -def make_holder(): - class apiclass: - def pytest_xyz(self, arg): - "x" - def pytest_xyz_noarg(self): - "x" - - apimod = type(os)('api') - def pytest_xyz(arg): - "x" - def pytest_xyz_noarg(): - "x" - apimod.pytest_xyz = pytest_xyz - apimod.pytest_xyz_noarg = pytest_xyz_noarg - return apiclass, apimod - - -@pytest.mark.parametrize("holder", make_holder()) -def test_hookrecorder_basic(holder): - pm = PytestPluginManager() - pm.addhooks(holder) - rec = HookRecorder(pm) - pm.hook.pytest_xyz(arg=123) - call = rec.popcall("pytest_xyz") - assert call.arg == 123 - assert call._name == "pytest_xyz" - pytest.raises(pytest.fail.Exception, "rec.popcall('abc')") - pm.hook.pytest_xyz_noarg() - call = rec.popcall("pytest_xyz_noarg") - assert call._name == "pytest_xyz_noarg" - - -def test_makepyfile_unicode(testdir): - global unichr - try: - unichr(65) - except NameError: - unichr = chr - testdir.makepyfile(unichr(0xfffd)) - -def test_inline_run_clean_modules(testdir): - test_mod = testdir.makepyfile("def test_foo(): assert True") - result = testdir.inline_run(str(test_mod)) - assert result.ret == EXIT_OK - # rewrite module, now test should fail if module was re-imported - test_mod.write("def test_foo(): assert False") - result2 = testdir.inline_run(str(test_mod)) - assert result2.ret == EXIT_TESTSFAILED |