Subject: [bug#76686] [PATCH emacs-team 01/45] build-system: emacs: Enable tests when not cross-compiling.

From: Liliana Marie Prikler <[email-masked]>
Date: Sun, 2 Mar 2025 09:41:35 +0100

This is a first effort towards making emacs-build-system more suitable for
cross-compilation.

* guix/build-system/emacs.scm (emacs-build)[#:tests?]: Enable when not
cross-compiling.
* gnu/packages/emacs-xyz.scm (emacs-ac-php, emacs-inspector)
(emacs-tree-inspector, emacs-pug-mode, emacs-llama, emacs-magit)
(emacs-speed-type, emacs-graphql, emacs-fb2-reader, emacas-ample-regexps)
(emacs-relative-buffers, emacs-aio, emacs-async, emacs-latex-extra)
(emacs-auto-themer, emacs-bm, emacs-varuga, emacs-org-fc, emacs-go-mode)
(emacs-dash, emacs-undo-fu-session, emacs-s, emacs-lemon, emacs-fringe-helper)
(emacs-git-link, emacs-explain-pause-mode, emacs-calc-currency)
(emacs-string-inflection, emacs-ob-go, emacs-robot-log, emacs-rspec)
(emacs-sqlite3-api, emacs-shx, emacs-el-job, emacs-elisp-demos)
(emacs-sudo-edit, emacs-subed, emacs-deferred, emacs-company-lsp, emacs-jack)
(emacs-elquery, emacs-cov, emacs-god-mode, emacs-org-pomodoro)
(emacs-eglot-tempel, emacs-dumbparens, emacs-perspective, emacs-realgud)
(emacs-hydra, emacs-avy,emacs-lispy, emacs-clojure-mode, emacs-qt-pro-mode)
(emacs-sphinx-doc, emacs-julia-mode, emacs-js2-mode, emacs-nodejs-repl)
(emacs-projectile, emacs-skeletor, emacs-elfeed, emacs-elfeed-org)
(emacs-mocker, emacs-find-file-in-project, emacs-pyvenv, emacs-elpy)
(emacs-rainbow-delimiters, emacs-visual-replace, emacs-wucuo, emacs-yaml)
(emacs-wgrep, emacs-islisp-mode, emacs-lua-mode, emacs-evil-collection)
(emacs-evil-owl, emacs-evil-exchange, emacs-evil-lion, emacs-evil-expat)
(emacs-monky, emacs-org, emacs-ht, emacs-yasnippet, emacs-memoize)
(emacs-use-package, emacs-xmlgen, emacs-cc-mode, emacs-php-mode)
(emacs-evil-surround, emacs-org-transclusion, emacs-json-reformat)
(emacs-display-wttr, emacs-git-messenger, emacs-enh-ruby-mode)
(emacs-browse-at-remote, emacs-tiny, emacs-unidecode, emacs-circe)
(emacs-evil-quickscope, emacs-groovy-modes, emacs-kotlin-mode, emacs-kv)
(emacs-auth-source-pass, emacs-emacsql, emacs-org-recur)
(emacs-org-super-agenda, emacs-ts, emacs-circadian, emacs-eldev, emacs-citar)
(emacs-loop, emacs-elisp-refs, emacs-esup, emacs-macrostep, emacs-parent-mode)
(emacs-helpful, emacs-suggest, emacs-auto-yasnippet)
(emacs-git-auto-commit-mode, emacs-devil, emacs-devil-multiedit)
(emacs-go-translate, emacs-langtool, emacs-helm-company, emacs-picpocket)
(emacs-srht, emacs-github-review, emacs-deadgrep, emacs-adoc-mode)
(emacs-racer, emacs-sesman, emacs-buttercup, emacs-cort, emacs-annalist)
(emacs-general, emacs-libmpdel, emacs-navigel, emacs-eat, emacs-detached)
(emacs-repology, emacs-bfuture, emacs-undo-propose-el, emacs-tco-el)
(emacs-vdiff, emacs-exwm-firefox, emacs-rjsx-mode, emacs-dash-docs)
(emacs-casual-lib, emacs-evil-numbers, emacs-evil-traces, emacs-ox-tufte)
(emacs-org-jira, emacs-systemd-mode, emacs-doom-themes, emacs-exiftool)
(emacs-qrencode, emacs-org-journal, emacs-weblorg, emacs-execline)
(emacs-webpaste, emacs-keystore-mode, emacs-ein, emacs-straight-el)
(emacs-org-cliplink, emacs-x509-mode)[arguments]: Remove #:tests?.
(emacs-f, emacs-shut-up, emacs-ansi, emacs-commander)
(emacs-ert-runner)[arguments]: Add #:tests? #f.
(emacs-el-x, emacs-pkg-info, emacs-helm, emacs-tablist, emacs-ghub)
(emacs-with-editor, emacs-repo): Likewise.
---
 gnu/packages/emacs-xyz.scm  | 330 ++++++++++--------------------------
 guix/build-system/emacs.scm |   2 +-
 2 files changed, 89 insertions(+), 243 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 272be3a275d..d7e28d7aa44 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -365,7 +365,6 @@ (define-public emacs-ac-php
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
       #:test-command #~(list "ert-runner")))
     (inputs
      (list emacs-auto-complete
@@ -955,7 +954,6 @@ (define-public emacs-inspector
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "emacs" "-Q" "--batch"
                                "-l" "inspector.el"
                                "-l" "inspector-tests.el"
@@ -1013,7 +1011,6 @@ (define-public emacs-tree-inspector
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #true
         #:test-command #~(list "emacs" "-Q" "--batch"
                                "-L" "."
                                "-l" "tree-inspector-tests.el"
@@ -1374,7 +1371,6 @@ (define-public emacs-pug-mode
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "ert-runner")))
     (home-page "https://github.com/hlissner/emacs-pug-mode")
     (synopsis "Pug support for Emacs")
@@ -1703,6 +1699,7 @@ (define-public emacs-with-editor
     (build-system emacs-build-system)
     (arguments
      (list
+      #:tests? #f                       ; no test suite
       #:phases
       #~(modify-phases %standard-phases
           (add-before 'install 'enter-lisp-directory
@@ -1830,8 +1827,7 @@ (define-public emacs-llama
                 "0f2v1fw5iahlh0ypbwxfpav48h43h0zqqmicgs2hg7r251ss2j8j"))))
     (build-system emacs-build-system)
     (arguments
-     (list #:tests? #true
-           #:test-command #~(list "emacs" "-Q" "--batch"
+     (list #:test-command #~(list "emacs" "-Q" "--batch"
                                   "-l" "llama.el"
                                   "-f" "ert-run-tests-batch-and-exit")))
     (propagated-inputs (list emacs-compat))
@@ -1883,7 +1879,6 @@ (define-public emacs-magit
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "make" "test")
       #:exclude #~(cons* "magit-libgit.el"
                          "magit-libgit-pkg.el"
@@ -2541,7 +2536,6 @@ (define-public emacs-speed-type
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
       #:test-command
       #~(list "emacs" "-Q" "--batch" "-L" "."
               "-l" "test-speed-type.el"
@@ -2581,7 +2575,6 @@ (define-public emacs-graphql
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #true
         #:test-command #~(list "ert-runner")
         #:phases
         #~(modify-phases %standard-phases
@@ -2679,6 +2672,7 @@ (define-public emacs-ghub
     (build-system emacs-build-system)
     (arguments
      (list
+      #:tests? #f                       ; no test suite
       #:phases
       #~(modify-phases %standard-phases
           (add-before 'install 'make-info
@@ -3094,7 +3088,6 @@ (define-public emacs-fb2-reader
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command
         #~(list "buttercup" "-L" ".")
         #:phases
@@ -3570,8 +3563,7 @@ (define-public emacs-ample-regexps
       (native-inputs
        (list emacs-ert-runner))
       (arguments
-       `(#:tests? #t
-         #:test-command '("ert-runner" "-l" "ample-regexps")))
+       `(#:test-command '("ert-runner" "-l" "ample-regexps")))
       (home-page "https://github.com/immerrr/ample-regexps.el")
       (synopsis "Compose and reuse Emacs regexps")
       (description
@@ -3736,7 +3728,6 @@ (define-public emacs-relative-buffers
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "ert-runner")))
       (native-inputs
        (list emacs-ert-runner))
@@ -4899,8 +4890,7 @@ (define-public emacs-aio
                 "1y7j10j74r3fy0rcb8g3cm9nlls34qb0pz9xkia7psp77syrlz54"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("emacs" "--batch"
+     `(#:test-command '("emacs" "--batch"
                         "-l" "aio-test.el"
                         "-f" "ert-run-tests-batch-and-exit")))
     (propagated-inputs
@@ -4929,8 +4919,7 @@ (define-public emacs-async
                 "0krg7n8l3yv1fnixnx6j5imdh10jpfabm6ym9s1s610hp47gpfaz"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("buttercup" "-L" ".")))
+     `(#:test-command '("buttercup" "-L" ".")))
     (native-inputs
      (list emacs-buttercup))
     (synopsis "Asynchronous processing in Emacs")
@@ -5012,7 +5001,6 @@ (define-public emacs-latex-extra
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #true
         #:test-command
         #~(list "emacs" "-Q" "--batch"
                 "--eval=(cd \"tests/\")"
@@ -5077,7 +5065,6 @@ (define-public emacs-autothemer
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #true
         #:test-command #~(list "emacs" "-Q" "--batch"
                                "-l" "tests/autothemer-tests.el"
                                "-f" "ert-run-tests-batch-and-exit")))
@@ -5161,7 +5148,6 @@ (define-public emacs-bm
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
       #:test-command #~(list "emacs" "-Q" "--batch"
                              "-l" "bm-tests.el"
                              "-f" "ert-run-tests-batch-and-exit")))
@@ -5210,7 +5196,6 @@ (define-public emacs-varuga
         (base32
          "01hlnhqhys8qzfwhza1ypc436zg5lhlkx5yy71bhmrbmyfzfh0fr"))))
     (build-system emacs-build-system)
-    (arguments (list #:tests? #t))
     (home-page "https://git.systemreboot.net/varuga/about/")
     (synopsis "Send iCal calendar invites by email")
     (description
@@ -5659,7 +5644,6 @@ (define-public emacs-org-fc
      (list
       #:include #~(cons* "\\.awk$" "\\.org$" %default-include)
       #:exclude #~(cons "^tests/" %default-exclude)
-      #:tests? #t
       #:test-command #~(list "emacs" "--batch"
                              "-L" "."
                              "-L" "tests/"
@@ -5903,7 +5887,6 @@ (define-public emacs-go-mode
                   "00qzn136d8cl3szbi44xf3iiv75r6n1m7wwgldmzn4i5mpz8dbq7"))))
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "ert-runner")
         #:phases
         #~(modify-phases %standard-phases
@@ -6191,6 +6174,7 @@ (define-public emacs-tablist
                (base32
                 "11vmvrhmsxy97bfj7jndpc58bik7177i3wvc45mlyldxwyirs962"))))
     (build-system emacs-build-system)
+    (arguments (list #:tests? #f))      ; no test suite
     (home-page "https://github.com/politza/tablist")
     (synopsis "Extension for @code{tabulated-list-mode}")
     (description "Tablist is the Emacs package that provides several
@@ -6513,8 +6497,7 @@ (define-public emacs-dash
                 "0z6f8y1m9amhg427iz1d4xcyr6n0kj5w7kmiz134p320ixsdnzd8"))))
     (build-system emacs-build-system)
     (arguments
-     (list #:tests? #t
-           #:phases
+     (list #:phases
            #~(modify-phases %standard-phases
                (add-after 'unpack 'disable-byte-compile-error-on-warn
                  (lambda _
@@ -6969,7 +6952,6 @@ (define-public emacs-undo-fu-session
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         ;; The tests require temp files handling which a recent change disabled
         ;; by default. We re-enable it here to make tests work again.
         #:test-command #~(list "emacs" "--batch" "--eval"
@@ -7002,8 +6984,7 @@ (define-public emacs-s
         (base32 "010i92kagqbfis46n1ffa28fgkdkjp55n13b6f4izar5r7ixm6wx"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("./run-tests.sh")))
+     `(#:test-command '("./run-tests.sh")))
     (home-page "https://github.com/magnars/s.el")
     (synopsis "Emacs string manipulation library")
     (description "This package provides an Emacs library for manipulating
@@ -7105,8 +7086,6 @@ (define-public emacs-lemon
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
-
       ;; Only one test out of the four passes
       #:test-command #~(list "emacs" "-Q" "--batch" "-L" "."
                              ;; "-l" "lemon--test.el"
@@ -7259,6 +7238,7 @@ (define-public emacs-f
                (base32
                 "0ccrcfhqfbv9qff38sfym69mai7k7z89yndi6nip8wi5hpd2addc"))))
     (build-system emacs-build-system)
+    (arguments (list #:tests? #f))      ; circular dependency on ert-runner
     (propagated-inputs
      (list emacs-s emacs-dash))
     (home-page "https://github.com/rejeep/f.el")
@@ -7310,8 +7290,7 @@ (define-public emacs-fringe-helper
           (base32 "0ra9rc53l1gvkqank8apasl3r7wz2yfjrcvmfk3wpxhh24ppxv9d"))))
       (build-system emacs-build-system)
       (arguments
-       `(#:tests? #t
-         #:test-command '("emacs" "--batch"
+       `(#:test-command '("emacs" "--batch"
                           "-l" "tests.el"
                           "-f" "ert-run-tests-batch-and-exit")))
       (home-page "https://github.com/nschum/fringe-helper.el")
@@ -7388,7 +7367,6 @@ (define-public emacs-git-link
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "make" "test")))
     (home-page "https://github.com/sshaw/git-link")
     (synopsis "Create links for files and commits in GitHub/GitLab/etc. repos")
@@ -7777,8 +7755,7 @@ (define-public emacs-explain-pause-mode
       (native-inputs
        (list emacs-buttercup))
       (arguments
-       '(#:tests? #t
-         #:phases
+       '(#:phases
          (modify-phases %standard-phases
            ;; This causes the byte-compilation before unit-tests to fail.
            (add-after 'unpack 'remove-error-on-warn
@@ -8082,7 +8059,6 @@ (define-public emacs-zig-mode
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:emacs emacs
         #:test-command #~(list "emacs" "--batch"
                                "-l" "zig-mode.el"
@@ -8195,6 +8171,7 @@ (define-public emacs-shut-up
        (sha256
         (base32 "1bnmrwrhra6cpc3jjgwwzrydj5ps7q2dlkh2ag4j7rkyv4dlk351"))))
     (build-system emacs-build-system)
+    (arguments (list #:tests? #f))      ; circular dependency on ert-runner
     (home-page "https://github.com/cask/shut-up")
     (synopsis "Silence Emacs")
     (description "This package silences most output of Emacs when running an
@@ -8380,7 +8357,6 @@ (define-public emacs-calc-currency
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "emacs" "--batch"
                                "-L" "."
                                "-l" "test/calc-currency-init.el"
@@ -8484,8 +8460,7 @@ (define-public emacs-string-inflection
     (native-inputs
      (list emacs-ert-runner))
     (arguments
-     `(#:tests? #t
-       #:test-command '("ert-runner")))
+     `(#:test-command '("ert-runner")))
     (home-page "https://github.com/akicho8/string-inflection")
     (synopsis "Convert symbol names between different naming conventions")
     (description
@@ -8792,7 +8767,6 @@ (define-public emacs-ob-go
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "emacs" "--batch" "-L" "."
                                "--eval=(require 'ob-go)"
                                "-l" "test-ob-go.el"
@@ -8980,7 +8954,6 @@ (define-public emacs-robot-log
                 "1l9yxryrhvylh2x17cczd8v8978w1nv8173d4l9hv0cr26kp5b68"))))
     (build-system emacs-build-system)
     (native-inputs (list python-robotframework))
-    (arguments (list #:tests? #t))
     (home-page "https://sr.ht/~apteryx/emacs-robot-log/")
     (synopsis "Emacs major mode for viewing RobotFramework debug log files")
     (description "@code{robot-log} is an Emacs major mode that allows more
@@ -9060,7 +9033,6 @@ (define-public emacs-rspec
       (build-system emacs-build-system)
       (arguments
        `(#:include (cons "^snippets\\/rspec-mode\\/" %default-include)
-         #:tests? #t
          #:test-command '("make" "test")))
       (home-page "https://github.com/pezra/rspec-mode")
       (synopsis "Provides a rspec mode for working with RSpec")
@@ -9241,7 +9213,6 @@ (define-public emacs-sqlite3-api
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? (not (%current-target-system))
       #:test-command #~(list "make" "test" "EMACS=emacs")
       #:modules '((guix build emacs-build-system)
                   (guix build emacs-utils)
@@ -9394,7 +9365,6 @@ (define-public emacs-shx
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command
         #~(list "emacs" "--batch" "--quiet" "--script" "test/script.el")
         #:phases
@@ -9799,8 +9769,7 @@ (define-public emacs-el-job
                 "0mj92dsd169ij2g3vmq626vdh5aqc9zbc43yjip7dl1qy4lh34sk"))))
     (build-system emacs-build-system)
     (arguments
-     (list #:tests? #true
-           #:test-command #~(list "emacs" "-Q" "--batch"
+     (list #:test-command #~(list "emacs" "-Q" "--batch"
                                   "-l" "el-job-test.el"
                                   "-f" "ert-run-tests-batch-and-exit")))
     (propagated-inputs (list emacs-compat))
@@ -9832,7 +9801,6 @@ (define-public emacs-elisp-demos
     (arguments
      (list
       #:include #~(cons* "\\.org$" %default-include)
-      #:tests? #t
       #:test-command #~(list "make" "test")))
     (home-page "https://github.com/xuchunyang/elisp-demos/")
     (synopsis "Enhance @code{*Help*} buffers with additional examples")
@@ -9943,7 +9911,6 @@ (define-public emacs-sudo-edit
             (lambda _
               (substitute* "Makefile"
                 (("\\$\\(CASK\\) exec ") "")))))
-      #:tests? #t
       #:test-command #~(list "make" "test")))
     (home-page "https://github.com/nflath/sudo-edit/")
     (synopsis "Open files as another user")
@@ -9965,7 +9932,6 @@ (define-public emacs-subed
                 "0bvsv688mqhga8dffy3841wxs5pkw0vish15dgligll47cj98mzp"))))
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "buttercup" "-L" ".")))
     (native-inputs (list emacs-buttercup))
     (inputs (list ffmpeg))
@@ -10217,7 +10183,6 @@ (define-public emacs-deferred
            (lambda _
              (substitute* "Makefile"
                (("\\$\\(CASK\\) exec ") "")))))
-       #:tests? #t
        #:test-command '("make" "test")))
     (native-inputs
      (list emacs-ert-expectations emacs-ert-runner emacs-undercover))
@@ -11095,8 +11060,7 @@ (define-public emacs-company-lsp
     (native-inputs
      (list emacs-buttercup))
     (arguments
-     `(#:tests? #t
-       #:test-command '("buttercup" "-L" ".")))
+     `(#:test-command '("buttercup" "-L" ".")))
     (home-page "https://github.com/tigersoldier/company-lsp")
     (synopsis "Completion for @code{lsp-mode}")
     (description
@@ -11746,7 +11710,6 @@ (define-public emacs-jack
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "emacs"
                                "--batch"
                                "-l"
@@ -11857,7 +11820,6 @@ (define-public emacs-elquery
     (arguments
      (list
       #:emacs emacs-no-x
-      #:tests? #t
       #:test-command #~(list "ert-runner")
       #:phases #~(modify-phases %standard-phases
                    (add-after 'unpack 'fix-native-compilation
@@ -11903,7 +11865,6 @@ (define-public emacs-cov
       (arguments
        (list
         #:emacs emacs-no-x              ;for libxml
-        #:tests? #t
         #:test-command #~(list "ert-runner")
         #:phases
         #~(modify-phases %standard-phases
@@ -12019,8 +11980,7 @@ (define-public emacs-god-mode
          "1njln47w25ix9w0xjv02110ngr8d8ma3w7db0x4xcxhihbl65zly"))))
     (build-system emacs-build-system)
     (arguments
-     (list #:tests? #true
-           #:test-command
+     (list #:test-command
            #~(list "emacs" "--no-init-file" "--batch"
                    "--eval=(require 'ecukes)" "--eval=(ecukes)")))
     (native-inputs (list emacs-ecukes))
@@ -12508,7 +12468,6 @@ (define-public emacs-org-pomodoro
       (arguments
        (list
         #:include #~(cons "^resources\\/" %default-include)
-        #:tests? #t
         #:test-command
         #~(list "emacs" "--batch"
                 "-l" "org-pomodoro-tests.el"
@@ -13526,7 +13485,6 @@ (define-public emacs-eglot-tempel
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
       #:test-command #~(list "emacs" "-Q" "-batch"
                              "-l" "eglot-tempel-tests.el"
                              "-f" "ert-run-tests-batch-and-exit")
@@ -13716,7 +13674,6 @@ (define-public emacs-dumbparens
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "make" "test")))
       (home-page "https://github.com/radian-software/dumbparens")
       (synopsis "Minor mode that provides improvements on Smartparens")
@@ -13908,8 +13865,7 @@ (define-public emacs-perspective
         (base32 "1vpjc9mk96siabl5j0k023bag00cwb852cpc9f89jyqhavm6011b"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("emacs" "-Q" "-batch" "-L" "."
+     `(#:test-command '("emacs" "-Q" "-batch" "-L" "."
                         "-l" "test/test-perspective.el"
                         "-f" "ert-run-tests-batch-and-exit")))
     (home-page "https://github.com/nex3/perspective-el")
@@ -14081,7 +14037,6 @@ (define-public emacs-realgud
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'fix-realgud:run-process-void-error
@@ -14263,8 +14218,7 @@ (define-public emacs-hydra
          "0fapvhmhgc9kppf3bvkgry0cd7gyilg7sfvlscfrfjxpx4xvwsfy"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("make" "test")))
+     `(#:test-command '("make" "test")))
     (home-page "https://github.com/abo-abo/hydra")
     (synopsis "Make Emacs bindings that stick around")
     (description
@@ -14587,8 +14541,7 @@ (define-public emacs-avy
         (base32 "09qdni1s74i5pv8741szl5g4ynj8fxn0x65qmwa9rmfkbimnc0fs"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("make" "test")))
+     `(#:test-command '("make" "test")))
     (home-page "https://github.com/abo-abo/avy")
     (synopsis "Tree-based completion for Emacs")
     (description
@@ -14819,7 +14772,6 @@ (define-public emacs-lispy
                             (beginning-of-line)
                             (kill-sexp))
                     (basic-save-buffer))))))
-        #:tests? #t
         ;; Set BEMACS to prevent the test suite from loading straight.el.
         #:test-command #~(list "make" "test" "BEMACS=emacs -batch")))
       (synopsis "Modal S-expression editing")
@@ -14930,8 +14882,7 @@ (define-public emacs-clojure-mode
     (native-inputs
      (list emacs-buttercup emacs-dash emacs-paredit emacs-s))
     (arguments
-     `(#:tests? #t
-       #:test-command '("buttercup")))
+     `(#:test-command '("buttercup")))
     (home-page "https://github.com/clojure-emacs/clojure-mode")
     (synopsis "Major mode for Clojure code")
     (description
@@ -15193,8 +15144,7 @@ (define-public emacs-qt-pro-mode
         (base32 "1xprnq3y74hfm931a80wcj35faafzqc59j3vavx95wzv4z4yfgdm"))))
     (build-system emacs-build-system)
     (arguments
-     (list #:tests? #t
-           #:test-command #~(list "make" "test")))
+     (list #:test-command #~(list "make" "test")))
     (home-page "https://github.com/emacsorphanage/qt-pro-mode")
     (synopsis "Emacs major mode for Qt build-system files")
     (description
@@ -15260,6 +15210,7 @@ (define-public emacs-pkg-info
        (sha256
         (base32 "0nk12dcppdyhav6m6yf7abpywyd7amxd4237zsfd32w4zxsx39k1"))))
     (build-system emacs-build-system)
+    (arguments (list #:tests? #f))      ; tests appear to require cask
     (propagated-inputs (list emacs-epl))
     (home-page "https://github.com/lunaryorn/pkg-info.el")
     (synopsis "Information about Emacs packages")
@@ -15327,7 +15278,6 @@ (define-public emacs-sphinx-doc
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #true
         #:test-command #~(list "emacs" "-Q" "--batch"
                                "-l" "sphinx-doc-tests.el"
                                "-f" "ert-run-tests-batch-and-exit")))
@@ -15449,7 +15399,6 @@ (define-public emacs-julia-mode
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "emacs" "--batch"
                                "-l" "julia-mode-tests.el"
                                "-f" "ert-run-tests-batch-and-exit")
@@ -15563,8 +15512,7 @@ (define-public emacs-js2-mode
         (base32 "11ppp1m7hl4ii79zjw62bqvksyzh5xmp3q1qw21wlj2s47mkpm73"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("make" "test")))
+     `(#:test-command '("make" "test")))
     (home-page "https://github.com/mooz/js2-mode/")
     (synopsis "Improved JavaScript editing mode for Emacs")
     (description
@@ -15630,7 +15578,6 @@ (define-public emacs-nodejs-repl
                 ;; programs so that everything works out-of-the-box.
                 (emacs-substitute-variables "nodejs-repl.el"
                   ("nodejs-repl-command" node))))))
-      #:tests? #t
       #:test-command #~(list "emacs" "-Q" "--batch"
                              "-L" "."
                              "-l" "test/test.el"
@@ -15818,7 +15765,6 @@ (define-public emacs-projectile
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "buttercup" "-L" ".")
       #:phases
       #~(modify-phases %standard-phases
@@ -15859,7 +15805,6 @@ (define-public emacs-skeletor
       (arguments
        (list
         #:include #~(cons "^project-skeletons\\/" %default-include)
-        #:tests? #true
         #:test-command #~(list "ert-runner")
         #:phases
         #~(modify-phases %standard-phases
@@ -15899,8 +15844,7 @@ (define-public emacs-elfeed
         (base32 "0yq93abyadzrmcd40pi06wcr4jg9ddhlz2phg0wjypprqvv4q49z"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("make" "test")
+     `(#:test-command '("make" "test")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'patch-program-calls
@@ -15972,8 +15916,7 @@ (define-public emacs-elfeed-org
           (base32 "0a2ibka82xq1dhy2z7rd2y9zhcj8rna8357881yz49wf55ccgm53"))))
       (build-system emacs-build-system)
       (arguments
-       `(#:tests? #t
-         #:test-command '("ert-runner" "-L" "org-mode/lisp")
+       `(#:test-command '("ert-runner" "-L" "org-mode/lisp")
          #:phases
          (modify-phases %standard-phases
            (add-before 'check 'chmod
@@ -16086,7 +16029,8 @@ (define-public emacs-el-x
                 "1i6j44ssxm1xdg0mf91nh1lnprwsaxsx8vsrf720nan7mfr283h5"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:phases
+     `(#:tests? #f                      ; no tests
+       #:phases
        (modify-phases %standard-phases
          ;; Move the source files to the top level, which is included in
          ;; the EMACSLOADPATH.
@@ -16225,8 +16169,7 @@ (define-public emacs-mocker
         (base32 "1dc514cqbfmg33sb3j90s5jmw6jnm3wzvs0zhw3maz13bp7w6z48"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("ert-runner")))
+     `(#:test-command '("ert-runner")))
     (native-inputs
      (list emacs-ert-runner))
     (propagated-inputs
@@ -16253,8 +16196,7 @@ (define-public emacs-find-file-in-project
         (base32 "1aqlzx1aibhkmvqasb7vbawj277rbyrk93v6svqs0m3v6n3g996i"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("ert-runner" "tests")))
+     `(#:test-command '("ert-runner" "tests")))
     (native-inputs
      (list emacs-ert-runner))
     (home-page "https://github.com/technomancy/find-file-in-project")
@@ -16317,7 +16259,6 @@ (define-public emacs-pyvenv
              (lambda _
                (ert-number-tests "test/pyvenv-hook-dir-test.el"
                                  "pyvenv-hook-dir"))))
-       #:tests? #t
        #:test-command '("ert-runner")))
     (native-inputs
      (list emacs-ert-runner emacs-mocker))
@@ -16470,7 +16411,6 @@ (define-public emacs-elpy
                  (mkdir-p man1)
                  (copy-file "docs/_build/man/elpy.1"
                             (string-append man1 "/elpy.1"))))))
-         #:tests? #t
          #:test-command '("ert-runner")))
       (propagated-inputs
        (list emacs-company
@@ -16545,8 +16485,7 @@ (define-public emacs-rainbow-delimiters
     (build-system emacs-build-system)
     (home-page "https://github.com/Fanael/rainbow-delimiters")
     (arguments
-     `(#:tests? #t
-       #:test-command '("emacs" "-Q" "-batch"
+     `(#:test-command '("emacs" "-Q" "-batch"
                         "-l" "rainbow-delimiters-test.el"
                         "-f" "ert-run-tests-batch-and-exit")))
     (synopsis "Highlight brackets according to their depth")
@@ -16715,7 +16654,6 @@ (define-public emacs-visual-replace
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:phases #~(modify-phases %standard-phases
                      (add-before 'check 'add-test-dir-to-emacs-load-path
                        (lambda _
@@ -16789,8 +16727,7 @@ (define-public emacs-wucuo
         (base32 "0ivy3jaj9jml10jn020mma6x92j8q75q7wzbd23m9jl4w60bpqlq"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("make" "test")
+     `(#:test-command '("make" "test")
        #:phases (modify-phases %standard-phases
                   ;; Set HOME, otherwise tests fail on loading aspell dict.
                   (add-before 'check 'set-home
@@ -16882,7 +16819,6 @@ (define-public emacs-yaml
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "emacs" "--batch" "-Q"
                              "-l" "yaml.el"
                              "-l" "yaml-tests.el"
@@ -17027,7 +16963,6 @@ (define-public emacs-wgrep
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
       #:test-command #~(list "emacs" "--batch" "-Q"
                              "-l" "wgrep-test.el"
                              "-f" "ert-run-tests-batch-and-exit")))
@@ -17054,6 +16989,7 @@ (define-public emacs-helm
        (sha256
         (base32 "0il5npxw8wrpbwd8nyf9q9yxxd5plh3zl45m04w0wj4lpz9sqz7w"))))
     (build-system emacs-build-system)
+    (arguments (list #:tests? #f))      ; no test suite
     (propagated-inputs
      (list emacs-async emacs-popup))
     (home-page "https://emacs-helm.github.io/helm/")
@@ -17325,7 +17261,6 @@ (define-public emacs-islisp-mode
     (arguments
      (list
       #:include #~(cons "\\.lsp$" %default-include)
-      #:tests? #true
       #:test-command #~(list "ert-runner")
       #:phases
       #~(modify-phases %standard-phases
@@ -17749,7 +17684,6 @@ (define-public emacs-lua-mode
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "buttercup" "-l" "lua-mode.el")
         #:phases
         #~(modify-phases %standard-phases
@@ -17881,7 +17815,6 @@ (define-public emacs-evil-collection
     (arguments
      (list
       #:include #~(cons* "^modes\\/" %default-include)
-      #:tests? #true
       #:test-command #~(list "emacs" "-Q" "--batch"
                              "-L" "."
                              "-L" "./test"
@@ -17987,7 +17920,6 @@ (define-public emacs-evil-owl
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "make" "test")
         #:phases
         #~(modify-phases %standard-phases
@@ -18108,7 +18040,6 @@ (define-public emacs-evil-exchange
                (substitute* "Makefile"
                  (("cask exec ") ""))
                #t)))
-         #:tests? #t
          #:test-command '("make" "test")))
       (home-page "https://github.com/Dewdrops/evil-exchange")
       (synopsis "Exchange text easily within Evil")
@@ -18214,8 +18145,7 @@ (define-public emacs-evil-lion
       (build-system emacs-build-system)
       (propagated-inputs (list emacs-evil))
       (arguments
-       `(#:tests? #t
-         #:test-command '("make" "test")))
+       `(#:test-command '("make" "test")))
       (home-page "https://github.com/edkolev/evil-lion")
       (synopsis "Align operator for @code{evil-mode}")
       (description
@@ -18242,8 +18172,7 @@ (define-public emacs-evil-expat
       (build-system emacs-build-system)
       (propagated-inputs (list emacs-evil))
       (arguments
-       `(#:tests? #t
-         #:test-command '("make" "test")))
+       `(#:test-command '("make" "test")))
       (home-page "https://github.com/edkolev/evil-expat")
       (synopsis "Extra @code{ex} commands for @code{evil-mode}")
       (description
@@ -18340,8 +18269,7 @@ (define-public emacs-monky
     (build-system emacs-build-system)
     (home-page "https://ananthakumaran.in/monky/index.html")
     (arguments
-     `(#:tests? #t
-       #:test-command '("emacs" "--batch"
+     `(#:test-command '("emacs" "--batch"
                         "-l" "test/monky-unit-test.el"
                         "-f" "ert-run-tests-batch-and-exit")))
     (synopsis "Interactive interface for the Mercurial version control system")
@@ -18495,7 +18423,6 @@ (define-public emacs-org
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "make" "test-dirty")
       #:phases
       #~(modify-phases %standard-phases
@@ -19120,8 +19047,7 @@ (define-public emacs-ht
     (native-inputs
      (list emacs-ert-runner))
     (arguments
-     `(#:tests? #t
-       #:test-command '("ert-runner")))
+     `(#:test-command '("ert-runner")))
     (home-page "https://github.com/Wilfred/ht.el")
     (synopsis "Hash table library for Emacs")
     (description
@@ -19833,8 +19759,7 @@ (define-public emacs-yasnippet
           (search-patches "emacs-yasnippet-fix-empty-snippet-next.patch"))))
       (build-system emacs-build-system)
       (arguments
-       `(#:tests? #t
-         #:test-command '("emacs" "--batch"
+       `(#:test-command '("emacs" "--batch"
                           "-l" "yasnippet-tests.el"
                           "-f" "ert-run-tests-batch-and-exit")
          #:phases
@@ -20104,8 +20029,7 @@ (define-public emacs-memoize
         (base32 "04qgnlg4x6va7x364dhj1wbjmz8p5iq2vk36mn9198k2vxmijwzk"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("emacs" "--batch"
+     `(#:test-command '("emacs" "--batch"
                         "-l" "memoize-test.el"
                         "-f" "ert-run-tests-batch-and-exit")))
     (home-page "https://github.com/skeeto/emacs-memoize")
@@ -20444,7 +20368,6 @@ (define-public emacs-use-package
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "emacs" "--batch"
                                "-l" "use-package-tests.el"
                                "-f" "ert-run-tests-batch-and-exit")
@@ -20635,8 +20558,7 @@ (define-public emacs-xmlgen
         (base32 "096i29v0badx0a6339h9ckdz78zj59gbjdp7vj7vhkq9d830392s"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("emacs" "--batch"
+     `(#:test-command '("emacs" "--batch"
                         "-l" "xmlgen-test.el"
                         "-f" "ert-run-tests-batch-and-exit")))
     (home-page "https://github.com/philjackson/xmlgen")
@@ -20767,8 +20689,7 @@ (define-public emacs-cc-mode
       (base32 "03cvl61baccx57zd62nz2wy4hvij5hl2syg7byaxgrs4c7grr414"))))
    (build-system emacs-build-system)
    (arguments
-    '(#:tests? #t
-      #:test-command '("make" "test")
+    '(#:test-command '("make" "test")
       #:phases
       (modify-phases %standard-phases
         (add-before 'install 'make-info
@@ -20870,7 +20791,6 @@ (define-public emacs-php-mode
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
       #:test-command #~(list "emacs" "-Q" "--batch"
                              "-l" "../tests/php-mode-test.el"
                              "-f" "ert-run-tests-batch-and-exit")
@@ -21641,8 +21561,7 @@ (define-public emacs-evil-surround
     (propagated-inputs
      (list emacs-evil))
     (arguments
-     `(#:tests? #t
-       #:test-command '("make" "test")))
+     `(#:test-command '("make" "test")))
     (home-page "https://github.com/emacs-evil/evil-surround")
     (synopsis "Easily modify surrounding parentheses and quotes")
     (description "@code{emacs-evil-surround} allows easy deletion, change and
@@ -21672,8 +21591,6 @@ (define-public emacs-evil-commentary
 lines, and @code{gc} to comment out the target of a motion.")
     (license license:gpl3+)))
 
-;; Tests for emacs-ansi have a circular dependency with ert-runner, and
-;; therefore cannot be run
 (define-public emacs-ansi
   (let ((commit "2367fba7b3b2340364a30cd6de7f3eb6bb9898a3")
         (revision "2"))
@@ -21690,6 +21607,9 @@ (define-public emacs-ansi
          (sha256
           (base32 "1n7h6l4icm6lks3zpvd83j1fzrnspw19rmz7c96vy7pdh1y4v3p3"))))
       (build-system emacs-build-system)
+      ;; Tests for emacs-ansi have a circular dependency with ert-runner, and
+      ;; therefore cannot be run
+      (arguments (list #:tests? #f))
       (home-page "https://github.com/rejeep/ansi.el")
       (synopsis "Convert strings to ANSI")
       (description "@code{emacs-ansi} defines functions that turns simple
@@ -21698,8 +21618,6 @@ (define-public emacs-ansi
 as bold, underscore or italic.")
       (license license:gpl3+))))
 
-;; Tests for emacs-commander have a circular dependency with ert-runner, and
-;; therefore cannot be run
 (define-public emacs-commander
   (package
     (name "emacs-commander")
@@ -21714,6 +21632,9 @@ (define-public emacs-commander
        (sha256
         (base32 "1j6hhyzww7wfwk6bllbb5mk4hw4qs8hsgfbfdifsam9c6i4spm45"))))
     (build-system emacs-build-system)
+    ;; Tests for emacs-commander have a circular dependency with ert-runner, and
+    ;; therefore cannot be run
+    (arguments (list #:tests? #f))
     (propagated-inputs
      (list emacs-dash emacs-f emacs-s))
     (home-page "https://github.com/rejeep/commander.el")
@@ -21907,8 +21828,6 @@ (define-public emacs-eldoc-box
 hidden.")
     (license license:gpl3+)))
 
-;; Tests for ert-runner have a circular dependency with ecukes, and therefore
-;; cannot be run
 (define-public emacs-ert-runner
   (package
     (name "emacs-ert-runner")
@@ -21932,8 +21851,11 @@ (define-public emacs-ert-runner
            emacs-f
            emacs-s
            emacs-shut-up))
+    ;; Tests for ert-runner have a circular dependency with ecukes, and therefore
+    ;; cannot be run
     (arguments
-     `(#:phases
+     `(#:tests? #f
+       #:phases
        (modify-phases %standard-phases
          (add-after 'install 'install-executable
            (lambda* (#:key inputs outputs #:allow-other-keys)
@@ -21997,7 +21919,6 @@ (define-public emacs-org-transclusion
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #true
         #:test-command #~(list "emacs" "--batch"
                                "-l" "org-transclusion.el"
                                "-l" "test/unit-tests.el"
@@ -22050,8 +21971,7 @@ (define-public emacs-json-reformat
        (patches (search-patches "emacs-json-reformat-fix-tests.patch"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("ert-runner")
+     `(#:test-command '("ert-runner")
        #:phases
        (modify-phases %standard-phases
          (add-before 'check 'make-tests-writable
@@ -22464,8 +22384,7 @@ (define-public emacs-display-wttr
                 "1hmawlnd2l89p48pviwn4khvjs0iry8x67cyqw70r10dd0ybn851"))))
     (build-system emacs-build-system)
     (arguments
-     (list #:tests? #t
-           #:test-command #~(list "emacs" "--batch"
+     (list #:test-command #~(list "emacs" "--batch"
                                   "-l" "display-wttr-test.el"
                                   "-f" "ert-run-tests-batch-and-exit")))
     (home-page "https://git.sr.ht/~josegpt/display-wttr")
@@ -22851,8 +22770,7 @@ (define-public emacs-git-messenger
     (propagated-inputs
      (list emacs-popup))
     (arguments
-     `(#:tests? #t
-       #:test-command '("emacs" "--batch" "-l" "test/test.el"
+     `(#:test-command '("emacs" "--batch" "-l" "test/test.el"
                         "-f" "ert-run-tests-batch-and-exit")))
     (home-page "https://github.com/syohex/emacs-git-messenger")
     (synopsis "Popup commit message at current line")
@@ -23001,7 +22919,6 @@ (define-public emacs-enh-ruby-mode
       (build-system emacs-build-system)
       (arguments
        (list #:include #~(cons "^ruby/" %default-include)
-             #:tests? #t
              #:test-command ''("rake" "test:all")
              #:phases #~(modify-phases %standard-phases
                           (add-after 'unpack 'set-default-ruby
@@ -23201,8 +23118,7 @@ (define-public emacs-browse-at-remote
         (base32 "0bx4ns0jb0sqrjk1nsspvl3mhz3n12925azf7brlwb1vcgnji09v"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("ert-runner")))
+     `(#:test-command '("ert-runner")))
     (native-inputs
      (list emacs-ert-runner))
     (propagated-inputs
@@ -23233,8 +23149,7 @@ (define-public emacs-tiny
            "1498j392ap2mk4zmsm2id16pfgvj78r428da9vw7hdrzzibai2cx"))))
       (build-system emacs-build-system)
       (arguments
-       `(#:tests? #t
-         #:test-command '("make" "test")))
+       `(#:test-command '("make" "test")))
       (home-page "https://github.com/abo-abo/tiny")
       (synopsis "Quickly generate linear ranges in Emacs")
       (description
@@ -23366,7 +23281,6 @@ (define-public emacs-unidecode
       (build-system emacs-build-system)
       (arguments
        `(#:include (cons* "^tools/" "^data/" %default-include)
-         #:tests? #t
          #:test-command '("emacs" "--batch"
                           "-l" "unidecode-test.el"
                           "-f" "ert-run-tests-batch-and-exit")
@@ -23498,8 +23412,7 @@ (define-public emacs-circe
           (base32 "1m2vnp38yv9fnxchcbf6mrzb7yp7z214vr28pr7sslrmm99dqg89"))))
       (build-system emacs-build-system)
       (arguments
-       `(#:tests? #t
-         #:test-command '("buttercup" "-L" ".")
+       `(#:test-command '("buttercup" "-L" ".")
          #:emacs ,emacs                 ;requires gnutls
          #:phases
          (modify-phases %standard-phases
@@ -24022,7 +23935,6 @@ (define-public emacs-evil-quickscope
      (list emacs-evil))
     (arguments
      (list
-      #:tests? #t
       #:test-command #~'("emacs" "--batch"
                          "-l" "evil-quickscope-tests.el"
                          "-f" "ert-run-tests-batch-and-exit")
@@ -24090,8 +24002,7 @@ (define-public emacs-groovy-modes
                 "1jpfyqnqd8nj0g8xbiw4ar2qzxx3pvhwibr6hdzhyy9mmc4yzdgk"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("ert-runner")))
+     `(#:test-command '("ert-runner")))
     (native-inputs
      (list emacs-ert-runner emacs-undercover emacs-shut-up emacs-f))
     (propagated-inputs
@@ -24144,8 +24055,7 @@ (define-public emacs-kotlin-mode
           (base32 "09inpgwmnnqaakyn4r4xs8kax8b89dw94kvl521x6d43h9zl5i70"))))
       (build-system emacs-build-system)
       (arguments
-       `(#:tests? #t
-         #:test-command '("ert-runner" "-L" "." "-L" "test")))
+       `(#:test-command '("ert-runner" "-L" "." "-L" "test")))
       (native-inputs (list emacs-ert-runner))
       (home-page "https://github.com/Emacs-Kotlin-Mode-Maintainers/kotlin-mode")
       (synopsis "Major major-mode for editing Kotlin files")
@@ -24249,8 +24159,7 @@ (define-public emacs-kv
         (search-patches "emacs-kv-fix-tests.patch"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("emacs" "--batch" "-l" "kv-tests.el"
+     `(#:test-command '("emacs" "--batch" "-l" "kv-tests.el"
                         "-f" "ert-run-tests-batch-and-exit")))
     (home-page "https://github.com/nicferrier/emacs-kv")
     (synopsis "Key/Value data structures library for Emacs Lisp")
@@ -24733,8 +24642,7 @@ (define-public emacs-auth-source-pass
           (base32 "0g48z5w6n3c54zqfpx65dfyl9jqbl15idvbb1hhw2pd9f9r8fykk"))))
       (build-system emacs-build-system)
       (arguments
-       `(#:tests? #t
-         #:test-command '("emacs" "--batch"
+       `(#:test-command '("emacs" "--batch"
                           "-L" "."
                           "-l" "test/auth-source-pass-tests.el"
                           "-f" "ert-run-tests-batch-and-exit")))
@@ -24939,7 +24847,6 @@ (define-public emacs-emacsql
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
       #:test-command #~(list "emacs" "-Q" "--batch"
                              "-L" "tests"
                              "-L" "."
@@ -25260,7 +25167,6 @@ (define-public emacs-org-recur
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "emacs" "--batch" "-l" "org-recur-test.el"
                              "-f" "ert-run-tests-batch-and-exit")))
     (propagated-inputs (list emacs-dash))
@@ -25315,7 +25221,6 @@ (define-public emacs-org-super-agenda
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
       #:test-command #~(list "test/run" "--debug")
       #:phases
       #~(modify-phases %standard-phases
@@ -25432,7 +25337,6 @@ (define-public emacs-ts
        ;; The failing tests all have similar problems, but nothing else about
        ;; the library seems particularly off.
        (list
-        #:tests? #t
         #:test-command #~(list "emacs" "--batch"
                                "-l" "test/test.el"
                                "-f" "ert-run-tests-batch-and-exit")
@@ -25480,7 +25384,6 @@ (define-public emacs-circadian
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command
       #~(list "emacs" "-Q" "--batch"
               "-l" "test.el"
@@ -25539,7 +25442,6 @@ (define-public emacs-eldev
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "./bin/eldev" "-p" "-dtTC" "test")
       #:phases
       #~(modify-phases %standard-phases
@@ -25842,7 +25744,6 @@ (define-public emacs-citar
     (arguments
      (list
       #:emacs emacs-no-x
-      #:tests? #true
       #:test-command #~(list "emacs" "--batch" "-L" "."
                              "-l" "test/citar-test.el"
                              "-l" "test/citar-file-test.el"
@@ -26415,8 +26316,7 @@ (define-public emacs-loop
     (native-inputs
      (list emacs-ert-runner emacs-undercover))
     (arguments
-     `(#:tests? #t
-       #:test-command '("ert-runner")))
+     `(#:test-command '("ert-runner")))
     (home-page "https://github.com/Wilfred/loop.el")
     (synopsis "Imperative loop structures for Emacs")
     (description "Loop structures familiar to users of other languages.  This
@@ -26449,7 +26349,6 @@ (define-public emacs-elisp-refs
      (list emacs-ert-runner emacs-undercover))
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "ert-runner")))
     (home-page "https://github.com/Wilfred/elisp-refs")
     (synopsis "Find callers of elisp functions or macros")
@@ -26607,8 +26506,7 @@ (define-public emacs-esup
       (propagated-inputs
        (list emacs-dash))
       (arguments
-     `(#:tests? #t
-       #:test-command '("buttercup" "-L" ".")))
+     `(#:test-command '("buttercup" "-L" ".")))
       (home-page "https://github.com/jschaf/esup")
       (synopsis "Emacs start up profiler")
       (description "Benchmark Emacs Startup time without ever leaving
@@ -26768,7 +26666,6 @@ (define-public emacs-macrostep
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:phases
       #~(modify-phases %standard-phases
           (add-before 'check 'remove-test
@@ -26841,7 +26738,6 @@ (define-public emacs-parent-mode
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "emacs" "--batch"
                              "-l" "parent-mode-test.el"
                              "-f" "ert-run-tests-batch-and-exit")))
@@ -27537,8 +27433,7 @@ (define-public emacs-helpful
     (native-inputs
      (list emacs-ert-runner emacs-undercover))
     (arguments
-     `(#:tests? #t
-       #:test-command '("ert-runner")))
+     `(#:test-command '("ert-runner")))
     (home-page "https://github.com/Wilfred/helpful")
     (synopsis "More contextual information in Emacs help")
     (description "@code{helpful} is an alternative to the built-in Emacs help
@@ -27609,8 +27504,7 @@ (define-public emacs-suggest
     (native-inputs
      (list emacs-ert-runner emacs-undercover))
     (arguments
-     `(#:tests? #t
-       #:test-command '("ert-runner")))
+     `(#:test-command '("ert-runner")))
     (synopsis "Suggest Elisp functions that give the output requested")
     (description "Suggest.el will find functions that give the output
 requested.  It's a great way of exploring list, string and arithmetic
@@ -27817,8 +27711,7 @@ (define-public emacs-auto-yasnippet
                   "0ifzbwnm2axb8kmfp3jvg05wq02j121iwp2m64pi70c7mza0i886"))))
       (build-system emacs-build-system)
       (arguments
-       '(#:tests? #t
-         #:test-command '("make" "test")))
+       '(#:test-command '("make" "test")))
       (propagated-inputs
        (list emacs-yasnippet))
       (home-page "https://github.com/abo-abo/auto-yasnippet/")
@@ -28623,8 +28516,7 @@ (define-public emacs-git-auto-commit-mode
     (native-inputs
      (list emacs-buttercup git))
     (arguments
-     `(#:tests? #t
-       #:test-command '("buttercup" "-L" ".")))
+     `(#:test-command '("buttercup" "-L" ".")))
     (home-page "https://github.com/ryuslash/git-auto-commit-mode")
     (synopsis "Emacs Minor mode to automatically commit and push")
     (description "@code{git-auto-commit-mode} is an Emacs minor mode that
@@ -28815,8 +28707,7 @@ (define-public emacs-devil
         (base32 "1pr9yf6f37sz5qy1snn8ag5bvg6lza7q635jh8jhaqqfp37jvv1y"))))
     (build-system emacs-build-system)
     (arguments
-     (list #:tests? #true
-           #:test-command #~(list "make" "tests")))
+     (list #:test-command #~(list "make" "tests")))
     (home-page "https://github.com/susam/devil")
     (synopsis "Minor mode for translating key sequences")
     (description
@@ -29072,7 +28963,6 @@ (define-public emacs-evil-multiedit
                (("@cask exec ") ""))
              (substitute* "test/test-helper.el"
                (("'\\(evil iedit\\)") "nil")))))
-       #:tests? #t
        #:test-command '("make" "test")))
     (home-page "https://github.com/hlissner/evil-multiedit")
     (synopsis "Multiple cursors for Evil mode")
@@ -29324,7 +29214,6 @@ (define-public emacs-go-translate
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "emacs" "-Q" "--batch"
                              "-L" "."
                              "-l" "gt-tests.el"
@@ -29387,7 +29276,6 @@ (define-public emacs-langtool
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
       #:test-command #~(list "make" "test")))
     (propagated-inputs (list emacs-popup))
     (home-page "https://github.com/mhayashi1120/Emacs-langtool")
@@ -29443,8 +29331,7 @@ (define-public emacs-helm-company
     (native-inputs
      (list emacs-ert-runner))
     (arguments
-     (list #:tests? #t
-           #:test-command #~(list "ert-runner")))
+     (list #:test-command #~(list "ert-runner")))
     (home-page "https://github.com/Sodel-the-Vociferous/helm-company")
     (synopsis "Helm interface for Company mode")
     (description
@@ -29786,8 +29673,7 @@ (define-public emacs-picpocket
           (base32 "1vb358jyfs3px70ah60dmlz5azdfkva9xrw3mgrr4060vcy7w4q1"))))
       (build-system emacs-build-system)
       (arguments ; needed for running tests
-       `(#:tests? #t
-         #:emacs ,emacs
+       `(#:emacs ,emacs
          #:test-command '("emacs" "--batch"
                           "-l" "picpocket-test.el"
                           "-f" "ert-run-tests-batch-and-exit")))
@@ -29958,7 +29844,6 @@ (define-public emacs-srht
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "emacs" "--batch"
                              "-l" "tests/srht-test.el"
                              "-f" "ert-run-tests-batch-and-exit")
@@ -30023,7 +29908,6 @@ (define-public emacs-github-review
        (list emacs-buttercup emacs-undercover))
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "buttercup" "-L" "test/github-review-test.el")
         #:phases
         #~(modify-phases %standard-phases
@@ -30077,7 +29961,6 @@ (define-public emacs-deadgrep
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "ert-runner")
       #:phases
       #~(modify-phases %standard-phases
@@ -30416,7 +30299,6 @@ (define-public emacs-adoc-mode
                                 "adoctest-test-tempo-paragraphs"
                                 "adoctest-test-tempo-passthroug-macros"
                                 "adoctest-test-tempo-quotes"))))))
-      #:tests? #t
       #:test-command #~(list "emacs" "-Q" "-batch"
                              "-l" "test/adoc-mode-test.el"
                              "-f" "ert-run-tests-batch-and-exit")))
@@ -30445,8 +30327,7 @@ (define-public emacs-racer
          (sha256
           (base32 "12a429lajk09qp1jxgig54p8z6wndfgr4jwdmgkc9s2df9sw02d3"))))
       (arguments
-       `(#:tests? #t
-         #:test-command '("ert-runner")))
+       `(#:test-command '("ert-runner")))
       (native-inputs
        (list emacs-ert-runner emacs-undercover))
       (propagated-inputs
@@ -31670,7 +31551,6 @@ (define-public emacs-sesman
            (lambda _
              (setenv "SHELL" (which "sh"))
              #t)))
-       #:tests? #t
        #:test-command '("make" "test")))
     (home-page "https://github.com/vspinu/sesman")
     (synopsis "Session manager for Emacs based IDEs")
@@ -31697,7 +31577,6 @@ (define-public emacs-buttercup
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "make" "test")
       #:phases
       #~(modify-phases %standard-phases
@@ -31730,8 +31609,7 @@ (define-public emacs-cort
     (propagated-inputs
      (list emacs-ansi))
     (arguments
-     `(#:tests? #t
-       #:test-command '("emacs" "--batch" "--quick"
+     `(#:test-command '("emacs" "--batch" "--quick"
                         "--directory=." "--load=cort-tests.el"
                         "--funcall=cort-test-run")))
     (home-page "https://github.com/conao3/cort.el")
@@ -31863,7 +31741,6 @@ (define-public emacs-annalist
              (substitute* "Makefile"
                (("cask exec ") ""))
              #t)))
-       #:tests? #t
        #:test-command '("make" "test")))
     (home-page "https://github.com/noctuid/annalist.el")
     (synopsis "Record and display information with Org headings and tables")
@@ -31890,8 +31767,7 @@ (define-public emacs-general
       (native-inputs
        (list emacs-buttercup emacs-evil emacs-which-key emacs-use-package))
       (arguments
-       `(#:tests? #t
-         #:test-command '("buttercup" "-L" "test/test-general.el")))
+       `(#:test-command '("buttercup" "-L" "test/test-general.el")))
       (home-page "https://github.com/noctuid/general.el")
       (synopsis "More convenient key definitions in emacs")
       (description "@code{general.el} provides a more convenient method for
@@ -32236,7 +32112,6 @@ (define-public emacs-libmpdel
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "ert-runner")))
     (native-inputs
      (list emacs-ert-runner))
@@ -32315,7 +32190,6 @@ (define-public emacs-navigel
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "ert-runner")))
     (native-inputs
      (list emacs-ert-runner))
@@ -32351,7 +32225,6 @@ (define-public emacs-eat
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:include #~(cons* "^term/"
                          "^terminfo/"
                          "^integration/"
@@ -32579,7 +32452,6 @@ (define-public emacs-detached
                 "0dvvyqc0nw9has54vps10f5iv831cb29vqvbvx0m2djv9pacqp17"))))
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "ert-runner")
       #:phases
       #~(modify-phases %standard-phases
@@ -32664,6 +32536,7 @@ (define-public emacs-repo
                (base32
                 "0y8j3hf5r69fxj2vsbaxwr9qdchddn53w25xzmxv1kfh6hbagzv3"))))
     (build-system emacs-build-system)
+    (arguments (list #:tests? #f))      ; tests require networking
     (native-inputs
      (list emacs-el-mock emacs-ert-runner))
     (propagated-inputs
@@ -32689,7 +32562,6 @@ (define-public emacs-repology
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command
       #~(list "emacs" "-Q" "-batch"
               "-l" "repology-tests.el"
@@ -33270,8 +33142,7 @@ (define-public emacs-bfuture
        (file-name (git-file-name name version))))
     (build-system emacs-build-system)
     (arguments
-     (list #:tests? (not (%current-target-system))
-           #:test-command #~'("ert-runner")))
+     (list #:test-command #~'("ert-runner")))
     (native-inputs (list emacs-ert-runner))
     (home-page "https://github.com/plattfot/bfuture.el")
     (synopsis "Basic future concept for Emacs with Tramp support")
@@ -33318,7 +33189,6 @@ (define-public emacs-treemacs
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #t
       #:test-command #~(list "make" "-C" "../.." "test")
       #:phases
       #~(modify-phases %standard-phases
@@ -33832,8 +33702,7 @@ (define-public emacs-undo-propose-el
            "00rqz63bhh66q78l646q3w16gydygj8h4d8np0dpbifgzciak90b"))))
       (build-system emacs-build-system)
       (arguments
-       `(#:tests? #t
-         #:test-command '("make" "test")))
+       `(#:test-command '("make" "test")))
       (home-page "https://github.com/jackkamm/undo-propose-el")
       (synopsis "Simple and safe navigation of @code{undo} history")
       (description "This package permits navigation of @code{undo} history in a
@@ -34110,8 +33979,7 @@ (define-public emacs-tco-el
       (native-inputs
        (list emacs-ert-runner emacs-undercover))
       (arguments
-       `(#:tests? #t
-         #:test-command '("ert-runner")))
+       `(#:test-command '("ert-runner")))
       (home-page "https://github.com/Wilfred/tco.el")
       (synopsis "Tail-call optimization for Emacs Lisp")
       (description "This package provides tail-call optimization for Emacs
@@ -34162,8 +34030,7 @@ (define-public emacs-vdiff
       (propagated-inputs
        (list emacs-hydra))
       (arguments
-       `(#:tests? #t
-         #:test-command '("emacs" "-Q" "-batch" "-L" "."
+       `(#:test-command '("emacs" "-Q" "-batch" "-L" "."
                           "-l" "vdiff-test.el"
                           "-f" "ert-run-tests-batch-and-exit")))
       (home-page "https://github.com/justbur/emacs-vdiff/")
@@ -34362,7 +34229,6 @@ (define-public emacs-exwm-firefox
       #~(modify-phases %standard-phases
           (add-after 'unpack 'chdir
             (lambda _ (chdir "lisp"))))
-      #:tests? #true
       #:test-command #~(list "emacs" "-Q" "--batch"
                              "-l" "../test/exwm-firefox--tests.el"
                              "-l" "exwm-firefox.el"
@@ -34574,8 +34440,7 @@ (define-public emacs-rjsx-mode
     (propagated-inputs
      (list emacs-js2-mode))
     (arguments
-     `(#:tests? #t
-       #:test-command '("make" "test")
+     `(#:test-command '("make" "test")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'js2-number-tests
@@ -34819,8 +34684,7 @@ (define-public emacs-dash-docs
       (native-inputs
        (list emacs-undercover emacs-ert-runner))
       (arguments
-       `(#:tests? #t
-         #:test-command '("ert-runner")
+       `(#:test-command '("ert-runner")
          #:phases
          ;; this test requires network access, so remove it
          (modify-phases %standard-phases
@@ -35069,8 +34933,7 @@ (define-public emacs-casual-lib
                 "1hmr0zzwm3f88786j8p8x39jn5b8jja37x1iww4vd83dsvkksbpa"))))
     (build-system emacs-build-system)
     (arguments
-     (list #:tests? #t
-           #:test-command #~(list "make" "tests")
+     (list #:test-command #~(list "make" "tests")
            #:phases
            #~(modify-phases %standard-phases
                (add-after 'unpack 'move-source-files
@@ -35606,7 +35469,6 @@ (define-public emacs-evil-numbers
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "emacs" "--batch"
                                "-l" "evil-numbers.el"
                                "-l" "tests/evil-numbers-tests.el"
@@ -35868,7 +35730,6 @@ (define-public emacs-evil-traces
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "make" "test")
         #:phases
         #~(modify-phases %standard-phases
@@ -36371,7 +36232,6 @@ (define-public emacs-ox-tufte
     (arguments
      (list
       #:include #~(cons "^src/" %default-include)
-      #:tests? #t
       #:test-command #~(list "eldev" "--use-emacsloadpath" "-dtTC" "test")))
     (native-inputs (list emacs-buttercup emacs-eldev))
     (propagated-inputs (list emacs-org))
@@ -36697,7 +36557,6 @@ (define-public emacs-org-jira
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
       #:test-command #~(list "emacs" "-Q" "--batch"
                              "-l" "jiralib.el"
                              "-l" "org-jira-sdk.el"
@@ -36776,7 +36635,6 @@ (define-public emacs-systemd-mode
     (build-system emacs-build-system)
     (arguments
      (list #:include #~(cons* "\\.txt$" %default-include)
-           #:tests? #true
            #:test-command #~(list "emacs" "-Q" "--batch"
                                   "-L" "."
                                   "-l" "test/systemd-tests.el"
@@ -36984,8 +36842,7 @@ (define-public emacs-doom-themes
       (native-inputs
        (list emacs-ert-runner))
       (arguments
-       (list #:tests? #t
-             #:test-command #~(list "ert-runner")
+       (list #:test-command #~(list "ert-runner")
              #:modules '((guix build emacs-build-system)
                          (guix build utils)
                          (guix build emacs-utils)
@@ -39085,8 +38942,7 @@ (define-public emacs-exiftool
          "0bv58is66cz21yhc0qqkp1z4nk13zfi2l7i6pjbhyi0g1n88qqyv"))))
     (build-system emacs-build-system)
     (arguments
-     `(#:tests? #t
-       #:test-command '("make" "-C" "tests")
+     `(#:test-command '("make" "-C" "tests")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'configure
@@ -39141,8 +38997,7 @@ (define-public emacs-qrencode
                 "0yrshahci319lnjdpsksdy11a69k1n91qk9r2zfyhqmng09s6i0y"))))
     (build-system emacs-build-system)
     (arguments
-     (list #:tests? #t
-           #:test-command #~(list "emacs" "-Q" "--batch"
+     (list #:test-command #~(list "emacs" "-Q" "--batch"
                                   "-l" "qrencode.el"
                                   "-l" "qrencode-tests.el"
                                   "-f" "ert-run-tests-batch-and-exit")))
@@ -39193,7 +39048,6 @@ (define-public emacs-org-journal
     (build-system emacs-build-system)
     (arguments
      (list
-      #:tests? #true
       #:test-command #~(list "emacs" "-Q" "--batch"
                              "-L" "."
                              "-l" "tests/org-journal-test"
@@ -39272,7 +39126,6 @@ (define-public emacs-weblorg
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "emacs" "--quick" "--batch"
                                "-l" "t/weblorg-tests.el"
                                "-f" "ert-run-tests-batch-and-exit")))
@@ -39892,8 +39745,7 @@ (define-public emacs-execline
     (propagated-inputs
      (list emacs-s))
     (arguments
-     `(#:tests? #t
-       #:test-command '("emacs" "-Q" "-batch" "-L" "."
+     `(#:test-command '("emacs" "-Q" "-batch" "-L" "."
                         "-l" "t/indent.el"
                         "-f" "ert-run-tests-batch-and-exit")))
     (home-page "https://gitlab.com/KAction/emacs-execline/")
@@ -40917,8 +40769,7 @@ (define-public emacs-webpaste
           (base32 "1wl2q4q7c2a1m60q4dnajsyzkc9yprkyzx4hxzmxkwry22k906x3"))))
       (build-system emacs-build-system)
       (arguments
-       `(#:tests? #t
-         #:test-command '("make" "unit" "integration")
+       `(#:test-command '("make" "unit" "integration")
          #:phases
          (modify-phases %standard-phases
            (add-after 'unpack 'fix-tests
@@ -40965,8 +40816,7 @@ (define-public emacs-keystore-mode
           (base32 "06cznkqkm04zz5lqfb514aqvsr2p13arzysixv0ss0bqpvdq7cv7"))))
       (build-system emacs-build-system)
       (arguments
-       `(#:tests? #t
-         #:test-command
+       `(#:test-command
          '("emacs" "--no-init-file" "--batch"
            "--eval=(require 'ecukes)" "--eval=(ecukes)")))
       (native-inputs
@@ -41269,7 +41119,6 @@ (define-public emacs-ein
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #true
         #:test-command
         #~(list "emacs" "-Q" "--batch"
                 "-L" "test"
@@ -41822,7 +41671,6 @@ (define-public emacs-straight-el
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command
         #~(list "emacs" "-Q" "--batch"
                 "-L" "."
@@ -42177,7 +42025,6 @@ (define-public emacs-org-cliplink
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #t
         #:test-command #~(list "ert-runner")
         #:phases
         #~(modify-phases %standard-phases
@@ -42699,7 +42546,6 @@ (define-public emacs-x509-mode
       (build-system emacs-build-system)
       (arguments
        (list
-        #:tests? #true
         #:test-command #~(list "emacs" "-Q" "--batch"
                                "-l" "x509-mode.el"
                                "-l" "x509-mode-tests.el"
diff --git a/guix/build-system/emacs.scm b/guix/build-system/emacs.scm
index 06eec43ec4f..2ec08fe8783 100644
--- a/guix/build-system/emacs.scm
+++ b/guix/build-system/emacs.scm
@@ -82,7 +82,7 @@ (define* (lower name
 
 (define* (emacs-build name inputs
                       #:key source
-                      (tests? #f)
+                      (tests? (not (%current-target-system)))
                       (parallel-tests? #t)
                       (test-command ''("make" "check"))
                       (phases '%standard-phases)
-- 
2.48.1