summaryrefslogtreecommitdiff
path: root/admin
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2023-04-06 16:31:49 +0200
committerMichael Albinus <michael.albinus@gmx.de>2023-04-06 16:31:49 +0200
commit5ae0c16732450603efc1a0c900e5f2721a0f620b (patch)
tree2eb3a7956c82a209fc0973cecff26c3781a07a38 /admin
parent27a21709c1e8e67a1e90d8c926e6daaa1f9a686a (diff)
downloademacs-5ae0c16732450603efc1a0c900e5f2721a0f620b.tar.gz
Describe how to run Emba tests locally
* admin/notes/emba: Describe how to run Emba tests locally. * test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection.
Diffstat (limited to 'admin')
-rw-r--r--admin/notes/emba40
1 files changed, 40 insertions, 0 deletions
diff --git a/admin/notes/emba b/admin/notes/emba
index 564cc3c54ac..c88b422a4fa 100644
--- a/admin/notes/emba
+++ b/admin/notes/emba
@@ -83,6 +83,46 @@ Lisp packages, Makefiles, scripts, and other software could determine
whether they run on emba by checking for the environment variable
EMACS_EMBA_CI.
+* Running Emba tests locally
+
+As usual in GitLab, the tests run in containers, which could be
+applied also locally. Unfortunately, the Emba container registry,
+emba.gnu.org:5050, is not accessible publicly. Instead, the container
+images must be build locally. Change the current directory to a
+recent Emacs branch, and apply the command
+
+ docker build --target emacs-inotify --tag emacs-inotify \
+ -f test/infra/Dockerfile.emba .
+
+This creates the Debian-based image emacs-inotify, based on the
+instructions in the file Dockerfile.emba. This image is good for the
+majority of tests. However, there are also other image build
+instructions like emacs-filenotify-gio, emacs-eglot, emacs-gnustep and
+emacs-native-comp-speed{0,1,2}. Use the appropriate one.
+
+The image contains a directory "/checkout", which is a copy of your
+local Emacs git repository. Emacs has been built in this directory
+via "make bootstrap". In order to use the image, start a container
+like
+
+ docker run --interactive --env EMACS_EMBA_CI=1 --name emacs-inotify \
+ emacs-inotify /bin/sh -i
+
+In this container, change the current directory to "/checkout". Now
+you can apply all commands known for Emacs, like
+
+ cd /checkout
+ make -C test files-tests.log
+
+While this container runs, you can also access its filesystem from
+your local Emacs via Tramp. For example, in order to see the result
+of the above test run, open the log file in your local Emacs with
+
+ C-x C-f /docker:emacs-inotify:/checkout/test/lisp/files-tests.log
+
+Note: On local Red Hat-based systems, use "podman" instead of "docker"
+in the shell commands and Tramp file names.
+
This file is part of GNU Emacs.