Update to 28.6.0. Fixes bug #1385655

This commit is contained in:
Kevin Fenzi 2016-10-18 20:20:14 -06:00
parent 536a44e159
commit bc2deb38e4
4 changed files with 161 additions and 2 deletions

1
.gitignore vendored
View File

@ -67,3 +67,4 @@
/setuptools-28.1.0.tar.gz
/setuptools-28.2.0.tar.gz
/setuptools-28.3.0.tar.gz
/setuptools-28.6.0.tar.gz

View File

@ -0,0 +1,150 @@
From d7523602f9fd7d81b19a6526221875fcb5a258eb Mon Sep 17 00:00:00 2001
From: Tim Heap <tim@timheap.me>
Date: Tue, 18 Oct 2016 09:51:58 +1100
Subject: [PATCH] Sort manifest file list in tests
Different OS's and file systems return lists of files in different
orders, not always creation order. This caused intermittent test
failures.
The file list is now sorted prior to being checked to ensure a
consistent order across all systems.
Fixes #816
---
setuptools/tests/test_manifest.py | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/setuptools/tests/test_manifest.py b/setuptools/tests/test_manifest.py
index 558de2c..8bcf4f5 100644
--- a/setuptools/tests/test_manifest.py
+++ b/setuptools/tests/test_manifest.py
@@ -351,8 +351,8 @@ def test_process_template_line(self):
l('global/one.txt'),
l('global/two.txt'),
]
- file_list.sort()
+ file_list.sort()
assert file_list.files == wanted
def test_exclude_pattern(self):
@@ -369,6 +369,7 @@ def test_exclude_pattern(self):
file_list = FileList()
file_list.files = ['a.py', 'a.txt']
file_list.exclude_pattern('*.py')
+ file_list.sort()
assert file_list.files == ['a.txt']
def test_include_pattern(self):
@@ -386,6 +387,7 @@ def test_include_pattern(self):
file_list = FileList()
self.make_files(['a.py', 'b.txt'])
file_list.include_pattern('*')
+ file_list.sort()
assert file_list.files == ['a.py', 'b.txt']
def test_process_template_line_invalid(self):
@@ -410,10 +412,12 @@ def test_include(self):
self.make_files(['a.py', 'b.txt', l('d/c.py')])
file_list.process_template_line('include *.py')
+ file_list.sort()
assert file_list.files == ['a.py']
self.assertNoWarnings()
file_list.process_template_line('include *.rb')
+ file_list.sort()
assert file_list.files == ['a.py']
self.assertWarnings()
@@ -424,10 +428,12 @@ def test_exclude(self):
file_list.files = ['a.py', 'b.txt', l('d/c.py')]
file_list.process_template_line('exclude *.py')
+ file_list.sort()
assert file_list.files == ['b.txt', l('d/c.py')]
self.assertNoWarnings()
file_list.process_template_line('exclude *.rb')
+ file_list.sort()
assert file_list.files == ['b.txt', l('d/c.py')]
self.assertWarnings()
@@ -438,10 +444,12 @@ def test_global_include(self):
self.make_files(['a.py', 'b.txt', l('d/c.py')])
file_list.process_template_line('global-include *.py')
+ file_list.sort()
assert file_list.files == ['a.py', l('d/c.py')]
self.assertNoWarnings()
file_list.process_template_line('global-include *.rb')
+ file_list.sort()
assert file_list.files == ['a.py', l('d/c.py')]
self.assertWarnings()
@@ -452,10 +460,12 @@ def test_global_exclude(self):
file_list.files = ['a.py', 'b.txt', l('d/c.py')]
file_list.process_template_line('global-exclude *.py')
+ file_list.sort()
assert file_list.files == ['b.txt']
self.assertNoWarnings()
file_list.process_template_line('global-exclude *.rb')
+ file_list.sort()
assert file_list.files == ['b.txt']
self.assertWarnings()
@@ -466,10 +476,12 @@ def test_recursive_include(self):
self.make_files(['a.py', l('d/b.py'), l('d/c.txt'), l('d/d/e.py')])
file_list.process_template_line('recursive-include d *.py')
+ file_list.sort()
assert file_list.files == [l('d/b.py'), l('d/d/e.py')]
self.assertNoWarnings()
file_list.process_template_line('recursive-include e *.py')
+ file_list.sort()
assert file_list.files == [l('d/b.py'), l('d/d/e.py')]
self.assertWarnings()
@@ -480,10 +492,12 @@ def test_recursive_exclude(self):
file_list.files = ['a.py', l('d/b.py'), l('d/c.txt'), l('d/d/e.py')]
file_list.process_template_line('recursive-exclude d *.py')
+ file_list.sort()
assert file_list.files == ['a.py', l('d/c.txt')]
self.assertNoWarnings()
file_list.process_template_line('recursive-exclude e *.py')
+ file_list.sort()
assert file_list.files == ['a.py', l('d/c.txt')]
self.assertWarnings()
@@ -494,10 +508,12 @@ def test_graft(self):
self.make_files(['a.py', l('d/b.py'), l('d/d/e.py'), l('f/f.py')])
file_list.process_template_line('graft d')
+ file_list.sort()
assert file_list.files == [l('d/b.py'), l('d/d/e.py')]
self.assertNoWarnings()
file_list.process_template_line('graft e')
+ file_list.sort()
assert file_list.files == [l('d/b.py'), l('d/d/e.py')]
self.assertWarnings()
@@ -508,9 +524,11 @@ def test_prune(self):
file_list.files = ['a.py', l('d/b.py'), l('d/d/e.py'), l('f/f.py')]
file_list.process_template_line('prune d')
+ file_list.sort()
assert file_list.files == ['a.py', l('f/f.py')]
self.assertNoWarnings()
file_list.process_template_line('prune e')
+ file_list.sort()
assert file_list.files == ['a.py', l('f/f.py')]
self.assertWarnings()

View File

@ -29,7 +29,7 @@
%endif
Name: python-setuptools
Version: 28.3.0
Version: 28.6.0
Release: 1%{?dist}
Summary: Easily build and distribute Python packages
@ -44,6 +44,9 @@ Source1: https://hg.python.org/cpython/raw-file/tip/LICENSE
Source2: https://raw.githubusercontent.com/zopefoundation/Zope/master/LICENSE.txt
# ASL 2.0
Source3: http://www.apache.org/licenses/LICENSE-2.0
# Already upsteamed
# https://github.com/pypa/setuptools/issues/816
Patch0: https://github.com/timheap/setuptools/commit/d7523602f9fd7d81b19a6526221875fcb5a258eb.patch
BuildArch: noarch
BuildRequires: python2-devel
@ -136,6 +139,8 @@ rm -f setuptools/*.exe
# These tests require internet connection
rm setuptools/tests/test_integration.py
%patch0 -p1
%build
%if 0%{?build_wheel}
%{__python} setup.py bdist_wheel
@ -223,6 +228,9 @@ LANG=en_US.utf8 PYTHONPATH=$(pwd) py.test-%{python3_version}
%endif # with_python3
%changelog
* Tue Oct 18 2016 Kevin Fenzi <kevin@scrye.com> - 28.6.0-1
- Update to 28.6.0. Fixes bug #1385655
* Sat Oct 08 2016 Kevin Fenzi <kevin@scrye.com> - 28.3.0-1
- Update to 28.3.0. Fixes bug #1382971

View File

@ -1 +1 @@
a46750b6bd90a1343466bd57b0e2721a setuptools-28.3.0.tar.gz
7a07fe2796aa98631d50dc107e266368 setuptools-28.6.0.tar.gz