Replace Source with dedent where possible

This commit is contained in:
Anthony Sottile 2018-08-23 09:06:17 -07:00
parent 6f7365509d
commit 85482d575e
14 changed files with 562 additions and 568 deletions

View File

@ -2,11 +2,11 @@
from __future__ import absolute_import, division, print_function
import os
import sys
import textwrap
import types
import six
import _pytest._code
import py
import pytest
from _pytest.main import EXIT_NOTESTSCOLLECTED, EXIT_USAGEERROR
@ -201,8 +201,8 @@ class TestGeneralUsage(object):
testdir.tmpdir.join("py").mksymlinkto(py._pydir)
p = testdir.tmpdir.join("main.py")
p.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import sys, os
sys.path.insert(0, '')
import py

View File

@ -4,6 +4,7 @@ import sys
import _pytest._code
import pytest
import mock
from test_excinfo import TWMock
from six import text_type
@ -67,12 +68,8 @@ def test_getstatement_empty_fullsource():
f = func()
f = _pytest._code.Frame(f)
prop = f.code.__class__.fullsource
try:
f.code.__class__.fullsource = None
assert f.statement == _pytest._code.Source("")
finally:
f.code.__class__.fullsource = prop
with mock.patch.object(f.code.__class__, "fullsource", None):
assert f.statement == ""
def test_code_from_func():

View File

@ -426,7 +426,7 @@ class TestFormattedExcinfo(object):
@pytest.fixture
def importasmod(self, request):
def importasmod(source):
source = _pytest._code.Source(source)
source = textwrap.dedent(source)
tmpdir = request.getfixturevalue("tmpdir")
modpath = tmpdir.join("mod.py")
tmpdir.ensure("__init__.py")
@ -450,7 +450,7 @@ class TestFormattedExcinfo(object):
def test_repr_source(self):
pr = FormattedExcinfo()
source = _pytest._code.Source(
"""
"""\
def f(x):
pass
"""

View File

@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
import os
import sys
from textwrap import dedent
import textwrap
import _pytest._code
import pytest
@ -47,13 +47,14 @@ class TestModule(object):
p = root2.join("test_x456.py")
monkeypatch.syspath_prepend(str(root1))
p.write(
dedent(
textwrap.dedent(
"""\
import x456
def test():
assert x456.__file__.startswith(%r)
"""
% str(root2)
assert x456.__file__.startswith({!r})
""".format(
str(root2)
)
)
)
with root2.as_cwd():
@ -929,8 +930,8 @@ class TestConftestCustomization(object):
def test_customized_pymakemodule_issue205_subdir(self, testdir):
b = testdir.mkdir("a").mkdir("b")
b.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.hookimpl(hookwrapper=True)
def pytest_pycollect_makemodule():
@ -941,8 +942,8 @@ class TestConftestCustomization(object):
)
)
b.join("test_module.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def test_hello():
assert hello == "world"
"""
@ -954,8 +955,8 @@ class TestConftestCustomization(object):
def test_customized_pymakeitem(self, testdir):
b = testdir.mkdir("a").mkdir("b")
b.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.hookimpl(hookwrapper=True)
def pytest_pycollect_makeitem():
@ -969,8 +970,8 @@ class TestConftestCustomization(object):
)
)
b.join("test_module.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture()
@ -1033,7 +1034,7 @@ class TestConftestCustomization(object):
)
testdir.makefile(
".narf",
"""
"""\
def test_something():
assert 1 + 1 == 2""",
)
@ -1046,8 +1047,8 @@ def test_setup_only_available_in_subdir(testdir):
sub1 = testdir.mkpydir("sub1")
sub2 = testdir.mkpydir("sub2")
sub1.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
def pytest_runtest_setup(item):
assert item.fspath.purebasename == "test_in_sub1"
@ -1059,8 +1060,8 @@ def test_setup_only_available_in_subdir(testdir):
)
)
sub2.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
def pytest_runtest_setup(item):
assert item.fspath.purebasename == "test_in_sub2"
@ -1547,8 +1548,8 @@ def test_skip_duplicates_by_default(testdir):
a = testdir.mkdir("a")
fh = a.join("test_a.py")
fh.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
def test_real():
pass
@ -1567,8 +1568,8 @@ def test_keep_duplicates(testdir):
a = testdir.mkdir("a")
fh = a.join("test_a.py")
fh.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
def test_real():
pass

View File

@ -1,6 +1,5 @@
from textwrap import dedent
import textwrap
import _pytest._code
import pytest
from _pytest.pytester import get_public_names
from _pytest.fixtures import FixtureLookupError, FixtureRequest
@ -208,8 +207,8 @@ class TestFillFixtures(object):
)
subdir = testdir.mkpydir("subdir")
subdir.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture
@ -220,8 +219,8 @@ class TestFillFixtures(object):
)
testfile = subdir.join("test_spam.py")
testfile.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def test_spam(spam):
assert spam == "spam"
"""
@ -276,8 +275,8 @@ class TestFillFixtures(object):
)
subdir = testdir.mkpydir("subdir")
subdir.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture(params=[1, 2, 3])
@ -288,8 +287,8 @@ class TestFillFixtures(object):
)
testfile = subdir.join("test_spam.py")
testfile.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
params = {'spam': 1}
def test_spam(spam):
@ -320,8 +319,8 @@ class TestFillFixtures(object):
)
subdir = testdir.mkpydir("subdir")
subdir.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture(params=[1, 2, 3])
@ -332,8 +331,8 @@ class TestFillFixtures(object):
)
testfile = subdir.join("test_spam.py")
testfile.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
params = {'spam': 1}
def test_spam(spam):
@ -807,8 +806,8 @@ class TestRequestBasic(object):
# this tests that normalization of nodeids takes place
b = testdir.mkdir("tests").mkdir("unit")
b.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture
def arg1():
@ -1484,7 +1483,7 @@ class TestFixtureManagerParseFactories(object):
runner = testdir.mkdir("runner")
package = testdir.mkdir("package")
package.join("conftest.py").write(
dedent(
textwrap.dedent(
"""\
import pytest
@pytest.fixture
@ -1494,7 +1493,7 @@ class TestFixtureManagerParseFactories(object):
)
)
package.join("test_x.py").write(
dedent(
textwrap.dedent(
"""\
def test_x(one):
assert one == 1
@ -1504,7 +1503,7 @@ class TestFixtureManagerParseFactories(object):
sub = package.mkdir("sub")
sub.join("__init__.py").ensure()
sub.join("conftest.py").write(
dedent(
textwrap.dedent(
"""\
import pytest
@pytest.fixture
@ -1514,7 +1513,7 @@ class TestFixtureManagerParseFactories(object):
)
)
sub.join("test_y.py").write(
dedent(
textwrap.dedent(
"""\
def test_x(one):
assert one == 2
@ -1535,7 +1534,7 @@ class TestFixtureManagerParseFactories(object):
)
package = testdir.mkdir("package")
package.join("__init__.py").write(
dedent(
textwrap.dedent(
"""\
from .. import values
def setup_module():
@ -1546,7 +1545,7 @@ class TestFixtureManagerParseFactories(object):
)
)
package.join("test_x.py").write(
dedent(
textwrap.dedent(
"""\
from .. import values
def test_x():
@ -1556,7 +1555,7 @@ class TestFixtureManagerParseFactories(object):
)
package = testdir.mkdir("package2")
package.join("__init__.py").write(
dedent(
textwrap.dedent(
"""\
from .. import values
def setup_module():
@ -1567,7 +1566,7 @@ class TestFixtureManagerParseFactories(object):
)
)
package.join("test_x.py").write(
dedent(
textwrap.dedent(
"""\
from .. import values
def test_x():
@ -1587,7 +1586,7 @@ class TestFixtureManagerParseFactories(object):
package = testdir.mkdir("package")
package.join("__init__.py").write("")
package.join("conftest.py").write(
dedent(
textwrap.dedent(
"""\
import pytest
from .. import values
@ -1605,7 +1604,7 @@ class TestFixtureManagerParseFactories(object):
)
)
package.join("test_x.py").write(
dedent(
textwrap.dedent(
"""\
from .. import values
def test_package_autouse():
@ -1804,8 +1803,8 @@ class TestAutouseManagement(object):
def test_autouse_conftest_mid_directory(self, testdir):
pkgdir = testdir.mkpydir("xyz123")
pkgdir.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture(autouse=True)
def app():
@ -1816,8 +1815,8 @@ class TestAutouseManagement(object):
)
t = pkgdir.ensure("tests", "test_app.py")
t.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import sys
def test_app():
assert sys._myapp == "hello"
@ -2715,8 +2714,8 @@ class TestFixtureMarker(object):
)
b = testdir.mkdir("subdir")
b.join("test_overridden_fixture_finalizer.py").write(
dedent(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture
def browser(browser):
@ -3217,8 +3216,8 @@ class TestShowFixtures(object):
def test_show_fixtures_trimmed_doc(self, testdir):
p = testdir.makepyfile(
dedent(
'''
textwrap.dedent(
'''\
import pytest
@pytest.fixture
def arg1():
@ -3239,8 +3238,8 @@ class TestShowFixtures(object):
)
result = testdir.runpytest("--fixtures", p)
result.stdout.fnmatch_lines(
dedent(
"""
textwrap.dedent(
"""\
* fixtures defined from test_show_fixtures_trimmed_doc *
arg2
line1
@ -3248,15 +3247,14 @@ class TestShowFixtures(object):
arg1
line1
line2
"""
)
)
def test_show_fixtures_indented_doc(self, testdir):
p = testdir.makepyfile(
dedent(
'''
textwrap.dedent(
'''\
import pytest
@pytest.fixture
def fixture1():
@ -3269,8 +3267,8 @@ class TestShowFixtures(object):
)
result = testdir.runpytest("--fixtures", p)
result.stdout.fnmatch_lines(
dedent(
"""
textwrap.dedent(
"""\
* fixtures defined from test_show_fixtures_indented_doc *
fixture1
line1
@ -3281,8 +3279,8 @@ class TestShowFixtures(object):
def test_show_fixtures_indented_doc_first_line_unindented(self, testdir):
p = testdir.makepyfile(
dedent(
'''
textwrap.dedent(
'''\
import pytest
@pytest.fixture
def fixture1():
@ -3295,8 +3293,8 @@ class TestShowFixtures(object):
)
result = testdir.runpytest("--fixtures", p)
result.stdout.fnmatch_lines(
dedent(
"""
textwrap.dedent(
"""\
* fixtures defined from test_show_fixtures_indented_doc_first_line_unindented *
fixture1
line1
@ -3308,8 +3306,8 @@ class TestShowFixtures(object):
def test_show_fixtures_indented_in_class(self, testdir):
p = testdir.makepyfile(
dedent(
'''
textwrap.dedent(
'''\
import pytest
class TestClass(object):
@pytest.fixture
@ -3323,8 +3321,8 @@ class TestShowFixtures(object):
)
result = testdir.runpytest("--fixtures", p)
result.stdout.fnmatch_lines(
dedent(
"""
textwrap.dedent(
"""\
* fixtures defined from test_show_fixtures_indented_in_class *
fixture1
line1
@ -3667,8 +3665,8 @@ class TestParameterizedSubRequest(object):
fixdir = testdir.mkdir("fixtures")
fixfile = fixdir.join("fix.py")
fixfile.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture(params=[0, 1, 2])
@ -3680,8 +3678,8 @@ class TestParameterizedSubRequest(object):
testfile = tests_dir.join("test_foos.py")
testfile.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
from fix import fix_with_param
def test_foo(request):
@ -3698,9 +3696,9 @@ class TestParameterizedSubRequest(object):
E*Failed: The requested fixture has no parameter defined for the current test.
E*
E*Requested fixture 'fix_with_param' defined in:
E*fix.py:5
E*fix.py:4
E*Requested here:
E*test_foos.py:5
E*test_foos.py:4
*1 failed*
"""
)

View File

@ -2,7 +2,7 @@
import re
import sys
import attr
import _pytest._code
import textwrap
import pytest
from _pytest import python, fixtures
@ -1271,16 +1271,16 @@ class TestMetafuncFunctional(object):
sub1 = testdir.mkpydir("sub1")
sub2 = testdir.mkpydir("sub2")
sub1.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def pytest_generate_tests(metafunc):
assert metafunc.function.__name__ == "test_1"
"""
)
)
sub2.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def pytest_generate_tests(metafunc):
assert metafunc.function.__name__ == "test_2"
"""

View File

@ -1039,8 +1039,8 @@ class TestAssertionRewriteHookDetails(object):
"""
path = testdir.mkpydir("foo")
path.join("test_foo.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
class Test(object):
def test_foo(self):
import pkgutil

View File

@ -1,9 +1,9 @@
from __future__ import absolute_import, division, print_function
import sys
import textwrap
import py
import _pytest
import pytest
import os
import shutil
@ -224,8 +224,8 @@ class TestLastFailed(object):
result = testdir.runpytest()
result.stdout.fnmatch_lines(["*2 failed*"])
p.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def test_1():
assert 1
@ -252,16 +252,16 @@ class TestLastFailed(object):
def test_failedfirst_order(self, testdir):
testdir.tmpdir.join("test_a.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def test_always_passes():
assert 1
"""
)
)
testdir.tmpdir.join("test_b.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def test_always_fails():
assert 0
"""
@ -277,11 +277,11 @@ class TestLastFailed(object):
def test_lastfailed_failedfirst_order(self, testdir):
testdir.makepyfile(
**{
"test_a.py": """
"test_a.py": """\
def test_always_passes():
assert 1
""",
"test_b.py": """
"test_b.py": """\
def test_always_fails():
assert 0
""",
@ -298,13 +298,13 @@ class TestLastFailed(object):
def test_lastfailed_difference_invocations(self, testdir, monkeypatch):
monkeypatch.setenv("PYTHONDONTWRITEBYTECODE", 1)
testdir.makepyfile(
test_a="""
test_a="""\
def test_a1():
assert 0
def test_a2():
assert 1
""",
test_b="""
test_b="""\
def test_b1():
assert 0
""",
@ -317,8 +317,8 @@ class TestLastFailed(object):
result = testdir.runpytest("--lf", p2)
result.stdout.fnmatch_lines(["*1 failed*"])
p2.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def test_b1():
assert 1
"""
@ -332,15 +332,15 @@ class TestLastFailed(object):
def test_lastfailed_usecase_splice(self, testdir, monkeypatch):
monkeypatch.setenv("PYTHONDONTWRITEBYTECODE", 1)
testdir.makepyfile(
"""
"""\
def test_1():
assert 0
"""
)
p2 = testdir.tmpdir.join("test_something.py")
p2.write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def test_2():
assert 0
"""

View File

@ -6,9 +6,9 @@ from __future__ import absolute_import, division, print_function
import pickle
import os
import sys
import textwrap
from io import UnsupportedOperation
import _pytest._code
import py
import pytest
import contextlib
@ -269,7 +269,7 @@ class TestPerTestCapturing(object):
def test_capturing_outerr(self, testdir):
p1 = testdir.makepyfile(
"""
"""\
import sys
def test_capturing():
print (42)
@ -298,7 +298,7 @@ class TestPerTestCapturing(object):
class TestLoggingInteraction(object):
def test_logging_stream_ownership(self, testdir):
p = testdir.makepyfile(
"""
"""\
def test_logging():
import logging
import pytest
@ -312,7 +312,7 @@ class TestLoggingInteraction(object):
def test_logging_and_immediate_setupteardown(self, testdir):
p = testdir.makepyfile(
"""
"""\
import logging
def setup_function(function):
logging.warn("hello1")
@ -338,7 +338,7 @@ class TestLoggingInteraction(object):
def test_logging_and_crossscope_fixtures(self, testdir):
p = testdir.makepyfile(
"""
"""\
import logging
def setup_module(function):
logging.warn("hello1")
@ -364,7 +364,7 @@ class TestLoggingInteraction(object):
def test_conftestlogging_is_shown(self, testdir):
testdir.makeconftest(
"""
"""\
import logging
logging.basicConfig()
logging.warn("hello435")
@ -378,14 +378,14 @@ class TestLoggingInteraction(object):
def test_conftestlogging_and_test_logging(self, testdir):
testdir.makeconftest(
"""
"""\
import logging
logging.basicConfig()
"""
)
# make sure that logging is still captured in tests
p = testdir.makepyfile(
"""
"""\
def test_hello():
import logging
logging.warn("hello433")
@ -403,7 +403,7 @@ class TestCaptureFixture(object):
@pytest.mark.parametrize("opt", [[], ["-s"]])
def test_std_functional(self, testdir, opt):
reprec = testdir.inline_runsource(
"""
"""\
def test_hello(capsys):
print (42)
out, err = capsys.readouterr()
@ -415,7 +415,7 @@ class TestCaptureFixture(object):
def test_capsyscapfd(self, testdir):
p = testdir.makepyfile(
"""
"""\
def test_one(capsys, capfd):
pass
def test_two(capfd, capsys):
@ -438,7 +438,7 @@ class TestCaptureFixture(object):
in the same test is an error.
"""
testdir.makepyfile(
"""
"""\
def test_one(capsys, request):
request.getfixturevalue("capfd")
def test_two(capfd, request):
@ -458,7 +458,7 @@ class TestCaptureFixture(object):
def test_capsyscapfdbinary(self, testdir):
p = testdir.makepyfile(
"""
"""\
def test_one(capsys, capfdbinary):
pass
"""
@ -471,12 +471,13 @@ class TestCaptureFixture(object):
@pytest.mark.parametrize("method", ["sys", "fd"])
def test_capture_is_represented_on_failure_issue128(self, testdir, method):
p = testdir.makepyfile(
"""
def test_hello(cap%s):
"""\
def test_hello(cap{}):
print ("xxx42xxx")
assert 0
"""
% method
""".format(
method
)
)
result = testdir.runpytest(p)
result.stdout.fnmatch_lines(["xxx42xxx"])
@ -484,7 +485,7 @@ class TestCaptureFixture(object):
@needsosdup
def test_stdfd_functional(self, testdir):
reprec = testdir.inline_runsource(
"""
"""\
def test_hello(capfd):
import os
os.write(1, "42".encode('ascii'))
@ -498,7 +499,7 @@ class TestCaptureFixture(object):
@needsosdup
def test_capfdbinary(self, testdir):
reprec = testdir.inline_runsource(
"""
"""\
def test_hello(capfdbinary):
import os
# some likely un-decodable bytes
@ -515,7 +516,7 @@ class TestCaptureFixture(object):
)
def test_capsysbinary(self, testdir):
reprec = testdir.inline_runsource(
"""
"""\
def test_hello(capsysbinary):
import sys
# some likely un-decodable bytes
@ -532,7 +533,7 @@ class TestCaptureFixture(object):
)
def test_capsysbinary_forbidden_in_python2(self, testdir):
testdir.makepyfile(
"""
"""\
def test_hello(capsysbinary):
pass
"""
@ -548,7 +549,7 @@ class TestCaptureFixture(object):
def test_partial_setup_failure(self, testdir):
p = testdir.makepyfile(
"""
"""\
def test_hello(capsys, missingarg):
pass
"""
@ -559,7 +560,7 @@ class TestCaptureFixture(object):
@needsosdup
def test_keyboardinterrupt_disables_capturing(self, testdir):
p = testdir.makepyfile(
"""
"""\
def test_hello(capfd):
import os
os.write(1, str(42).encode('ascii'))
@ -573,7 +574,7 @@ class TestCaptureFixture(object):
@pytest.mark.issue14
def test_capture_and_logging(self, testdir):
p = testdir.makepyfile(
"""
"""\
import logging
def test_log(capsys):
logging.error('x')
@ -586,7 +587,7 @@ class TestCaptureFixture(object):
@pytest.mark.parametrize("no_capture", [True, False])
def test_disabled_capture_fixture(self, testdir, fixture, no_capture):
testdir.makepyfile(
"""
"""\
def test_disabled({fixture}):
print('captured before')
with {fixture}.disabled():
@ -620,7 +621,7 @@ class TestCaptureFixture(object):
Ensure that capsys and capfd can be used by other fixtures during setup and teardown.
"""
testdir.makepyfile(
"""
"""\
from __future__ import print_function
import sys
import pytest
@ -656,7 +657,7 @@ class TestCaptureFixture(object):
def test_fixture_use_by_other_fixtures_teardown(self, testdir, cap):
"""Ensure we can access setup and teardown buffers from teardown when using capsys/capfd (##3033)"""
testdir.makepyfile(
"""
"""\
import sys
import pytest
import os
@ -684,8 +685,8 @@ class TestCaptureFixture(object):
def test_setup_failure_does_not_kill_capturing(testdir):
sub1 = testdir.mkpydir("sub1")
sub1.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def pytest_runtest_setup(item):
raise ValueError(42)
"""

View File

@ -1,9 +1,9 @@
from __future__ import absolute_import, division, print_function
import pprint
import sys
import textwrap
import pytest
import _pytest._code
from _pytest.main import Session, EXIT_NOTESTSCOLLECTED, _in_venv
@ -913,8 +913,8 @@ def test_fixture_scope_sibling_conftests(testdir):
"""Regression test case for https://github.com/pytest-dev/pytest/issues/2836"""
foo_path = testdir.mkdir("foo")
foo_path.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture
def fix():

View File

@ -17,8 +17,8 @@ class TestParseIni(object):
sub = tmpdir.mkdir("sub")
sub.chdir()
tmpdir.join(filename).write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
[{section}]
name = value
""".format(
@ -38,8 +38,8 @@ class TestParseIni(object):
def test_append_parse_args(self, testdir, tmpdir, monkeypatch):
monkeypatch.setenv("PYTEST_ADDOPTS", '--color no -rs --tb="short"')
tmpdir.join("pytest.ini").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
[pytest]
addopts = --verbose
"""
@ -438,8 +438,8 @@ class TestConfigFromdictargs(object):
def test_inifilename(self, tmpdir):
tmpdir.join("foo/bar.ini").ensure().write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
[pytest]
name = value
"""
@ -453,8 +453,8 @@ class TestConfigFromdictargs(object):
cwd = tmpdir.join("a/b")
cwd.join("pytest.ini").ensure().write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
[pytest]
name = wrong-value
should_not_be_set = true

View File

@ -1,7 +1,6 @@
from __future__ import absolute_import, division, print_function
from textwrap import dedent
import textwrap
import _pytest._code
import py
import pytest
from _pytest.config import PytestPluginManager
@ -174,8 +173,8 @@ def test_conftest_confcutdir(testdir):
testdir.makeconftest("assert 0")
x = testdir.mkdir("x")
x.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def pytest_addoption(parser):
parser.addoption("--xyz", action="store_true")
"""
@ -198,8 +197,8 @@ def test_no_conftest(testdir):
def test_conftest_existing_resultlog(testdir):
x = testdir.mkdir("tests")
x.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def pytest_addoption(parser):
parser.addoption("--xyz", action="store_true")
"""
@ -213,8 +212,8 @@ def test_conftest_existing_resultlog(testdir):
def test_conftest_existing_junitxml(testdir):
x = testdir.mkdir("tests")
x.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def pytest_addoption(parser):
parser.addoption("--xyz", action="store_true")
"""
@ -247,8 +246,8 @@ def test_fixture_dependency(testdir, monkeypatch):
sub = testdir.mkdir("sub")
sub.join("__init__.py").write("")
sub.join("conftest.py").write(
dedent(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture
@ -268,8 +267,8 @@ def test_fixture_dependency(testdir, monkeypatch):
subsub = sub.mkdir("subsub")
subsub.join("__init__.py").write("")
subsub.join("test_bar.py").write(
dedent(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture
@ -288,8 +287,8 @@ def test_fixture_dependency(testdir, monkeypatch):
def test_conftest_found_with_double_dash(testdir):
sub = testdir.mkdir("sub")
sub.join("conftest.py").write(
dedent(
"""
textwrap.dedent(
"""\
def pytest_addoption(parser):
parser.addoption("--hello-world", action="store_true")
"""
@ -313,7 +312,7 @@ class TestConftestVisibility(object):
package = testdir.mkdir("package")
package.join("conftest.py").write(
dedent(
textwrap.dedent(
"""\
import pytest
@pytest.fixture
@ -323,7 +322,7 @@ class TestConftestVisibility(object):
)
)
package.join("test_pkgroot.py").write(
dedent(
textwrap.dedent(
"""\
def test_pkgroot(fxtr):
assert fxtr == "from-package"
@ -334,7 +333,7 @@ class TestConftestVisibility(object):
swc = package.mkdir("swc")
swc.join("__init__.py").ensure()
swc.join("conftest.py").write(
dedent(
textwrap.dedent(
"""\
import pytest
@pytest.fixture
@ -344,11 +343,10 @@ class TestConftestVisibility(object):
)
)
swc.join("test_with_conftest.py").write(
dedent(
textwrap.dedent(
"""\
def test_with_conftest(fxtr):
assert fxtr == "from-swc"
"""
)
)
@ -356,12 +354,11 @@ class TestConftestVisibility(object):
snc = package.mkdir("snc")
snc.join("__init__.py").ensure()
snc.join("test_no_conftest.py").write(
dedent(
textwrap.dedent(
"""\
def test_no_conftest(fxtr):
assert fxtr == "from-package" # No local conftest.py, so should
# use value from parent dir's
"""
)
)
@ -422,8 +419,8 @@ def test_search_conftest_up_to_inifile(testdir, confcutdir, passed, error):
src = root.join("src").ensure(dir=1)
src.join("pytest.ini").write("[pytest]")
src.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture
def fix1(): pass
@ -431,8 +428,8 @@ def test_search_conftest_up_to_inifile(testdir, confcutdir, passed, error):
)
)
src.join("test_foo.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def test_1(fix1):
pass
def test_2(out_of_reach):
@ -441,8 +438,8 @@ def test_search_conftest_up_to_inifile(testdir, confcutdir, passed, error):
)
)
root.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import pytest
@pytest.fixture
def out_of_reach(): pass
@ -464,7 +461,7 @@ def test_search_conftest_up_to_inifile(testdir, confcutdir, passed, error):
def test_issue1073_conftest_special_objects(testdir):
testdir.makeconftest(
"""
"""\
class DontTouchMe(object):
def __getattr__(self, x):
raise Exception('cant touch me')
@ -473,7 +470,7 @@ def test_issue1073_conftest_special_objects(testdir):
"""
)
testdir.makepyfile(
"""
"""\
def test_some():
pass
"""
@ -484,12 +481,12 @@ def test_issue1073_conftest_special_objects(testdir):
def test_conftest_exception_handling(testdir):
testdir.makeconftest(
"""
"""\
raise ValueError()
"""
)
testdir.makepyfile(
"""
"""\
def test_some():
pass
"""
@ -507,7 +504,7 @@ def test_hook_proxy(testdir):
**{
"root/demo-0/test_foo1.py": "def test1(): pass",
"root/demo-a/test_foo2.py": "def test1(): pass",
"root/demo-a/conftest.py": """
"root/demo-a/conftest.py": """\
def pytest_ignore_collect(path, config):
return True
""",
@ -525,8 +522,8 @@ def test_required_option_help(testdir):
testdir.makeconftest("assert 0")
x = testdir.mkdir("x")
x.join("conftest.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def pytest_addoption(parser):
parser.addoption("--xyz", action="store_true", required=True)
"""

View File

@ -1,7 +1,7 @@
# encoding: utf-8
from __future__ import absolute_import, division, print_function
import sys
import _pytest._code
import textwrap
from _pytest.compat import MODULE_NOT_FOUND_ERROR
from _pytest.doctest import DoctestItem, DoctestModule, DoctestTextfile
import pytest
@ -258,8 +258,8 @@ class TestDoctests(object):
def test_doctest_linedata_missing(self, testdir):
testdir.tmpdir.join("hello.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
class Fun(object):
@property
def test(self):
@ -300,8 +300,8 @@ class TestDoctests(object):
def test_doctest_unex_importerror_with_module(self, testdir):
testdir.tmpdir.join("hello.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
import asdalsdkjaslkdjasd
"""
)
@ -339,8 +339,8 @@ class TestDoctests(object):
def test_doctestmodule_external_and_issue116(self, testdir):
p = testdir.mkpydir("hello")
p.join("__init__.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
def somefunc():
'''
>>> i = 0
@ -353,13 +353,13 @@ class TestDoctests(object):
result = testdir.runpytest(p, "--doctest-modules")
result.stdout.fnmatch_lines(
[
"004 *>>> i = 0",
"005 *>>> i + 1",
"003 *>>> i = 0",
"004 *>>> i + 1",
"*Expected:",
"* 2",
"*Got:",
"* 1",
"*:5: DocTestFailure",
"*:4: DocTestFailure",
]
)

View File

@ -4,9 +4,9 @@ terminal reporting of the full testing process.
from __future__ import absolute_import, division, print_function
import collections
import sys
import textwrap
import pluggy
import _pytest._code
import py
import pytest
from _pytest.main import EXIT_NOTESTSCOLLECTED
@ -161,8 +161,8 @@ class TestTerminal(object):
def test_itemreport_directclasses_not_shown_as_subclasses(self, testdir):
a = testdir.mkpydir("a123")
a.join("test_hello123.py").write(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
class TestClass(object):
def test_method(self):
pass
@ -312,8 +312,8 @@ class TestCollectonly(object):
result = testdir.runpytest("--collect-only", p)
assert result.ret == 2
result.stdout.fnmatch_lines(
_pytest._code.Source(
"""
textwrap.dedent(
"""\
*ERROR*
*ImportError*
*No module named *Errlk*