Accepting request 685184 from home:jayvdb:django
- Activate test suite and remove bcond test - Add py37.patch already merged upstream to fix Python 3.7, especially git submodules - Add test_blocking_lock_file-extra-time.patch to avoid an indeterministic timing failure - Add test-skips.patch to skip one expected failure and workaround two unknown failures - Remove test suite from the runtime package - Add doc/source/*.rst to %docs - Remove dependency on python3-mock - Set build dependency ddt minimum version 1.1.1 OBS-URL: https://build.opensuse.org/request/show/685184 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-GitPython?expand=0&rev=20
This commit is contained in:
parent
014bdac590
commit
ad4dad059d
18
_service
Normal file
18
_service
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<services>
|
||||||
|
<service mode="localonly" name="obs_scm">
|
||||||
|
<param name="scm">git</param>
|
||||||
|
<param name="url">git://github.com/gitpython-developers/GitPython</param>
|
||||||
|
<param name="versionprefix">2.1.11.git</param>
|
||||||
|
<param name="filename">test-data</param>
|
||||||
|
<param name="submodules">enable</param>
|
||||||
|
<param name="package-meta">yes</param>
|
||||||
|
</service>
|
||||||
|
<service mode="localonly" name="tar">
|
||||||
|
<param name="filename">test-data</param>
|
||||||
|
<param name="package-meta">yes</param>
|
||||||
|
</service>
|
||||||
|
<service mode="localonly" name="recompress">
|
||||||
|
<param name="file">test-data.tar</param>
|
||||||
|
<param name="compression">xz</param>
|
||||||
|
</service>
|
||||||
|
</services>
|
51
merged_pr_793.patch
Normal file
51
merged_pr_793.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
diff -ur GitPython-2.1.11-orig/git/objects/submodule/base.py GitPython-2.1.11/git/objects/submodule/base.py
|
||||||
|
--- GitPython-2.1.11-orig/git/objects/submodule/base.py 2019-03-13 17:12:27.055299102 +0700
|
||||||
|
+++ GitPython-2.1.11/git/objects/submodule/base.py 2019-03-13 17:14:33.840773626 +0700
|
||||||
|
@@ -1160,7 +1160,7 @@
|
||||||
|
try:
|
||||||
|
parser = cls._config_parser(repo, pc, read_only=True)
|
||||||
|
except IOError:
|
||||||
|
- raise StopIteration
|
||||||
|
+ return
|
||||||
|
# END handle empty iterator
|
||||||
|
|
||||||
|
rt = pc.tree # root tree
|
||||||
|
diff -ur GitPython-2.1.11-orig/git/repo/base.py GitPython-2.1.11/git/repo/base.py
|
||||||
|
--- GitPython-2.1.11-orig/git/repo/base.py 2019-03-13 17:12:29.187300315 +0700
|
||||||
|
+++ GitPython-2.1.11/git/repo/base.py 2019-03-13 17:14:33.884774474 +0700
|
||||||
|
@@ -714,7 +714,10 @@
|
||||||
|
|
||||||
|
stream = (line for line in data.split(b'\n') if line)
|
||||||
|
while True:
|
||||||
|
- line = next(stream) # when exhausted, causes a StopIteration, terminating this function
|
||||||
|
+ try:
|
||||||
|
+ line = next(stream) # when exhausted, causes a StopIteration, terminating this function
|
||||||
|
+ except StopIteration:
|
||||||
|
+ return
|
||||||
|
hexsha, orig_lineno, lineno, num_lines = line.split()
|
||||||
|
lineno = int(lineno)
|
||||||
|
num_lines = int(num_lines)
|
||||||
|
@@ -724,7 +727,10 @@
|
||||||
|
# for this commit
|
||||||
|
props = {}
|
||||||
|
while True:
|
||||||
|
- line = next(stream)
|
||||||
|
+ try:
|
||||||
|
+ line = next(stream)
|
||||||
|
+ except StopIteration:
|
||||||
|
+ return
|
||||||
|
if line == b'boundary':
|
||||||
|
# "boundary" indicates a root commit and occurs
|
||||||
|
# instead of the "previous" tag
|
||||||
|
@@ -749,7 +755,10 @@
|
||||||
|
# Discard all lines until we find "filename" which is
|
||||||
|
# guaranteed to be the last line
|
||||||
|
while True:
|
||||||
|
- line = next(stream) # will fail if we reach the EOF unexpectedly
|
||||||
|
+ try:
|
||||||
|
+ line = next(stream) # will fail if we reach the EOF unexpectedly
|
||||||
|
+ except StopIteration:
|
||||||
|
+ return
|
||||||
|
tag, value = line.split(b' ', 1)
|
||||||
|
if tag == b'filename':
|
||||||
|
orig_filename = value
|
@ -1,3 +1,18 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 13 12:09:51 UTC 2019 - John Vandenberg <jayvdb@gmail.com>
|
||||||
|
|
||||||
|
- Activate test suite and remove bcond test
|
||||||
|
- Add py37.patch already merged upstream to fix Python 3.7,
|
||||||
|
especially git submodules
|
||||||
|
- Add test_blocking_lock_file-extra-time.patch to avoid an
|
||||||
|
indeterministic timing failure
|
||||||
|
- Add test-skips.patch to skip one expected failure and workaround
|
||||||
|
two unknown failures
|
||||||
|
- Remove test suite from the runtime package
|
||||||
|
- Add doc/source/*.rst to %docs
|
||||||
|
- Remove dependency on python3-mock
|
||||||
|
- Set build dependency ddt minimum version 1.1.1
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Tue Dec 4 12:48:28 UTC 2018 - Matej Cepl <mcepl@suse.com>
|
Tue Dec 4 12:48:28 UTC 2018 - Matej Cepl <mcepl@suse.com>
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package python-GitPython
|
# spec file for package python-GitPython
|
||||||
#
|
#
|
||||||
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -17,9 +17,6 @@
|
|||||||
|
|
||||||
|
|
||||||
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
||||||
# Requires test files missing from the pypi source archive
|
|
||||||
# See: https://github.com/gitpython-developers/GitPython/pull/788
|
|
||||||
%bcond_with test
|
|
||||||
Name: python-GitPython
|
Name: python-GitPython
|
||||||
Version: 2.1.11
|
Version: 2.1.11
|
||||||
Release: 0
|
Release: 0
|
||||||
@ -28,20 +25,23 @@ License: BSD-3-Clause
|
|||||||
Group: Development/Languages/Python
|
Group: Development/Languages/Python
|
||||||
URL: https://github.com/gitpython-developers/GitPython
|
URL: https://github.com/gitpython-developers/GitPython
|
||||||
Source: https://files.pythonhosted.org/packages/source/G/GitPython/GitPython-%{version}.tar.gz
|
Source: https://files.pythonhosted.org/packages/source/G/GitPython/GitPython-%{version}.tar.gz
|
||||||
|
Source1: test-data.tar.xz
|
||||||
|
Patch0: test-skips.patch
|
||||||
|
# Subset and rebase of merged https://github.com/gitpython-developers/GitPython/pull/793
|
||||||
|
Patch1: merged_pr_793.patch
|
||||||
|
Patch2: test_blocking_lock_file-extra-time.patch
|
||||||
BuildRequires: %{python_module setuptools}
|
BuildRequires: %{python_module setuptools}
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: python-rpm-macros
|
BuildRequires: python-rpm-macros
|
||||||
Requires: git-core
|
Requires: git-core
|
||||||
Requires: python-gitdb2 >= 2.0.0
|
Requires: python-gitdb2 >= 2.0.0
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
%if %{with test}
|
BuildRequires: %{python_module ddt >= 1.1.1}
|
||||||
BuildRequires: %{python_module ddt}
|
|
||||||
BuildRequires: %{python_module gitdb2 >= 2.0.0}
|
BuildRequires: %{python_module gitdb2 >= 2.0.0}
|
||||||
BuildRequires: %{python_module nose}
|
BuildRequires: %{python_module nose}
|
||||||
BuildRequires: %{python_module smmap2 >= 2.0.0}
|
BuildRequires: %{python_module smmap2 >= 2.0.0}
|
||||||
BuildRequires: git
|
BuildRequires: git
|
||||||
BuildRequires: python-mock
|
BuildRequires: python2-mock
|
||||||
%endif
|
|
||||||
%python_subpackages
|
%python_subpackages
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -57,22 +57,39 @@ are 'cgit' and pure python, which is the default.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n GitPython-%{version}
|
%setup -q -n GitPython-%{version}
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
|
tar -xf %{SOURCE1}
|
||||||
|
cd test-data
|
||||||
|
echo y | ./init-tests-after-clone.sh
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%python_build
|
%python_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%python_install
|
%python_install
|
||||||
|
%python_expand rm -r %{buildroot}%{$python_sitelib}/git/test/
|
||||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||||
|
|
||||||
%if %{with test}
|
|
||||||
%check
|
%check
|
||||||
%python_exec setup.py test
|
# While SKIP_GITHUB is fine, the two tests skipped with SKIP_LOCALHOST
|
||||||
%endif
|
# should work as the test runner sets up a git daemon.
|
||||||
|
export SKIP_GITHUB=true
|
||||||
|
export SKIP_LOCALHOST=true
|
||||||
|
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
export GIT_PYTHON_TEST_GIT_REPO_BASE=${PWD}/test-data
|
||||||
|
|
||||||
|
git config --global user.email "you@example.com"
|
||||||
|
git config --global user.name "Your Name"
|
||||||
|
|
||||||
|
%python_exec setup.py test --test-suite=git.test
|
||||||
|
|
||||||
%files %{python_files}
|
%files %{python_files}
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc AUTHORS CHANGES README.md
|
%doc AUTHORS CHANGES README.md doc/source/*.rst
|
||||||
%{python_sitelib}/*
|
%{python_sitelib}/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
3
test-data.tar.xz
Normal file
3
test-data.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:903384c5025142500698ffcf046616647bdefff50a69f0f701d53f6a3c306c2e
|
||||||
|
size 10172560
|
40
test-skips.patch
Normal file
40
test-skips.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
diff -u GitPython-2.1.11-orig/git/test/test_base.py GitPython-2.1.11/git/test/test_base.py
|
||||||
|
--- GitPython-2.1.11-orig/git/test/test_base.py 2019-03-13 15:54:50.126688903 +0700
|
||||||
|
+++ GitPython-2.1.11/git/test/test_base.py 2019-03-13 16:11:54.287675238 +0700
|
||||||
|
@@ -112,7 +112,7 @@
|
||||||
|
assert not rw_repo.config_reader("repository").getboolean("core", "bare")
|
||||||
|
assert osp.isdir(osp.join(rw_repo.working_tree_dir, 'lib'))
|
||||||
|
|
||||||
|
- #@skipIf(HIDE_WINDOWS_FREEZE_ERRORS, "FIXME: Freezes! sometimes...")
|
||||||
|
+ @skipIf(os.environ.get('SKIP_LOCALHOST', 'false') == 'true', 'git-daemon connection error')
|
||||||
|
@with_rw_and_rw_remote_repo('0.1.6')
|
||||||
|
def test_with_rw_remote_and_rw_repo(self, rw_repo, rw_remote_repo):
|
||||||
|
assert not rw_repo.config_reader("repository").getboolean("core", "bare")
|
||||||
|
diff -u GitPython-2.1.11-orig/git/test/test_remote.py GitPython-2.1.11/git/test/test_remote.py
|
||||||
|
--- GitPython-2.1.11-orig/git/test/test_remote.py 2019-03-13 15:54:50.242689909 +0700
|
||||||
|
+++ GitPython-2.1.11/git/test/test_remote.py 2019-03-13 16:23:59.918147844 +0700
|
||||||
|
@@ -4,6 +4,7 @@
|
||||||
|
# This module is part of GitPython and is released under
|
||||||
|
# the BSD License: http://www.opensource.org/licenses/bsd-license.php
|
||||||
|
|
||||||
|
+import os
|
||||||
|
import random
|
||||||
|
import tempfile
|
||||||
|
from unittest import skipIf
|
||||||
|
@@ -397,7 +398,7 @@
|
||||||
|
TagReference.delete(rw_repo, new_tag, other_tag)
|
||||||
|
remote.push(":%s" % other_tag.path)
|
||||||
|
|
||||||
|
- @skipIf(HIDE_WINDOWS_FREEZE_ERRORS, "FIXME: Freezes!")
|
||||||
|
+ @skipIf(os.environ.get('SKIP_LOCALHOST', 'false') == 'true', 'git-daemon connection error')
|
||||||
|
@with_rw_and_rw_remote_repo('0.1.6')
|
||||||
|
def test_base(self, rw_repo, remote_repo):
|
||||||
|
num_remotes = 0
|
||||||
|
@@ -630,6 +631,7 @@
|
||||||
|
# will raise fatal: Will not delete all non-push URLs
|
||||||
|
assert_raises(GitCommandError, remote.delete_url, test3)
|
||||||
|
|
||||||
|
+ @skipIf(os.environ.get('SKIP_GITHUB', 'false') == 'true', 'GitHub connection error')
|
||||||
|
def test_fetch_error(self):
|
||||||
|
rem = self.rorepo.remote('origin')
|
||||||
|
with self.assertRaisesRegex(GitCommandError, "Couldn't find remote ref __BAD_REF__"):
|
13
test_blocking_lock_file-extra-time.patch
Normal file
13
test_blocking_lock_file-extra-time.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
--- GitPython-2.1.11/git/test-orig/test_util.py 2019-03-13 15:54:50.306690465 +0700
|
||||||
|
+++ GitPython-2.1.11/git/test/test_util.py 2019-03-13 18:22:09.867649085 +0700
|
||||||
|
@@ -167,9 +167,7 @@
|
||||||
|
self.failUnlessRaises(IOError, wait_lock._obtain_lock)
|
||||||
|
elapsed = time.time() - start
|
||||||
|
extra_time = 0.02
|
||||||
|
- if is_win:
|
||||||
|
- # for Appveyor
|
||||||
|
- extra_time *= 6 # NOTE: Indeterministic failures here...
|
||||||
|
+ extra_time *= 6 # NOTE: Indeterministic failures here...
|
||||||
|
self.assertLess(elapsed, wait_time + extra_time)
|
||||||
|
|
||||||
|
def test_user_id(self):
|
Loading…
Reference in New Issue
Block a user