[python-docutils] fix/disable failing tests with python 3.3
dmalcolm
dmalcolm at fedoraproject.org
Fri Aug 24 01:06:00 UTC 2012
commit 7d581d9bb24cef3fa6ae542c5cbb7593b7beb97d
Author: David Malcolm <dmalcolm at redhat.com>
Date: Thu Aug 23 21:04:54 2012 -0400
fix/disable failing tests with python 3.3
disable-failing-tests.patch | 67 +++++++++++++++++++++++++++++++++++++++++++
fix-dict-ordering.patch | 37 +++++++++++++++++++++++
python-docutils.spec | 23 ++++++++++++++-
3 files changed, 126 insertions(+), 1 deletions(-)
---
diff --git a/disable-failing-tests.patch b/disable-failing-tests.patch
new file mode 100644
index 0000000..6f7e41f
--- /dev/null
+++ b/disable-failing-tests.patch
@@ -0,0 +1,67 @@
+diff -up docutils-0.10/test/test_error_reporting.py.disable-failing-tests docutils-0.10/test/test_error_reporting.py
+--- docutils-0.10/test/test_error_reporting.py.disable-failing-tests 2012-07-30 23:57:17.000000000 -0400
++++ docutils-0.10/test/test_error_reporting.py 2012-08-23 20:54:50.761166815 -0400
+@@ -145,6 +145,8 @@ class ErrorStringTests(unittest.TestCase
+ self.assertEqual('ImportError: %s' % SafeString(self.us),
+ str(ErrorString(ImportError(self.us))))
+
++ @unittest.skipIf(sys.version_info[:2] == (3, 3),
++ "known failure with Python 3.3; http://sourceforge.net/tracker/?func=detail&aid=3561133&group_id=38414&atid=422030")
+ def test_unicode(self):
+ self.assertEqual(u'Exception: spam',
+ unicode(ErrorString(Exception(u'spam'))))
+diff -up docutils-0.10/test/test_parsers/test_rst/test_inline_markup.py.disable-failing-tests docutils-0.10/test/test_parsers/test_rst/test_inline_markup.py
+--- docutils-0.10/test/test_parsers/test_rst/test_inline_markup.py.disable-failing-tests 2012-07-30 23:57:17.000000000 -0400
++++ docutils-0.10/test/test_parsers/test_rst/test_inline_markup.py 2012-08-23 21:00:02.493284448 -0400
+@@ -10,10 +10,17 @@ Tests for inline markup in docutils/pars
+ Interpreted text tests are in a separate module, test_interpreted.py.
+ """
+
++import sys
++
+ from __init__ import DocutilsTestSupport
+
+ def suite():
+ s = DocutilsTestSupport.ParserTestSuite()
++
++ if sys.version_info[:2] == (3, 3):
++ # known failure with Python 3.3; http://sourceforge.net/tracker/?func=detail&aid=3561133&group_id=38414&atid=422030"
++ return s
++
+ s.generateTests(totest)
+ return s
+
+diff -up docutils-0.10/test/test_writers/test_odt.py.disable-failing-tests docutils-0.10/test/test_writers/test_odt.py
+--- docutils-0.10/test/test_writers/test_odt.py.disable-failing-tests 2012-07-30 23:57:13.000000000 -0400
++++ docutils-0.10/test/test_writers/test_odt.py 2012-08-23 20:54:50.763166817 -0400
+@@ -36,6 +36,7 @@ import StringIO
+ import zipfile
+ from xml.dom import minidom
+ import tempfile
++import unittest
+
+ from __init__ import DocutilsTestSupport
+
+@@ -147,16 +148,22 @@ class DocutilsOdtTestCase(DocutilsTestSu
+ # See instructions above in module doc-string.
+ #
+
++ @unittest.skipIf(sys.version_info[:2] == (3, 3),
++ "known failure with Python 3.3; see https://sourceforge.net/tracker/?func=detail&aid=3555164&group_id=38414&atid=422030")
+ def test_odt_basic(self):
+ self.process_test('odt_basic.txt', 'odt_basic.odt',
+ #save_output_name='odt_basic.odt'
+ )
+
++ @unittest.skipIf(sys.version_info[:2] == (3, 3),
++ "known failure with Python 3.3; see https://sourceforge.net/tracker/?func=detail&aid=3555164&group_id=38414&atid=422030")
+ def test_odt_tables1(self):
+ self.process_test('odt_tables1.txt', 'odt_tables1.odt',
+ #save_output_name='odt_tables1.odt'
+ )
+
++ @unittest.skipIf(sys.version_info[:2] == (3, 3),
++ "known failure with Python 3.3; see https://sourceforge.net/tracker/?func=detail&aid=3555164&group_id=38414&atid=422030")
+ def test_odt_custom_headfoot(self):
+ settings_overrides = {
+ 'custom_header': 'Page %p% of %P%',
diff --git a/fix-dict-ordering.patch b/fix-dict-ordering.patch
new file mode 100644
index 0000000..5e48953
--- /dev/null
+++ b/fix-dict-ordering.patch
@@ -0,0 +1,37 @@
+diff -up docutils-0.10/docutils/writers/latex2e/__init__.py.py33 docutils-0.10/docutils/writers/latex2e/__init__.py
+--- docutils-0.10/docutils/writers/latex2e/__init__.py.py33 2012-08-07 14:57:41.057751711 -0400
++++ docutils-0.10/docutils/writers/latex2e/__init__.py 2012-08-07 14:57:46.730751705 -0400
+@@ -379,7 +379,7 @@ class Babel(object):
+
+ def __call__(self):
+ """Return the babel call with correct options and settings"""
+- languages = self.otherlanguages.keys()
++ languages = sorted(self.otherlanguages.keys())
+ languages.append(self.language or 'english')
+ self.setup = [r'\usepackage[%s]{babel}' % ','.join(languages)]
+ if 'spanish' in languages:
+diff -up docutils-0.10/docutils/writers/xetex/__init__.py.py33 docutils-0.10/docutils/writers/xetex/__init__.py
+--- docutils-0.10/docutils/writers/xetex/__init__.py.py33 2012-08-07 14:42:22.041753020 -0400
++++ docutils-0.10/docutils/writers/xetex/__init__.py 2012-08-07 14:44:51.983751704 -0400
+@@ -117,7 +117,7 @@ class Babel(latex2e.Babel):
+ r'\setdefaultlanguage{%s}' % self.language]
+ if self.otherlanguages:
+ setup.append(r'\setotherlanguages{%s}' %
+- ','.join(self.otherlanguages.keys()))
++ ','.join(sorted(self.otherlanguages.keys())))
+ return '\n'.join(setup)
+
+
+diff -up docutils-0.10/test/functional/expected/standalone_rst_latex.tex.py33 docutils-0.10/test/functional/expected/standalone_rst_latex.tex
+diff -up docutils-0.10/test/functional/expected/standalone_rst_xetex.tex.py33 docutils-0.10/test/functional/expected/standalone_rst_xetex.tex
+--- docutils-0.10/test/functional/expected/standalone_rst_xetex.tex.py33 2012-08-07 14:52:09.929751238 -0400
++++ docutils-0.10/test/functional/expected/standalone_rst_xetex.tex 2012-08-07 14:52:30.932751704 -0400
+@@ -7,7 +7,7 @@
+ \usepackage{amsmath}
+ \usepackage{polyglossia}
+ \setdefaultlanguage{english}
+-\setotherlanguages{german,british,french}
++\setotherlanguages{british,french,german}
+ \usepackage{color}
+ \usepackage{float} % float configuration
+ \floatplacement{figure}{H} % place figures here definitely
diff --git a/python-docutils.spec b/python-docutils.spec
index 92a3e4e..9368396 100644
--- a/python-docutils.spec
+++ b/python-docutils.spec
@@ -11,7 +11,7 @@
Name: python-%{srcname}
Version: 0.10
-Release: 0.3.20120730svn7490%{?dist}
+Release: 0.4.20120730svn7490%{?dist}
Summary: System for processing plaintext documentation
Group: Development/Languages
@@ -27,6 +27,22 @@ URL: http://docutils.sourceforge.net
Source0: %{srcname}-%{version}.tar.gz
# Upstream provided patch for pyxml issue
Patch0: docutils-0.9.1-pyxml-upstream.patch
+
+# Fix implicit dict-ordering assumption in a couple of places where hash
+# randomization (on by default in Python 3.3) can affect the order in which
+# items appear in the "gold" output of selftests:
+# Filed upstream as:
+# https://sourceforge.net/tracker/?func=detail&aid=3555160&group_id=38414&atid=422032
+Patch1: fix-dict-ordering.patch
+
+# Disable some tests known to fail with Python 3.3
+# Bug reports filed upstream as:
+# https://sourceforge.net/tracker/?func=detail&aid=3555164&group_id=38414&atid=422030
+# and:
+# http://sourceforge.net/tracker/?func=detail&aid=3561133&group_id=38414&atid=422030
+Patch2: disable-failing-tests.patch
+
+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
@@ -77,6 +93,8 @@ This package contains the module, ported to run under python3.
%setup -q -n %{srcname}-%{version}
%patch0 -p1 -b .pyxml
+%patch1 -p1
+%patch2 -p1 -b .disable-failing-tests
# Remove shebang from library files
for file in docutils/utils/{code_analyzer.py,punctuation_chars.py,error_reporting.py} docutils/utils/math/{latex2mathml.py,math2html.py} docutils/writers/xetex/__init__.py; do
@@ -163,6 +181,9 @@ rm -rf %{buildroot}
%endif
%changelog
+* Fri Aug 24 2012 David Malcolm <dmalcolm at redhat.com> - 0.10-0.4.20120730svn7490
+- fix/disable failing tests with python 3.3
+
* Tue Aug 14 2012 Toshio Kuratomi <toshio at fedoraproject.org> - 0.10-0.3.20120730svn7490
- PyXML patch from upstream
- Fix ability to disable python3 builds
More information about the scm-commits
mailing list