[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/03: gnu: emacs-telega: Use test suites.
From: |
guix-commits |
Subject: |
01/03: gnu: emacs-telega: Use test suites. |
Date: |
Fri, 6 Dec 2019 17:28:32 -0500 (EST) |
brettgilio pushed a commit to branch master
in repository guix.
commit f74bb2078407026fb145d1099aca69851f57ff41
Author: Brett Gilio <address@hidden>
Date: Mon Dec 2 15:34:48 2019 -0600
gnu: emacs-telega: Use test suites.
--
Brett M. Gilio
https://git.sr.ht/~brettgilio/
>From 03a2617b29c92dc83828495305d73ec4074a5102 Mon Sep 17 00:00:00 2001
From: Brett Gilio <address@hidden>
Date: Mon, 2 Dec 2019 15:26:27 -0600
Subject: [PATCH 1/2] gnu: emacs-telega: Use test suites.
* gnu/packages/emacs-xyz.scm (emacs-telega)[arguments]: Adds support for
running the ert and server test suites.
Signed-off-by: Brett Gilio <address@hidden>
---
gnu/packages/emacs-xyz.scm | 39 ++++++++++++++++++++++++++++++++++-----
1 file changed, 34 insertions(+), 5 deletions(-)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0ce7f79..a02df2a 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -19967,7 +19967,7 @@ fish-completion. It can be used in both Eshell and M-x
shell.")
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
- `(#:tests? #f
+ `(#:test-target "test"
#:modules ((guix build gnu-build-system)
((guix build emacs-build-system) #:prefix emacs:)
(guix build utils)
@@ -19977,17 +19977,45 @@ fish-completion. It can be used in both Eshell and
M-x shell.")
(guix build emacs-utils))
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'unpack-patch
+ (add-after 'unpack 'prefix-patch
(lambda _
(substitute* "server/Makefile"
(("CC=cc")
"CC=gcc")
(("INSTALL_PREFIX=\\$\\(HOME\\)/.telega")
(string-append "INSTALL_PREFIX=" (assoc-ref %outputs "out")
- "/bin")))
+ "/bin"))
+ ;; Manually invoke `run_tests.py` after install phase.
+ (("python3 run_tests.py")
+ ""))
+ #t))
+ ;; The telega test suite checks for a version of Emacs
+ ;; compiled with imagemagick and svg support. Since we
+ ;; are using `emacs-minimal`, this step will fail.
+ ;; Grok the failing test, and remove problematic assertions.
+ (add-after 'unpack 'ert-suite-patch
+ (lambda _
+ (substitute* "telega-core.el"
+ (("\\(image-type-available-p 'imagemagick\\) nil")
+ "t")
+ (("\\(image-type-available-p 'svg\\) nil")
+ "t"))
+ #t))
+ ;; The server test suite has a hardcoded path.
+ ;; Reset this behavior to use the proper path.
+ (add-after 'unpack 'server-suite-patch
+ (lambda _
+ (substitute* "server/run_tests.py"
+ (("~/.telega/telega-server")
+ (string-append (assoc-ref %outputs "out")
+ "/bin/telega-server")))
+ #t))
+ (add-after 'install 'run-server-suite
+ (lambda _
+ (invoke "python3" "server/run_tests.py")
#t))
(delete 'configure)
-
+
;; Build emacs-side using `emacs-build-system'
(add-after 'compress-documentation 'emacs-add-source-to-load-path
(assoc-ref emacs:%standard-phases 'add-source-to-load-path))
@@ -20001,7 +20029,8 @@ fish-completion. It can be used in both Eshell and M-x
shell.")
`(("emacs-visual-fill-column" ,emacs-visual-fill-column)))
(native-inputs
`(("tdlib" ,tdlib)
- ("emacs" ,emacs-minimal)))
+ ("emacs" ,emacs-minimal)
+ ("python" ,python)))
(synopsis "GNU Emacs client for the Telegram messenger")
(description
"Telega is full-featured, unofficial client for the Telegram messaging