~ruther/guix-local

335bc6833fc75f6cbbc5f15c0d3bd9d0e1b5b170 — Eric Bavier 11 years ago 182d631
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.
M gnu-system.am => gnu-system.am +2 -0
@@ 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			\

M gnu/packages/backup.scm => gnu/packages/backup.scm +14 -5
@@ 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")

A gnu/packages/patches/duplicity-piped-password.patch => gnu/packages/patches/duplicity-piped-password.patch +20 -0
@@ 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):
 

A gnu/packages/patches/duplicity-test_selection-tmp.patch => gnu/packages/patches/duplicity-test_selection-tmp.patch +18 -0
@@ 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()