mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-04-28 16:17:38 -07:00
107 lines
3.9 KiB
Diff
107 lines
3.9 KiB
Diff
https://github.com/python-cffi/cffi/commit/c36c02fa6f4f1d12a9cead81861c6f42af47da22
|
|
|
|
From c36c02fa6f4f1d12a9cead81861c6f42af47da22 Mon Sep 17 00:00:00 2001
|
|
From: Eli Bendersky <eliben@gmail.com>
|
|
Date: Sat, 24 Jan 2026 17:54:58 -0800
|
|
Subject: [PATCH] Make test_parsing more resilient to changes in pycparser
|
|
(#224)
|
|
|
|
* Make test_parsing more resilient to changes in pycparser
|
|
|
|
Several tests expect precise error messages from pycparser, which pycparser
|
|
doesn't guarantee. While testing CFFI with pycparser 3.0, some tests needed
|
|
to be made more resilient. I've used the .startswith() approach already used
|
|
in this file, instead of exact string matching.
|
|
|
|
Ref #223
|
|
|
|
* Loosen error message assertion even more
|
|
---
|
|
testing/cffi0/test_parsing.py | 18 +++++++++---------
|
|
1 file changed, 9 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/testing/cffi0/test_parsing.py b/testing/cffi0/test_parsing.py
|
|
index 8d4dd016..3e47bcdd 100644
|
|
--- a/testing/cffi0/test_parsing.py
|
|
+++ b/testing/cffi0/test_parsing.py
|
|
@@ -197,7 +197,7 @@ def test_dont_remove_comment_in_line_directives():
|
|
|
|
some syntax error here
|
|
""")
|
|
- assert str(e.value) == "parse error\nbaz.c:9:14: before: syntax"
|
|
+ assert str(e.value).startswith("parse error\nbaz.c:9:")
|
|
#
|
|
e = pytest.raises(CDefError, ffi.cdef, """
|
|
#line 7 "foo//bar.c"
|
|
@@ -205,21 +205,21 @@ def test_dont_remove_comment_in_line_directives():
|
|
some syntax error here
|
|
""")
|
|
#
|
|
- assert str(e.value) == "parse error\nfoo//bar.c:8:14: before: syntax"
|
|
+ assert str(e.value).startswith("parse error\nfoo//bar.c:8:")
|
|
ffi = FFI(backend=FakeBackend())
|
|
e = pytest.raises(CDefError, ffi.cdef, """
|
|
\t # \t 8 \t "baz.c" \t
|
|
|
|
some syntax error here
|
|
""")
|
|
- assert str(e.value) == "parse error\nbaz.c:9:14: before: syntax"
|
|
+ assert str(e.value).startswith("parse error\nbaz.c:9:")
|
|
#
|
|
e = pytest.raises(CDefError, ffi.cdef, """
|
|
# 7 "foo//bar.c"
|
|
|
|
some syntax error here
|
|
""")
|
|
- assert str(e.value) == "parse error\nfoo//bar.c:8:14: before: syntax"
|
|
+ assert str(e.value).startswith("parse error\nfoo//bar.c:8:")
|
|
|
|
def test_multiple_line_directives():
|
|
ffi = FFI(backend=FakeBackend())
|
|
@@ -233,7 +233,7 @@ def test_multiple_line_directives():
|
|
#line 8 "yadda.c"
|
|
extern int zz;
|
|
""")
|
|
- assert str(e.value) == "parse error\nbaz.c:7:14: before: syntax"
|
|
+ assert str(e.value).startswith("parse error\nbaz.c:7:")
|
|
#
|
|
e = pytest.raises(CDefError, ffi.cdef,
|
|
""" # 5 "foo.c"
|
|
@@ -245,7 +245,7 @@ def test_multiple_line_directives():
|
|
# 8 "yadda.c"
|
|
extern int zz;
|
|
""")
|
|
- assert str(e.value) == "parse error\nbaz.c:7:14: before: syntax"
|
|
+ assert str(e.value).startswith("parse error\nbaz.c:7:")
|
|
|
|
def test_commented_line_directive():
|
|
ffi = FFI(backend=FakeBackend())
|
|
@@ -262,7 +262,7 @@ def test_commented_line_directive():
|
|
some syntax error
|
|
""")
|
|
#
|
|
- assert str(e.value) == "parse error\nbar.c:9:14: before: syntax"
|
|
+ assert str(e.value).startswith("parse error\nbar.c:9:")
|
|
e = pytest.raises(CDefError, ffi.cdef, """
|
|
/*
|
|
# 5 "foo.c"
|
|
@@ -275,7 +275,7 @@ def test_commented_line_directive():
|
|
*/
|
|
some syntax error
|
|
""")
|
|
- assert str(e.value) == "parse error\nbar.c:9:14: before: syntax"
|
|
+ assert str(e.value).startswith("parse error\nbar.c:9:")
|
|
|
|
def test_line_continuation_in_defines():
|
|
ffi = FFI(backend=FakeBackend())
|
|
@@ -365,7 +365,7 @@ def test_unknown_name():
|
|
e = pytest.raises(CDefError, ffi.cast, "foobarbazunknown*", 0)
|
|
assert str(e.value).startswith('cannot parse "foobarbazunknown*"')
|
|
e = pytest.raises(CDefError, ffi.cast, "int(*)(foobarbazunknown)", 0)
|
|
- assert str(e.value).startswith('cannot parse "int(*)(foobarbazunknown)"')
|
|
+ assert 'foobarbazunknown' in str(e.value)
|
|
|
|
def test_redefine_common_type():
|
|
prefix = "" if sys.version_info < (3,) else "b"
|
|
|