Browse Source

gnu: duplicity: Fix and disable some tests.

* gnu/packages/patches/duplicity-piped-password.patch: New patch.
* gnu/packages/patches/duplicity-test_selection-tmp.patch: New patch.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/backup.scm (duplicity)[source]: Add patches field.
  [inputs]: Add util-linux and tzdata.
  [arguments]: rename patch-tests phase to check-setup.  Set HOME and TZDIR
  for tests.
gn-latest-20200428
Eric Bavier 6 years ago
parent
commit
335bc6833f
4 changed files with 54 additions and 5 deletions
  1. +2
    -0
      gnu-system.am
  2. +14
    -5
      gnu/packages/backup.scm
  3. +20
    -0
      gnu/packages/patches/duplicity-piped-password.patch
  4. +18
    -0
      gnu/packages/patches/duplicity-test_selection-tmp.patch

+ 2
- 0
gnu-system.am View File

@@ -321,6 +321,8 @@ dist_patch_DATA = \
gnu/packages/patches/diffutils-gets-undeclared.patch \
gnu/packages/patches/doxygen-test.patch \
gnu/packages/patches/doxygen-tmake.patch \
gnu/packages/patches/duplicity-piped-password.patch \
gnu/packages/patches/duplicity-test_selection-tmp.patch \
gnu/packages/patches/emacs-configure-sh.patch \
gnu/packages/patches/eudev-rules-directory.patch \
gnu/packages/patches/file-CVE-2014-3587.patch \


+ 14
- 5
gnu/packages/backup.scm View File

@@ -29,6 +29,7 @@
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages linux)
#:use-module (gnu packages mcrypt)
#:use-module (gnu packages nettle)
#:use-module (gnu packages pcre)
@@ -53,7 +54,9 @@
version ".tar.gz"))
(sha256
(base32
"0l14nrhbgkyjgvh339bbhnm6hrdwrjadphq1jmpi0mcgcdbdfh8x"))))
"0l14nrhbgkyjgvh339bbhnm6hrdwrjadphq1jmpi0mcgcdbdfh8x"))
(patches (list (search-patch "duplicity-piped-password.patch")
(search-patch "duplicity-test_selection-tmp.patch")))))
(build-system python-build-system)
(native-inputs
`(("python2-setuptools" ,python2-setuptools)
@@ -63,15 +66,21 @@
("librsync" ,librsync)
("mock" ,python2-mock) ;for testing
("lockfile" ,python2-lockfile)
("gnupg" ,gnupg-1))) ;gpg executable needed
("gnupg" ,gnupg-1) ;gpg executable needed
("util-linux" ,util-linux) ;for setsid
("tzdata" ,tzdata)))
(arguments
`(#:python ,python-2 ;setup assumes Python 2
#:test-target "test"
#:phases (alist-cons-before
'check 'patch-tests
(lambda _
'check 'check-setup
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "testing/functional/__init__.py"
(("/bin/sh") (which "sh"))))
(("/bin/sh") (which "sh")))
(setenv "HOME" (getcwd)) ;gpg needs to write to $HOME
(setenv "TZDIR" ;some timestamp checks need TZDIR
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo")))
%standard-phases)))
(home-page "http://duplicity.nongnu.org/index.html")
(synopsis "Encrypted backup using rsync algorithm")


+ 20
- 0
gnu/packages/patches/duplicity-piped-password.patch View File

@@ -0,0 +1,20 @@
This test, on three occasions, is failing with the error:

EOF: End Of File (EOF) in read_nonblocking(). Braindead platform.

--- duplicity-0.6.24/testing/functional/test_final.py 2014-09-28 13:14:52.146001614 -0500
+++ duplicity-0.6.24/testing/functional/test_final.py 2014-09-28 13:13:20.333546342 -0500
@@ -156,13 +156,6 @@
self.run_duplicity(options=["remove-older-than", "50000", "--force", self.backend_url])
self.assertEqual(self.get_backend_files(), second_chain)
- def test_piped_password(self):
- """Make sure that prompting for a password works"""
- self.set_environ("PASSPHRASE", None)
- self.backup("full", "testfiles/empty_dir",
- passphrase_input=[self.sign_passphrase, self.sign_passphrase])
- self.restore(passphrase_input=[self.sign_passphrase])
-
class OldFilenamesFinalTest(FinalTest):

+ 18
- 0
gnu/packages/patches/duplicity-test_selection-tmp.patch View File

@@ -0,0 +1,18 @@
Reported upstream at https://bugs.launchpad.net/duplicity/+bug/1375019

--- duplicity-0.6.24/testing/unit/test_selection.py 2014-05-09 08:27:40.000000000 -0500
+++ duplicity-0.6.24/testing/unit/test_selection.py 2014-09-28 12:28:53.932324380 -0500
@@ -431,10 +431,10 @@
[(), ('1',), ('1', '1'), ('1', '2'), ('1', '3')])
self.root = Path("/")
- self.ParseTest([("--exclude", "/home/*"),
- ("--include", "/home"),
+ self.ParseTest([("--exclude", "/tmp/*"),
+ ("--include", "/tmp"),
("--exclude", "/")],
- [(), ("home",)])
+ [(), ("tmp",)])
if __name__ == "__main__":
unittest.main()

Loading…
Cancel
Save