[pypy-commit] pypy py3k: add _testcapi skips from default + others
pjenvey
noreply at buildbot.pypy.org
Thu May 16 21:26:29 CEST 2013
Author: Philip Jenvey <pjenvey at underboss.org>
Branch: py3k
Changeset: r64239:c81479fc13b0
Date: 2013-05-16 11:48 -0700
http://bitbucket.org/pypy/pypy/changeset/c81479fc13b0/
Log: add _testcapi skips from default + others
diff --git a/lib-python/3/test/test_code.py b/lib-python/3/test/test_code.py
--- a/lib-python/3/test/test_code.py
+++ b/lib-python/3/test/test_code.py
@@ -104,7 +104,10 @@
import unittest
import weakref
-import _testcapi
+try:
+ import _testcapi
+except ImportError:
+ _testcapi = None
from test import support
@@ -127,6 +130,7 @@
class CodeTest(unittest.TestCase):
+ @unittest.skipUnless(_testcapi, 'Requires _testcapi')
def test_newempty(self):
co = _testcapi.code_newempty("filename", "funcname", 15)
self.assertEqual(co.co_filename, "filename")
diff --git a/lib-python/3/test/test_codecs.py b/lib-python/3/test/test_codecs.py
--- a/lib-python/3/test/test_codecs.py
+++ b/lib-python/3/test/test_codecs.py
@@ -2,7 +2,11 @@
import unittest
import codecs
import locale
-import sys, _testcapi, io
+import sys, io
+try:
+ import _testcapi
+except ImportError:
+ _testcapi = None
class Queue(object):
"""
@@ -1417,7 +1421,7 @@
decodedresult += reader.read()
self.assertEqual(decodedresult, s, "%r != %r (encoding=%r)" % (decodedresult, s, encoding))
- if encoding not in broken_incremental_coders:
+ if encoding not in broken_incremental_coders and _testcapi:
# check incremental decoder/encoder (fetched via the Python
# and C API) and iterencode()/iterdecode()
try:
diff --git a/lib-python/3/test/test_exceptions.py b/lib-python/3/test/test_exceptions.py
--- a/lib-python/3/test/test_exceptions.py
+++ b/lib-python/3/test/test_exceptions.py
@@ -6,6 +6,10 @@
import pickle
import weakref
import errno
+try:
+ import _testcapi
+except ImportError:
+ _testcapi = None
from test.support import (TESTFN, unlink, run_unittest, captured_output,
gc_collect, cpython_only)
@@ -762,6 +766,7 @@
self.assertIn("maximum recursion depth exceeded", str(v))
+ @unittest.skipUnless(_testcapi, 'Requires _testcapi')
def test_MemoryError(self):
# PyErr_NoMemory always raises the same exception instance.
# Check that the traceback is not doubled.
@@ -820,6 +825,7 @@
self.assertEqual(error5.a, 1)
self.assertEqual(error5.__doc__, "")
+ @unittest.skipUnless(_testcapi, 'Requires _testcapi')
def test_memory_error_cleanup(self):
# Issue #5437: preallocated MemoryError instances should not keep
# traceback objects alive.
diff --git a/lib-python/3/test/test_traceback.py b/lib-python/3/test/test_traceback.py
--- a/lib-python/3/test/test_traceback.py
+++ b/lib-python/3/test/test_traceback.py
@@ -1,6 +1,9 @@
"""Test cases for traceback module"""
-from _testcapi import traceback_print, exception_print
+try:
+ import _testcapi
+except ImportError:
+ _testcapi = None
from io import StringIO
import sys
import unittest
@@ -154,6 +157,7 @@
class TracebackFormatTests(unittest.TestCase):
+ @unittest.skipUnless(_testcapi, 'Requires _testcapi')
def test_traceback_format(self):
try:
raise KeyError('blah')
@@ -162,7 +166,7 @@
traceback_fmt = 'Traceback (most recent call last):\n' + \
''.join(traceback.format_tb(tb))
file_ = StringIO()
- traceback_print(tb, file_)
+ _testcapi.traceback_print(tb, file_)
python_fmt = file_.getvalue()
else:
raise Error("unable to create test traceback string")
@@ -326,10 +330,11 @@
# This checks built-in reporting by the interpreter.
#
+ @unittest.skipUnless(_testcapi, 'Requires _testcapi')
def get_report(self, e):
e = self.get_exception(e)
with captured_output("stderr") as s:
- exception_print(e)
+ _testcapi.exception_print(e)
return s.getvalue()
diff --git a/lib-python/3/test/test_unicode.py b/lib-python/3/test/test_unicode.py
--- a/lib-python/3/test/test_unicode.py
+++ b/lib-python/3/test/test_unicode.py
@@ -12,6 +12,10 @@
import warnings
from test import support, string_tests
import _string
+try:
+ import _testcapi
+except ImportError:
+ _testcapi = None
# decorator to skip tests on narrow builds
requires_wide_build = unittest.skipIf(sys.maxunicode == 65535,
@@ -1659,6 +1663,7 @@
self.assertEqual(text, 'repr=abc\ufffd')
# Test PyUnicode_AsWideChar()
+ @unittest.skipUnless(_testcapi, 'Requires _testcapi')
def test_aswidechar(self):
from _testcapi import unicode_aswidechar
support.import_module('ctypes')
@@ -1696,6 +1701,7 @@
self.assertEqual(wchar, nonbmp + '\0')
# Test PyUnicode_AsWideCharString()
+ @unittest.skipUnless(_testcapi, 'Requires _testcapi')
def test_aswidecharstring(self):
from _testcapi import unicode_aswidecharstring
support.import_module('ctypes')
@@ -1769,6 +1775,7 @@
]])
self.assertRaises(TypeError, _string.formatter_field_name_split, 1)
+ @unittest.skipUnless(_testcapi, 'Requires _testcapi')
def test_encode_decimal(self):
from _testcapi import unicode_encodedecimal
self.assertEqual(unicode_encodedecimal('123'),
@@ -1794,6 +1801,7 @@
self.assertEqual(unicode_encodedecimal("123\u20ac\u0660", "replace"),
b'123?0')
+ @unittest.skipUnless(_testcapi, 'Requires _testcapi')
def test_transform_decimal(self):
from _testcapi import unicode_transformdecimaltoascii as transform_decimal
self.assertEqual(transform_decimal('123'),
More information about the pypy-commit
mailing list