From 5505826db921b0e46c30004ea20b6bf6e478e683 Mon Sep 17 00:00:00 2001 From: Anthony Sottile 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 0103acb70..fc5eaed04 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 @@ comment 4 ''' 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 b2a515f11..33878c8f4 100644 --- a/testing/test_skipping.py +++ b/testing/test_skipping.py @@ -910,7 +910,6 @@ def test_reportchars_all_error(testdir): 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_errors_in_xfail_skip_expressions(testdir): 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*",