diff options
Diffstat (limited to 'tests/wpt/web-platform-tests/tools/pytest/testing/test_tmpdir.py')
-rw-r--r-- | tests/wpt/web-platform-tests/tools/pytest/testing/test_tmpdir.py | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/tests/wpt/web-platform-tests/tools/pytest/testing/test_tmpdir.py b/tests/wpt/web-platform-tests/tools/pytest/testing/test_tmpdir.py deleted file mode 100644 index d514e722e1f..00000000000 --- a/tests/wpt/web-platform-tests/tools/pytest/testing/test_tmpdir.py +++ /dev/null @@ -1,183 +0,0 @@ -import sys -import py -import pytest - -from _pytest.tmpdir import tmpdir - -def test_funcarg(testdir): - testdir.makepyfile(""" - def pytest_generate_tests(metafunc): - metafunc.addcall(id='a') - metafunc.addcall(id='b') - def test_func(tmpdir): pass - """) - from _pytest.tmpdir import TempdirFactory - reprec = testdir.inline_run() - calls = reprec.getcalls("pytest_runtest_setup") - item = calls[0].item - config = item.config - tmpdirhandler = TempdirFactory(config) - item._initrequest() - p = tmpdir(item._request, tmpdirhandler) - assert p.check() - bn = p.basename.strip("0123456789") - assert bn.endswith("test_func_a_") - item.name = "qwe/\\abc" - p = tmpdir(item._request, tmpdirhandler) - assert p.check() - bn = p.basename.strip("0123456789") - assert bn == "qwe__abc" - -def test_ensuretemp(recwarn): - #pytest.deprecated_call(pytest.ensuretemp, 'hello') - d1 = pytest.ensuretemp('hello') - d2 = pytest.ensuretemp('hello') - assert d1 == d2 - assert d1.check(dir=1) - -class TestTempdirHandler: - def test_mktemp(self, testdir): - from _pytest.tmpdir import TempdirFactory - config = testdir.parseconfig() - config.option.basetemp = testdir.mkdir("hello") - t = TempdirFactory(config) - tmp = t.mktemp("world") - assert tmp.relto(t.getbasetemp()) == "world0" - tmp = t.mktemp("this") - assert tmp.relto(t.getbasetemp()).startswith("this") - tmp2 = t.mktemp("this") - assert tmp2.relto(t.getbasetemp()).startswith("this") - assert tmp2 != tmp - -class TestConfigTmpdir: - def test_getbasetemp_custom_removes_old(self, testdir): - mytemp = testdir.tmpdir.join("xyz") - p = testdir.makepyfile(""" - def test_1(tmpdir): - pass - """) - testdir.runpytest(p, '--basetemp=%s' % mytemp) - mytemp.check() - mytemp.ensure("hello") - - testdir.runpytest(p, '--basetemp=%s' % mytemp) - mytemp.check() - assert not mytemp.join("hello").check() - - -def test_basetemp(testdir): - mytemp = testdir.tmpdir.mkdir("mytemp") - p = testdir.makepyfile(""" - import pytest - def test_1(): - pytest.ensuretemp("hello") - """) - result = testdir.runpytest(p, '--basetemp=%s' % mytemp) - assert result.ret == 0 - assert mytemp.join('hello').check() - -@pytest.mark.skipif(not hasattr(py.path.local, 'mksymlinkto'), - reason="symlink not available on this platform") -def test_tmpdir_always_is_realpath(testdir): - # the reason why tmpdir should be a realpath is that - # when you cd to it and do "os.getcwd()" you will anyway - # get the realpath. Using the symlinked path can thus - # easily result in path-inequality - # XXX if that proves to be a problem, consider using - # os.environ["PWD"] - realtemp = testdir.tmpdir.mkdir("myrealtemp") - linktemp = testdir.tmpdir.join("symlinktemp") - linktemp.mksymlinkto(realtemp) - p = testdir.makepyfile(""" - def test_1(tmpdir): - import os - assert os.path.realpath(str(tmpdir)) == str(tmpdir) - """) - result = testdir.runpytest("-s", p, '--basetemp=%s/bt' % linktemp) - assert not result.ret - - -def test_tmpdir_too_long_on_parametrization(testdir): - testdir.makepyfile(""" - import pytest - @pytest.mark.parametrize("arg", ["1"*1000]) - def test_some(arg, tmpdir): - tmpdir.ensure("hello") - """) - reprec = testdir.inline_run() - reprec.assertoutcome(passed=1) - - -def test_tmpdir_factory(testdir): - testdir.makepyfile(""" - import pytest - @pytest.fixture(scope='session') - def session_dir(tmpdir_factory): - return tmpdir_factory.mktemp('data', numbered=False) - def test_some(session_dir): - session_dir.isdir() - """) - reprec = testdir.inline_run() - reprec.assertoutcome(passed=1) - - -def test_tmpdir_fallback_tox_env(testdir, monkeypatch): - """Test that tmpdir works even if environment variables required by getpass - module are missing (#1010). - """ - monkeypatch.delenv('USER', raising=False) - monkeypatch.delenv('USERNAME', raising=False) - testdir.makepyfile(""" - import pytest - def test_some(tmpdir): - assert tmpdir.isdir() - """) - reprec = testdir.inline_run() - reprec.assertoutcome(passed=1) - - -@pytest.fixture -def break_getuser(monkeypatch): - monkeypatch.setattr('os.getuid', lambda: -1) - # taken from python 2.7/3.4 - for envvar in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'): - monkeypatch.delenv(envvar, raising=False) - - -@pytest.mark.usefixtures("break_getuser") -@pytest.mark.skipif(sys.platform.startswith('win'), reason='no os.getuid on windows') -def test_tmpdir_fallback_uid_not_found(testdir): - """Test that tmpdir works even if the current process's user id does not - correspond to a valid user. - """ - - testdir.makepyfile(""" - import pytest - def test_some(tmpdir): - assert tmpdir.isdir() - """) - reprec = testdir.inline_run() - reprec.assertoutcome(passed=1) - - -@pytest.mark.usefixtures("break_getuser") -@pytest.mark.skipif(sys.platform.startswith('win'), reason='no os.getuid on windows') -def test_get_user_uid_not_found(): - """Test that get_user() function works even if the current process's - user id does not correspond to a valid user (e.g. running pytest in a - Docker container with 'docker run -u'. - """ - from _pytest.tmpdir import get_user - assert get_user() is None - - -@pytest.mark.skipif(not sys.platform.startswith('win'), reason='win only') -def test_get_user(monkeypatch): - """Test that get_user() function works even if environment variables - required by getpass module are missing from the environment on Windows - (#1010). - """ - from _pytest.tmpdir import get_user - monkeypatch.delenv('USER', raising=False) - monkeypatch.delenv('USERNAME', raising=False) - assert get_user() is None |