pytest/4804.patch
2019-03-14 15:05:07 +01:00

64 lines
2.2 KiB
Diff

From 5505826db921b0e46c30004ea20b6bf6e478e683 Mon Sep 17 00:00:00 2001
From: Anthony Sottile <asottile@umich.edu>
Date: Fri, 15 Feb 2019 17:34:31 -0800
Subject: [PATCH] Fix python3.8 / pypy failures
---
testing/code/test_source.py | 11 ++++++++---
testing/test_skipping.py | 5 ++++-
2 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/testing/code/test_source.py b/testing/code/test_source.py
index 0103acb702..fc5eaed041 100644
--- a/testing/code/test_source.py
+++ b/testing/code/test_source.py
@@ -560,7 +560,6 @@ def test_oneline_and_comment():
assert str(source) == "raise ValueError"
-@pytest.mark.xfail(hasattr(sys, "pypy_version_info"), reason="does not work on pypy")
def test_comments():
source = '''def test():
"comment 1"
@@ -576,9 +575,15 @@ def test_comments():
'''
for line in range(2, 6):
assert str(getstatement(line, source)) == " x = 1"
- for line in range(6, 10):
+ if sys.version_info >= (3, 8) or hasattr(sys, "pypy_version_info"):
+ tqs_start = 8
+ else:
+ tqs_start = 10
+ assert str(getstatement(10, source)) == '"""'
+ for line in range(6, tqs_start):
assert str(getstatement(line, source)) == " assert False"
- assert str(getstatement(10, source)) == '"""'
+ for line in range(tqs_start, 10):
+ assert str(getstatement(line, source)) == '"""\ncomment 4\n"""'
def test_comment_in_statement():
diff --git a/testing/test_skipping.py b/testing/test_skipping.py
index b2a515f11c..33878c8f47 100644
--- a/testing/test_skipping.py
+++ b/testing/test_skipping.py
@@ -910,7 +910,6 @@ def test_foo():
result.stdout.fnmatch_lines(["ERROR*test_foo*"])
-@pytest.mark.xfail("hasattr(sys, 'pypy_version_info')")
def test_errors_in_xfail_skip_expressions(testdir):
testdir.makepyfile(
"""
@@ -931,6 +930,10 @@ def test_func():
if sys.platform.startswith("java"):
# XXX report this to java
markline = "*" + markline[8:]
+ elif hasattr(sys, "pypy_version_info") and sys.pypy_version_info < (6,):
+ markline = markline[5:]
+ elif sys.version_info >= (3, 8) or hasattr(sys, "pypy_version_info"):
+ markline = markline[4:]
result.stdout.fnmatch_lines(
[
"*ERROR*test_nameerror*",