mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-07-25 21:08:35 -07:00
dev-python/python-gnupg: updated patches to match upstream
Bug: https://bugs.gentoo.org/662750 Closes: https://github.com/gentoo/gentoo/pull/9560 Package-Manager: Portage-2.3.45, Repoman-2.3.10
This commit is contained in:
committed by
Michał Górny
parent
e89d66ff58
commit
6defef1480
@@ -1,49 +1,51 @@
|
||||
From: Elena Grandi <elena.valhalla@gmail.com>
|
||||
Date: Thu, 8 Oct 2015 12:11:21 -0700
|
||||
Subject: Skip tests that require internet access
|
||||
|
||||
Forwarded: not-needed
|
||||
Patch-Name: skip_network_needing_test.patch
|
||||
---
|
||||
gnupg.py | 8 ++++----
|
||||
test_gnupg.py | 1 +
|
||||
2 files changed, 5 insertions(+), 4 deletions(-)
|
||||
# HG changeset patch
|
||||
# User Vinay Sajip <vinay_sajip@yahoo.co.uk>
|
||||
# Date 1528916733 -3600
|
||||
# Node ID f16d4e17cf349cf9ee561e117262a4041e4fe2ee
|
||||
# Parent 60ece27e564ef381392dc19a544aa289fb598c7e
|
||||
Conditionally skip tests that rely on flaky external servers/networks.
|
||||
|
||||
diff --git a/gnupg.py b/gnupg.py
|
||||
index cd662d4..bf6dc64 100644
|
||||
--- a/gnupg.py
|
||||
+++ b/gnupg.py
|
||||
@@ -1117,8 +1117,8 @@ class GPG(object):
|
||||
>>> GPGBINARY = os.environ.get('GPGBINARY', 'gpg')
|
||||
@@ -1118,7 +1118,7 @@
|
||||
>>> gpg = GPG(gpgbinary=GPGBINARY, gnupghome="keys")
|
||||
>>> os.chmod('keys', 0x1C0)
|
||||
- >>> result = gpg.recv_keys('pgp.mit.edu', '92905378')
|
||||
>>> result = gpg.recv_keys('pgp.mit.edu', '92905378')
|
||||
- >>> assert result
|
||||
+ >>> result = gpg.recv_keys('pgp.mit.edu', '92905378') # doctest: +SKIP
|
||||
+ >>> assert result # doctest: +SKIP
|
||||
+ >>> if 'NO_EXTERNAL_TESTS' not in os.environ: assert result
|
||||
|
||||
"""
|
||||
result = self.result_map['import'](self)
|
||||
@@ -1320,8 +1320,8 @@ class GPG(object):
|
||||
>>> GPGBINARY = os.environ.get('GPGBINARY', 'gpg')
|
||||
@@ -1321,7 +1321,7 @@
|
||||
>>> gpg = GPG(gpgbinary=GPGBINARY, gnupghome='keys')
|
||||
>>> os.chmod('keys', 0x1C0)
|
||||
- >>> result = gpg.search_keys('<vinay_sajip@hotmail.com>')
|
||||
>>> result = gpg.search_keys('<vinay_sajip@hotmail.com>')
|
||||
- >>> assert result, 'Failed using default keyserver'
|
||||
+ >>> result = gpg.search_keys('<vinay_sajip@hotmail.com>') # doctest: +SKIP
|
||||
+ >>> assert result, 'Failed using default keyserver' # doctest: +SKIP
|
||||
+ >>> if 'NO_EXTERNAL_TESTS' not in os.environ: assert result, 'Failed using default keyserver'
|
||||
>>> #keyserver = 'keyserver.ubuntu.com'
|
||||
>>> #result = gpg.search_keys('<vinay_sajip@hotmail.com>', keyserver)
|
||||
>>> #assert result, 'Failed using keyserver.ubuntu.com'
|
||||
diff --git a/test_gnupg.py b/test_gnupg.py
|
||||
index 7a5b705..25817da 100644
|
||||
--- a/test_gnupg.py
|
||||
+++ b/test_gnupg.py
|
||||
@@ -834,6 +834,7 @@ class GPGTestCase(unittest.TestCase):
|
||||
logger.debug("test_filename_with_spaces ends")
|
||||
|
||||
@@ -836,12 +836,13 @@
|
||||
#@skipIf(os.name == 'nt', 'Test not suitable for Windows')
|
||||
+ @unittest.skip('requires network')
|
||||
def test_search_keys(self):
|
||||
"Test that searching for keys works"
|
||||
r = self.gpg.search_keys('<vinay_sajip@hotmail.com>')
|
||||
- r = self.gpg.search_keys('<vinay_sajip@hotmail.com>')
|
||||
- self.assertTrue(r)
|
||||
- self.assertTrue('Vinay Sajip <vinay_sajip@hotmail.com>' in r[0]['uids'])
|
||||
- r = self.gpg.search_keys('92905378')
|
||||
- self.assertTrue(r)
|
||||
- self.assertTrue('Vinay Sajip <vinay_sajip@hotmail.com>' in r[0]['uids'])
|
||||
+ if 'NO_EXTERNAL_TESTS' not in os.environ:
|
||||
+ r = self.gpg.search_keys('<vinay_sajip@hotmail.com>')
|
||||
+ self.assertTrue(r)
|
||||
+ self.assertTrue('Vinay Sajip <vinay_sajip@hotmail.com>' in r[0]['uids'])
|
||||
+ r = self.gpg.search_keys('92905378')
|
||||
+ self.assertTrue(r)
|
||||
+ self.assertTrue('Vinay Sajip <vinay_sajip@hotmail.com>' in r[0]['uids'])
|
||||
|
||||
def test_quote_with_shell(self):
|
||||
"Test shell quoting with a real shell"
|
||||
|
||||
@@ -1,30 +1,14 @@
|
||||
# HG changeset patch
|
||||
# User Michał Górny <mgorny@gentoo.org>
|
||||
# Date 1533916222 -7200
|
||||
# Node ID 2c8991b1c9080adc61e63d00fe9415b88f3e6208
|
||||
# Parent 9cb2a856677237b528ead6fff68de7d488dbfeec
|
||||
Use private temporary GPG-homes for tests to fix race conditions.
|
||||
|
||||
Create unique temporary directories to use as GPG home in each test
|
||||
instead of reusing a single hardcoded 'keys' directory. This is
|
||||
necessary to fix race conditions between directory operations
|
||||
and gpg-agent in GnuPG 2.0+.
|
||||
|
||||
GnuPG 2.0 started using gpg-agent for all operations. It is
|
||||
automatically spawned when GPG is called to do something, and it stops
|
||||
automatically when its homedir is removed (e.g. as part of rmtree()
|
||||
call). However, with the homedir being instantly recreated and next
|
||||
test being run, it seems that gpg-agent sometimes failed to stop fully
|
||||
before being started again and causes one of the tests to fail with
|
||||
gpg-agent connection errors.
|
||||
|
||||
With this change, I am finally able to successfully run all tests
|
||||
in a single batch.
|
||||
# User Vinay Sajip <vinay_sajip@yahoo.co.uk>
|
||||
# Date 1534104706 -3600
|
||||
# Node ID aeb916c839c0f556dae96bb1136be760ccc19cfe
|
||||
# Parent 1a5795e58fe216c1227a11d169dbe4c09c625d15
|
||||
Fixed problem with a fixed 'keys' homedir on slow/busy systems (see PR #24).
|
||||
|
||||
diff --git a/test_gnupg.py b/test_gnupg.py
|
||||
--- a/test_gnupg.py
|
||||
+++ b/test_gnupg.py
|
||||
@@ -173,11 +173,7 @@
|
||||
@@ -173,11 +173,14 @@
|
||||
|
||||
class GPGTestCase(unittest.TestCase):
|
||||
def setUp(self):
|
||||
@@ -33,21 +17,29 @@ diff --git a/test_gnupg.py b/test_gnupg.py
|
||||
- self.assertTrue(os.path.isdir(hd),
|
||||
- "Not a directory: %s" % hd)
|
||||
- shutil.rmtree(hd, ignore_errors=True)
|
||||
+ hd = tempfile.mkdtemp()
|
||||
+ if 'STATIC_TEST_HOMEDIR' not in os.environ:
|
||||
+ hd = tempfile.mkdtemp(prefix='keys-')
|
||||
+ else:
|
||||
+ hd = os.path.join(os.getcwd(), 'keys')
|
||||
+ if os.path.exists(hd):
|
||||
+ self.assertTrue(os.path.isdir(hd),
|
||||
+ "Not a directory: %s" % hd)
|
||||
+ shutil.rmtree(hd, ignore_errors=True)
|
||||
prepare_homedir(hd)
|
||||
self.homedir = hd
|
||||
self.gpg = gpg = gnupg.GPG(gnupghome=hd, gpgbinary=GPGBINARY)
|
||||
@@ -193,6 +189,9 @@
|
||||
@@ -193,6 +196,10 @@
|
||||
data_file.write(os.urandom(5120 * 1024))
|
||||
data_file.close()
|
||||
|
||||
+ def tearDown(self):
|
||||
+ shutil.rmtree(self.homedir, ignore_errors=True)
|
||||
+ if 'STATIC_TEST_HOMEDIR' not in os.environ:
|
||||
+ shutil.rmtree(self.homedir, ignore_errors=True)
|
||||
+
|
||||
def test_environment(self):
|
||||
"Test the environment by ensuring that setup worked"
|
||||
hd = self.homedir
|
||||
@@ -373,7 +372,7 @@
|
||||
@@ -373,7 +380,7 @@
|
||||
# and the keyring file name has changed.
|
||||
pkn = 'pubring.kbx'
|
||||
skn = None
|
||||
|
||||
@@ -25,5 +25,7 @@ PATCHES=(
|
||||
)
|
||||
|
||||
python_test() {
|
||||
"${PYTHON}" test_gnupg.py || die "Tests failed with ${EPYTHON}"
|
||||
# NO_EXTERNAL_TESTS must be enabled,
|
||||
# to disable all tests, which need internet access.
|
||||
NO_EXTERNAL_TESTS=1 "${PYTHON}" test_gnupg.py || die "Tests failed with ${EPYTHON}"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user