From 335bc6833fc75f6cbbc5f15c0d3bd9d0e1b5b170 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sun, 28 Sep 2014 15:04:34 -0500 Subject: 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. --- gnu-system.am | 2 ++ gnu/packages/backup.scm | 19 ++++++++++++++----- gnu/packages/patches/duplicity-piped-password.patch | 20 ++++++++++++++++++++ .../patches/duplicity-test_selection-tmp.patch | 18 ++++++++++++++++++ 4 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 gnu/packages/patches/duplicity-piped-password.patch create mode 100644 gnu/packages/patches/duplicity-test_selection-tmp.patch diff --git a/gnu-system.am b/gnu-system.am index 126f4e341d..bb944fbf9e 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -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 \ diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 6fd7306d6c..f4f6d0c42c 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -29,6 +29,7 @@ (define-module (gnu packages backup) #: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 @@ (define-public duplicity 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 @@ (define-public duplicity ("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") diff --git a/gnu/packages/patches/duplicity-piped-password.patch b/gnu/packages/patches/duplicity-piped-password.patch new file mode 100644 index 0000000000..db50f5df32 --- /dev/null +++ b/gnu/packages/patches/duplicity-piped-password.patch @@ -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): + diff --git a/gnu/packages/patches/duplicity-test_selection-tmp.patch b/gnu/packages/patches/duplicity-test_selection-tmp.patch new file mode 100644 index 0000000000..8f66be4dcc --- /dev/null +++ b/gnu/packages/patches/duplicity-test_selection-tmp.patch @@ -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() -- cgit v1.2.3