Commit graph

214 commits

Author SHA1 Message Date
Michael Albinus 5ebed5219d Adapt eglot tests on emba
* test/infra/Dockerfile.emba (emacs-eglot): Install rust-src.

* test/infra/gitlab-ci.yml (test-eglot): Extend EMACS_EXTRAOPT.

* test/lisp/progmodes/eglot-tests.el
(eglot-test-rust-completion-exit-function): Don't skip on emba.
2026-09-04 17:50:44 +02:00
Michael Albinus 397fcd24d2 ; * test/infra/gitlab-ci.yml (test-eglot): Fix EMACS_EXTRAOPT. 2026-09-02 18:03:03 +02:00
Michael Albinus 6117772c77 ; * test/infra/gitlab-ci.yml (test-eglot): Fix EMACS_EXTRAOPT. 2026-09-02 12:18:58 +02:00
Michael Albinus ac54527fad Improve eglot tests on emba
* test/infra/Dockerfile.emba (emacs-eglot): Don't run 'pipx ensurepath'.

* test/infra/gitlab-ci.yml (test-eglot): Adapt EMACS_EXTRAOPT.
2026-09-01 15:50:35 +02:00
Michael Albinus 45ff5fd4dc * test/infra/gitlab-ci.yml (test-eglot): Set $PATH. 2026-08-31 09:34:31 +02:00
Michael Albinus 98165ff73e Install more test server for eglot tests on emba
* test/infra/Dockerfile.emba (emacs-eglot): Install pipx,
rassumfrassum, ruff and ty.
2026-08-30 16:36:30 +02:00
Michael Albinus 5e3f68c669 Fix emacs-eglot test on emba
* test/infra/Dockerfile.emba (emacs-eglot): Do not install
typescript via npm.
2026-07-27 18:31:30 +02:00
Michael Albinus 5cb7446245 * test/infra/gitlab-ci.yml (default): User docker 28.5.2. 2026-04-10 14:28:54 +02:00
Stefan Monnier 6d8b3d1077 test subdirectory: Use new error-API
* test/lisp/vc/vc-tests/vc-tests.el
(vc-test--run-maybe-unsupported-function): Remove dummy branch in
`condition-case`.
* test/lisp/arc-mode-tests.el (define-arc-mode-test-on-type):
Use `error-slot-value`.

* test/src/process-tests.el (process-tests--ignore-EMFILE):
* test/src/filelock-tests.el (filelock-tests-unlock-spoiled)
(filelock-tests-kill-buffer-spoiled):
* test/lisp/vc/vc-git-tests.el (vc-git-test--run):
* test/lisp/proced-tests.el (proced--assert-process-valid-cpu-refinement):
* test/lisp/emacs-lisp/pp-tests.el (pp-tests--sanity):
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env)
(edebug-tests-post-command):
* test/lisp/autorevert-tests.el (auto-revert--deftest-remote):
* test/infra/android/test-controller.el (ats-connect):
2026-03-10 10:48:22 -04:00
Michael Albinus e34b6caf13 ; * test/infra/test-jobs.yml: Regenerate. 2026-02-22 16:30:47 +01:00
Michael Albinus 6762394734 Improve handling of not-parallel test runs
* test/Makefile.in: Distinguish between parallel and not-parallel
tests.  Mark lisp/autorevert-tests.log, lisp/filenotify-tests.log
and lisp/net/tramp-tests.log to run not-parrallel.  (Bug#80164)

* test/README: Some of the tests do not run parallel when
expensive tests are activated.

* test/infra/gitlab-ci.yml (.job-template): Use "make -j".
Makefile knows how to handle parallel runs properly.
2026-01-24 09:07:46 +01:00
Michael Albinus 1bc8e61df4 Don't use "make -j" when running tests
* test/infra/gitlab-ci.yml (.job-template):
* test/README: Don't use "make -j".
2026-01-11 10:21:12 +01:00
Sean Whitton c31f6adc31 ; Add 2026 to copyright years. 2026-01-01 12:54:34 +00:00
Juri Linkov d99354720b ; * test/infra/Dockerfile.emba: Fix warning about casing not matching. 2025-08-14 20:59:15 +03:00
Michael Albinus 76c17ac0f0 Rework filenotify-tests.el
* lisp/filenotify.el (file-notify--rm-descriptor):
Use `insert-special-event'.

* lisp/net/tramp-sh.el (tramp-bundle-read-file-names): Fix docstring.
(tramp-sh-gio-monitor-process-filter): Extend error strings.

* test/infra/Dockerfile.emba (emacs-base): Install python3.

* test/lisp/filenotify-tests.el (auto-revert-buffer-list): Declare.
(file-notify--test-rootdir): New defvar.  Replace all uses of
`temporary-file-directory' by it.
(file-notify--test-cleanup): Set `auto-revert-buffer-list' to nil.
(file-notify--test-monitor): Check also for `process-live-p'.
Skip test, if the monitor cannot be determined.
(file-notify--deftest-remote): Do not call
`tramp-cleanup-connection', this is done in
`file-notify--test-cleanup' already.
(with-file-notify-test): New defmacro.  Use it in (almost) all tests.
(file-notify--test-make-temp-name): Do not create
`file-notify--test-tmpdir'.
(file-notify--test-event-handler): Use `directory-file-name '.
(auto-revert-debug): Set it to nil.
(file-notify-test<nn>-*): Rewrite, using `with-file-notify-test'
and `ert-with-temp-file'.

* test/lisp/net/tramp-tests.el (tramp-test46-file-notifications):
Tag it :unstable.
2025-07-26 12:45:51 +02:00
Michael Albinus 771370dea5 Adapt filenotify-tests.el for Emba
* test/infra/gitlab-ci.yml (.filenotify-gio-template): Enable also
for scheduled jobs.

* test/lisp/filenotify-tests.el (file-notify--test-cleanup):
Fix docstring.
(file-notify--deftest-remote): Use `file-notify--test-cleanup'.
(file-notify-test03-events, file-notify-test05-file-validity)
(file-notify-test06-dir-validity)
(file-notify-test07-many-events)
(file-notify-test09-watched-file-in-watched-dir): Adapt tests.
(file-notify-test03-events-remote)
(file-notify-test04-autorevert-remote)
(file-notify-test07-many-events-remote)
(file-notify-test09-watched-file-in-watched-dir-remote): Do not
tag as :unstable.
2025-07-06 14:41:02 +02:00
Michael Albinus c98a74cd87 * test/infra/gitlab-ci.yml (test-eglot): Fix EMACS_EXTRAOPT. 2025-06-21 16:27:46 +02:00
Michael Albinus e3660a32c7 Improve eglot tests on emba
* test/infra/gitlab-ci.yml (test-eglot): Use packages company and
yasnippet.

* test/lisp/progmodes/eglot-tests.el (eglot--call-with-timeout):
Skip on emba in case of timeout.  (Bug#78730)
2025-06-20 18:38:27 +02:00
Peter Oliver 6181e0cec5 Eliminate redundant variable treesit-admin--builtin-language-sources
Nowadays, each mode populates treesit-language-source-alist when the
mode is required; we do not need to duplicate the information.

* admin/tree-sitter/treesit-admin.el
(treesit-admin--builtin-language-sources)
(treesit-admin-verify-major-mode-queries)
(treesit-admin--generate-compatibility-report): Eliminate variable
treesit-admin--builtin-language-sources.
(treesit-admin--generate-compatibility-report): bash-ts-mode is “clever”
and switches back to sh-mode if it thinks the current buffer does not
contain a Bash script (bug#78747).
(treesit-admin--builtin-modes): Add missing modes.
(treesit-admin--builtin-features): New variable, telling us which
features to require to populate treesit-language-source-alist.
(treesit-admin--populated-treesit-language-source-alist): New function,
to add everything we know to treesit-language-source-alist.
(treesit-admin--unversioned-treesit-language-source-alist): Return a
copy of treesit-language-source-alist with the version requirements
removed.
* test/infra/Dockerfile.emba: Make use of
treesit-admin--populated-treesit-language-source-alist (bug#78748).
2025-06-19 19:28:21 +03:00
Michael Albinus 13a4cd5ed1 More language server on emba
* test/infra/Dockerfile.emba (emacs-eglot): Install also
typescript-language-server and vscode-json-languageserver.
2025-06-08 16:45:06 +02:00
Michael Albinus f1766fd2b3 Improve emba integration
* admin/notes/emba: Mention generated compatibility-report.html.

* test/infra/Dockerfile.emba (emacs-base): Install man-db.
(emacs-inotify): Don't install clangd.
(emacs-eglot): Derive from debian:trixie.  Install rust-analyzer.

* test/infra/gitlab-ci.yml (.job-template): Make actions in
after_script more robust.
2025-06-08 15:47:44 +02:00
Michael Albinus 42a002f31f * test/infra/gitlab-ci.yml (.job-template): Fix config.log name. 2025-05-27 09:20:54 +02:00
Michael Albinus 48e3d08cf3 ; Fix last change 2025-05-25 15:20:10 +02:00
Michael Albinus 300d7c1ad6 Adapt Emba files
* test/infra/Dockerfile.emba:
* test/infra/gitlab-ci.yml: Add me as maintainer.  Format.

* test/infra/Makefile.in (tree-sitter-files): Format.
2025-05-25 14:04:09 +02:00
Michael Albinus c879576729 * test/infra/Dockerfile.emba (emacs-tree-sitter): Cosmetic change. 2025-05-23 13:40:11 +02:00
Michael Albinus baa33c3806 ; Fix last change 2025-05-19 08:45:37 +02:00
Michael Albinus c8294f3a0f Generate tree-sitter compatibility report on emba
* test/infra/Dockerfile.emba (emacs-tree-sitter): Generate
compatibility report.

* test/infra/gitlab-ci.yml (.job-template): Modify artifacts preparation.
(build-tree-sitter): Add artifact.
2025-05-18 20:39:59 +02:00
Michael Albinus b91efd401d Improve handling of tests in *-tests subdirs
* test/Makefile.in (subdir_template): Add rules for *-tests subdirs.

* test/infra/Makefile.in: Remove special handling of eieio, faceup
and so-long.  Add recipes for *-tests subdirs.  Filter out rules
for *-tests subdirs.

* test/infra/test-jobs.yml: Regenerate.
2025-05-12 16:39:15 +02:00
Juri Linkov 815dea7b59 Avoid duplication in defining tree-sitter grammar sources.
* lisp/progmodes/php-ts-mode.el: Require 'html-ts-mode'.
(php-ts-mode--language-source-alist): Remove duplicate source info
for html, css, javascript, jsdoc.
(php-ts-mode-install-parsers): Install pre-defined grammars.
(php-ts-mode): Move 'require' to the top.

* lisp/textmodes/mhtml-ts-mode.el
(mhtml-ts-mode--language-source-alist): Remove variable
since 'treesit-language-source-alist' is pre-filled by
requiring 'html-ts-mode', 'css-mode', 'js'.
(mhtml-ts-mode-install-parsers): Install pre-defined grammars.

* test/infra/Dockerfile.emba: Remove 'mhtml-ts-mode'
that doesn't define own grammars.
2025-05-04 20:50:40 +03:00
Juri Linkov 5684a38086 Avoid adding duplicate items to 'treesit-language-source-alist'.
* lisp/textmodes/mhtml-ts-mode.el:
* lisp/progmodes/php-ts-mode.el:
Use 'add-to-list' on items in language-source-alist
that should check for duplicate items.

* test/infra/Dockerfile.emba: Move multi-language mhtml-ts-mode and
php-ts-mode to the end to give their dependent grammars a lower priority.

* test/lisp/progmodes/js-tests.el (js-ts-mode-test-indentation):
Skip the test when 'jsdoc' is missing since 'js-ts-mode' depends
on the 'jsdoc' grammar.
2025-05-01 20:55:33 +03:00
Michael Albinus b589fa9e23 ; Fix last change 2025-05-01 16:49:35 +02:00
Michael Albinus ab67f684e9 Improve treesitter tests on emba
* test/infra/Dockerfile.emba (emacs-tree-sitter): Print language
versions.

* test/infra/gitlab-ci.yml (.job-template): Pass ${http_proxy},
${https_proxy} and ${no_proxy} to the docker call.
(.tree-sitter-template): Add some dependencies.
2025-05-01 12:47:44 +02:00
Juri Linkov 85cd476a14 * test/infra/Dockerfile.emba: Avoid duplication of tree-sitter data.
Require ts-mode files in order to add their tree-sitter grammar sources
to 'treesit-language-source-alist'.
2025-04-30 20:30:14 +03:00
Juri Linkov 4151a44f60 ; * test/infra/Dockerfile.emba: Add cmake/markdown/php/phpdoc/toml/yaml. 2025-04-20 20:43:53 +03:00
Juri Linkov 3d3be6dd0e Lock tree-sitter language grammars to verified versions.
* admin/notes/tree-sitter/build-module/build.sh:
Update org for toml/yaml.

* admin/tree-sitter/treesit-admin.el
(treesit-admin--builtin-language-sources):
Add verified versions.

* lisp/progmodes/c-ts-mode.el:
Append language source to treesit-language-source-alist.
(c-ts-mode, c++-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/cmake-ts-mode.el:
Append language source to treesit-language-source-alist.
(cmake-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/csharp-mode.el:
Append language source to treesit-language-source-alist.
(csharp-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/dockerfile-ts-mode.el:
Append language source to treesit-language-source-alist.
(dockerfile-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/elixir-ts-mode.el:
Append language source to treesit-language-source-alist.
(elixir-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/go-ts-mode.el:
Append language source to treesit-language-source-alist.
(go-ts-mode, go-mod-ts-mode, go-work-ts-mode):
Use treesit-ensure-installed.

* lisp/progmodes/heex-ts-mode.el:
Append language source to treesit-language-source-alist.
(heex-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/java-ts-mode.el:
Append language source to treesit-language-source-alist.
(java-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/js.el:
Append language source to treesit-language-source-alist.
(js-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/json-ts-mode.el:
Append language source to treesit-language-source-alist.
(json-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/lua-ts-mode.el:
Append language source to treesit-language-source-alist.
(lua-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/php-ts-mode.el
(php-ts-mode--language-source-alist):
Update versions from comments in ts-modes.
Append to treesit-language-source-alist.
(php-ts-mode-install-parsers):
Use treesit-language-source-alist directly.
(php-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/ruby-ts-mode.el:
Append language source to treesit-language-source-alist.
(ruby-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/rust-ts-mode.el:
Append language source to treesit-language-source-alist.
(rust-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/sh-script.el:
Append language source to treesit-language-source-alist.
(bash-ts-mode): Use treesit-ensure-installed.

* lisp/progmodes/typescript-ts-mode.el:
Append language source to treesit-language-source-alist.
(typescript-ts-mode, tsx-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/css-mode.el:
Append language source to treesit-language-source-alist.
(css-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/html-ts-mode.el:
Append language source to treesit-language-source-alist.
(html-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/markdown-ts-mode.el:
Append language source to treesit-language-source-alist.
(markdown-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/mhtml-ts-mode.el
(mhtml-ts-mode--language-source-alist):
Append to treesit-language-source-alist.
(mhtml-ts-mode-install-parsers):
Use treesit-language-source-alist directly.
(mhtml-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/toml-ts-mode.el:
Append language source to treesit-language-source-alist.
(toml-ts-mode): Use treesit-ensure-installed.

* lisp/textmodes/yaml-ts-mode.el:
Append language source to treesit-language-source-alist.
(yaml-ts-mode): Use treesit-ensure-installed.

* test/infra/Dockerfile.emba: Add verified versions
to treesit-language-source-alist.
2025-04-18 19:22:50 +03:00
Michael Albinus 788c9cfb62 Fix tree-sitter tests on Emba
* test/infra/Dockerfile.emba: Use tree-sitter-rust v0.23.3 in
order to match ABI version of libtree-sitter0.
2025-04-15 14:17:25 +02:00
Po Lu 426a016d61 ; * test/infra/android/test-controller.el (ats-eval): Correct punctuation. 2025-04-10 18:19:28 +08:00
Michael Albinus d6c7a77465 * test/infra/Dockerfile.emba (emacs-tree-sitter): Add gowork grammar. 2025-03-25 09:28:43 +01:00
Po Lu 5d02ca181d ; New bisect' argument to ats-execute-tests-batch'
* test/infra/android/test-controller.el
(ats-execute-tests-batch): New argument `bisect'.
2025-03-16 20:14:34 +08:00
Mattias Engdegård 773108fc04 ; * test/infra/android/test-controller.el: minor regexp snags 2025-03-03 10:49:09 +01:00
Stefan Kangas 56202138a3 ; Add missing lexical-binding cookies 2025-03-02 19:46:15 +01:00
Po Lu e34d7a7c4e ; Adapt more tests for Android
* test/infra/android/test-controller.el (ats-eval): Document new
values of ats-eval.
(ats-run-test): Report conditions where tests induce Emacs to
exit.

* test/lisp/erc/resources/erc-tests-common.el
(erc-tests-common-kill-buffers): Bind
kill-buffer-query-functions to nil.
2025-03-02 21:02:10 +08:00
Po Lu 749e33bb48 Specifically report attempts to exit Emacs during test execution
* test/infra/android/test-driver.el (ats-in-eval): Fix typo in
doc string.
(ats-eval-as-printed, ats-eval-serial, ats-eval-do-decode):
Render buffer-local.
(ats-executing-form): New variable.
(ats-process-filter): Bind the same around `eval'.
(ats-kill-emacs-function): New function; register it to execute
when Emacs exits.
2025-03-02 21:02:10 +08:00
Po Lu c73003ade1 Don't byte compile early-init.el
* test/infra/android/early-init.el (frame-initialize): Remove
redundant debugging printouts.
2025-03-02 19:23:44 +08:00
Po Lu 8e007f7990 ; * test/infra/android/test-driver.el: Don't byte-compile. 2025-03-02 19:15:48 +08:00
Stefan Kangas c4232a08f1 ; Silence byte-compiler in Android tests 2025-03-02 09:19:54 +01:00
Po Lu a8988ce800 Run Android tests in the initial frame
* test/infra/android/early-init.el: New file.

* test/infra/android/test-controller.el (ats-connect): Upload
`early-init.el' to the staging directory and configure that
directory as the Emacs instance's initialization directory.
(ats-run-test): Always append to the test buffer.  Execute tests
within terminal-frame.
(ats-run-all-tests): Gracefully respond to errors.
(ats-cmd-error): New function.
(ats-execute-tests-batch): Accept a number of command line
arguments.
2025-03-02 16:05:04 +08:00
Po Lu 7ae069b676 ; * test/infra/android/test-controller.el: Fix typos. 2025-02-26 21:22:03 +08:00
Po Lu 67b444e290 ; New function for executing Android tests in batch mode
* test/infra/android/test-controller.el
(ats-execute-tests-batch): New function.
2025-02-26 20:58:01 +08:00
Po Lu 3e496fc317 Port Eshell tests to Android
* test/infra/android/test-controller.el (ats-run-test): Run
tests in a temp buffer.

* test/lisp/eshell/em-alias-tests.el (ert, em-alias)
(eshell-tests-helpers):

* test/lisp/eshell/em-basic-tests.el (em-basic)
(eshell-tests-helpers):

* test/lisp/eshell/em-cmpl-tests.el (em-unix)
(eshell-tests-helpers):

* test/lisp/eshell/em-dirs-tests.el (em-dirs)
(eshell-tests-helpers):

* test/lisp/eshell/em-extpipe-tests.el (ert-x)
(eshell-tests-helpers):

* test/lisp/eshell/em-glob-tests.el (ert, eshell-tests-helpers):

* test/lisp/eshell/em-hist-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/em-pred-tests.el (em-pred)
(eshell-tests-helpers):

* test/lisp/eshell/em-prompt-tests.el (em-prompt)
(eshell-tests-helpers):

* test/lisp/eshell/em-script-tests.el (em-script)
(eshell-tests-helpers):

* test/lisp/eshell/em-unix-tests.el (ert-x)
(eshell-tests-helpers):

* test/lisp/eshell/esh-arg-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/esh-cmd-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/esh-ext-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/esh-io-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/esh-mode-tests.el (em-prompt)
(eshell-tests-helpers):

* test/lisp/eshell/esh-proc-tests.el (em-prompt)
(eshell-tests-helpers):

* test/lisp/eshell/esh-util-tests.el (esh-util)
(eshell-tests-helpers):

* test/lisp/eshell/esh-var-tests.el (eshell)
(eshell-tests-helpers):

* test/lisp/eshell/eshell-tests.el (esh-mode)
(eshell-tests-helpers): Load `eshell-tests-helpers' from the
resource directory.

* test/lisp/eshell/resources/eshell-tests-helpers.el: Move from
`test/lisp/eshell'.
2025-02-26 20:58:01 +08:00