From f8275916fc6fcb3dd9bd8ef7dc4ddce2dca98c7d Mon Sep 17 00:00:00 2001 From: Fredrik Salomonsson Date: Sun, 5 Jun 2022 19:51:42 +0000 Subject: guix: emacs-utils: Add emacs-batch-script. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/build/emacs-utils.scm (emacs-batch-script): New procedure. * tests/build-emacs-utils.scm: New file. * Makefile.am (TESTS): Add `tests/build-emacs-utils.scm'. Signed-off-by: Ludovic Courtès --- tests/build-emacs-utils.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tests/build-emacs-utils.scm (limited to 'tests/build-emacs-utils.scm') diff --git a/tests/build-emacs-utils.scm b/tests/build-emacs-utils.scm new file mode 100644 index 0000000000..27cff46c38 --- /dev/null +++ b/tests/build-emacs-utils.scm @@ -0,0 +1,43 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2022 Fredrik Salomonsson +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + + +(define-module (test build-emacs-utils) + #:use-module (guix tests) + #:use-module (guix build emacs-utils) + #:use-module (guix build utils) + #:use-module ((guix utils) + #:select (call-with-temporary-directory)) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-64)) + +(test-begin "build-emacs-utils") +;; Only run the following tests if emacs is present. +(test-skip (if (which "emacs") 0 2)) + +(test-equal "emacs-batch-script: print foo from emacs" + "foo" + (emacs-batch-script '(princ "foo"))) + +(test-assert "emacs-batch-script: raise &emacs-batch-error on failure" + (guard (c ((emacs-batch-error? c) + (string-contains (emacs-batch-error-message c) + "Lisp error: (wrong-type-argument numberp \"three\")"))) + (emacs-batch-script '(mapcar 'number-to-string (list 1 2 "three"))))) + +(test-end "build-emacs-utils") -- cgit v1.2.3