Re: [Python-Dev] [Python-checkins] r83778 - in python/branches/py3k/Lib/test: test_import.py test_sax.py test_sys.py test_urllib.py test_urllib2.py test_xml_etree.py
Hi, On 07/08/2010 13.09, victor.stinner wrote:
Author: victor.stinner Date: Sat Aug 7 12:09:35 2010 New Revision: 83778
Log: Issue #9425: skip tests if a filename is not encodable
Modified: python/branches/py3k/Lib/test/test_import.py python/branches/py3k/Lib/test/test_sax.py python/branches/py3k/Lib/test/test_sys.py python/branches/py3k/Lib/test/test_urllib.py python/branches/py3k/Lib/test/test_urllib2.py python/branches/py3k/Lib/test/test_xml_etree.py
Modified: python/branches/py3k/Lib/test/test_import.py ============================================================================== --- python/branches/py3k/Lib/test/test_import.py (original) +++ python/branches/py3k/Lib/test/test_import.py Sat Aug 7 12:09:35 2010 @@ -291,6 +291,11 @@
def test_import_by_filename(self): path = os.path.abspath(TESTFN) + encoding = sys.getfilesystemencoding() + try: + path.encode(encoding) + except UnicodeEncodeError: + self.skipTest('path is not encodable to {}'.format(encoding)) with self.assertRaises(ImportError) as c: __import__(path) self.assertEqual("Import by filename is not supported.",
Modified: python/branches/py3k/Lib/test/test_sax.py ============================================================================== --- python/branches/py3k/Lib/test/test_sax.py (original) +++ python/branches/py3k/Lib/test/test_sax.py Sat Aug 7 12:09:35 2010 @@ -18,6 +18,11 @@
TEST_XMLFILE = findfile("test.xml", subdir="xmltestdata") TEST_XMLFILE_OUT = findfile("test.xml.out", subdir="xmltestdata") +try: + TEST_XMLFILE.encode("utf8") + TEST_XMLFILE_OUT.encode("utf8") +except UnicodeEncodeError: + raise unittest.SkipTest("filename is not encodable to utf8")
ns_uri = "http://www.python.org/xml-ns/saxtest/"
Modified: python/branches/py3k/Lib/test/test_sys.py ============================================================================== --- python/branches/py3k/Lib/test/test_sys.py (original) +++ python/branches/py3k/Lib/test/test_sys.py Sat Aug 7 12:09:35 2010 @@ -509,8 +509,10 @@ p = subprocess.Popen([sys.executable, "-c", code], stderr=subprocess.PIPE) stdout, stderr = p.communicate() self.assertEqual(p.returncode, 1) - self.assert_(b"UnicodeEncodeError:" in stderr, - "%r not in %s" % (b"UniodeEncodeError:", ascii(stderr))) + self.assertIn( + br"UnicodeEncodeError: 'utf-8' codec can't encode character " + br"'\udcff' in position 7: surrogates not allowed", + stderr)
This caused some failures in the buildbots: test test_sys failed -- Traceback (most recent call last): File "/home2/buildbot/slave/3.x.loewis-sun/build/Lib/test/test_sys.py", line 515, in test_main_invalid_unicode stderr) AssertionError: b"UnicodeEncodeError: 'utf-8' codec can't encode character '\\udcff' in position 7: surrogates not allowed" not found in b'Traceback (most recent call last):\n File "<string>", line 1, in<module>\nUnicodeEncodeError: \'ascii\' codec can\'t encode character \'\\xff\' in position 0: ordinal not in range(128)\n[32513 refs]\n' See http://www.python.org/dev/buildbot/all/builders/sparc%20solaris10%20gcc%203....
def test_sys_flags(self): self.assertTrue(sys.flags)
Modified: python/branches/py3k/Lib/test/test_urllib.py ============================================================================== --- python/branches/py3k/Lib/test/test_urllib.py (original) +++ python/branches/py3k/Lib/test/test_urllib.py Sat Aug 7 12:09:35 2010 @@ -232,8 +232,12 @@ except: pass
def constructLocalFileUrl(self, filePath): - return "file://%s" % urllib.request.pathname2url( - os.path.abspath(filePath)) + filePath = os.path.abspath(filePath) + try: + filePath.encode("utf8") + except UnicodeEncodeError: + raise unittest.SkipTest("filePath is not encodable to utf8") + return "file://%s" % urllib.request.pathname2url(filePath)
def createNewTempFile(self, data=b""): """Creates a new temporary file containing the specified data,
Modified: python/branches/py3k/Lib/test/test_urllib2.py ============================================================================== --- python/branches/py3k/Lib/test/test_urllib2.py (original) +++ python/branches/py3k/Lib/test/test_urllib2.py Sat Aug 7 12:09:35 2010 @@ -597,6 +597,10 @@
def sanepathname2url(path): + try: + path.encode("utf8") + except UnicodeEncodeError: + raise unittest.SkipTest("path is not encodable to utf8") urlpath = urllib.request.pathname2url(path) if os.name == "nt" and urlpath.startswith("///"): urlpath = urlpath[2:]
Modified: python/branches/py3k/Lib/test/test_xml_etree.py ============================================================================== --- python/branches/py3k/Lib/test/test_xml_etree.py (original) +++ python/branches/py3k/Lib/test/test_xml_etree.py Sat Aug 7 12:09:35 2010 @@ -13,6 +13,7 @@
import sys import cgi +import unittest
from test import support from test.support import findfile @@ -20,6 +21,10 @@ from xml.etree import ElementTree as ET
SIMPLE_XMLFILE = findfile("simple.xml", subdir="xmltestdata") +try: + SIMPLE_XMLFILE.encode("utf8") +except UnicodeEncodeError: + raise unittest.SkipTest("filename is not encodable to utf8") SIMPLE_NS_XMLFILE = findfile("simple-ns.xml", subdir="xmltestdata")
SAMPLE_XML = """\ _______________________________________________ Python-checkins mailing list Python-checkins@python.org http://mail.python.org/mailman/listinfo/python-checkins
Best Regards, Ezio Melotti
participants (1)
-
Ezio Melotti