1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-08 12:40:49 -08:00
Commit graph

4211 commits

Author SHA1 Message Date
Ted Zlatanov
707ee6afe2
EMBA infrastructure improvements for Emacs build testing.
* .gitlab-ci.yml: Use job templates and rules. Split tests into
fast/normal/slow. Make Docker images for each tested platform
(inotify, filenotify-gio, gnustep). Increase timeout.
* test/Makefile.in (check-lisp, check-net): Add new testing
targets.
* test/README: Document them.
* test/file-organization.org: Mention test/infra.
* test/infra/Dockerfile.emba: Add special Docker recipes for EMBA
testing.
2021-01-14 14:22:29 +00:00
Stefan Kangas
a9658cd5b0 Lift {global,local}-key-binding to Lisp
* lisp/subr.el (local-key-binding, global-key-binding): New defuns.
* src/keymap.c (Flocal_key_binding, Fglobal_key_binding): Remove DEFUNs.
(syms_of_keymap): Remove defsubrs for above DEFUNs.
* test/lisp/subr-tests.el (subr-test-local-key-binding)
(subr-test-global-key-binding): New tests.
2021-01-13 18:54:09 +01:00
Stefan Kangas
be9b7e83bc Prefer skip-unless in more tests
* test/lisp/emacs-lisp/timer-tests.el (timer-tests-debug-timer-check):
* test/src/decompress-tests.el (zlib--decompress):
* test/src/xml-tests.el (libxml-tests): Prefer skip-unless.
2021-01-13 17:39:53 +01:00
Stefan Kangas
aeb11da203 Use skip-unless instead of if+message in test
* test/lisp/cedet/semantic-utest.el (semantic-utest-Javascript):
Use skip-unless instead of if+message.
2021-01-13 15:23:31 +01:00
Stefan Kangas
118d6ef554 Remove some XEmacs compat code from tests
* test/lisp/cedet/srecode-utest-getset.el
(srecode-utest-getset-output):
* test/lisp/cedet/srecode-utest-template.el
(srecode-utest-template-output): Remove XEmacs compat code.
2021-01-13 15:18:21 +01:00
Mattias Engdegård
820bd0e09a Stabilise lunar-phase-list test (bug#45818)
The test reference data was produced with accidental interference from
the system daylight saving in effect at the time.  Prevent that
from occurring again and correct the data.

* test/lisp/calendar/lunar-tests.el (with-lunar-test):
Switch to UTC and make sure daylight saving adjustment is disabled.
Use normal time presentation for maintainability.
* test/lisp/calendar/lunar-tests.el (lunar-test-phase): Adjust to UTC.
(lunar-test-phase-list): Adjust to UTC with correct times.
Enable the test by removing its :unstable mark.
2021-01-13 14:16:57 +01:00
Mattias Engdegård
c734ba6862 Fix Indian time zone test when run by Irishmen (bug#45818)
* test/lisp/calendar/solar-tests.el (solar-sunrise-sunset):
Inhibit any attempt by confused calendar code to apply daylight saving
correction when Irish time zone settings are in effect.  It's not
entirely clear why this is needed but may be related to the fact that
'IST' stands for both Irish and Indian Standard Time, and that Ireland
uses reversed daylight saving in winter.
2021-01-12 21:48:13 +01:00
Robert Pluim
0f6c083251 Only run IPv6 tests if we have an IPv6 address
* test/src/process-tests.el (ipv6-is-available): New function for
checking whether we have a globally routable IPv6 prefix assigned.
(lookup-family-specification): Use 'ipv6-is-available' to check for
IPv6.  Use 'localhost' instead of 'google.com' to test
'network-lookup-address-info' API.
(lookup-google): Use 'ipv6-is-available' to check for
IPv6.

* test/lisp/net/nsm-tests.el (nsm-ipv6-is-available): Rename to
'ipv6-is-available', make identical to the one in
test/src/process-tests.el.
2021-01-12 18:53:48 +01:00
Lars Ingebrigtsen
792ba7196f Add a new function 'buffer-line-statistics'
* src/fns.c (Fbuffer_line_statistics): New function.
2021-01-12 18:43:53 +01:00
Lars Ingebrigtsen
ca024b0575 Add a new variable `inhibit-interaction'
* doc/lispref/elisp.texi (Top): Add a link.
* doc/lispref/errors.texi (Standard Errors): Mention the new error.

* doc/lispref/minibuf.texi (Minibuffers): Add a link.
(Inhibiting Interaction): New node.

* src/data.c (syms_of_data): Define the `inhibited-interaction' error.

* src/lisp.h: Export the barfing function.

* src/lread.c (Fread_char, Fread_event, Fread_char_exclusive):
Barf if inhibited.

* src/minibuf.c (barf_if_interaction_inhibited): New function.
(Fread_from_minibuffer, Fread_no_blanks_input): Barf if inhibited.
(syms_of_minibuf): Define the `inhibit-interaction' variable.
2021-01-12 15:12:38 +01:00
Glenn Morris
d191f1589b Update substitute-command-keys tests, again
* test/lisp/help-tests.el (help-tests-substitute-command-keys/keymaps)
(help-tests-substitute-command-keys/keymap-change):
Update following recent minibuffer changes.
2021-01-12 05:41:13 -08:00
Anticrisis
26ed7c7345 Add a failing test for bug#44834
* test/lisp/progmodes/tcl-tests.el (tcl-mode-namespace-indent-2):
New, failing test (bug#44834).
(tcl-mode-function-name-2):
(tcl-mode-function-name-3): Fix names of the tests so that they're
actually run.

Copyright-paperwork-exempt: yes
2021-01-11 16:16:50 +01:00
Lars Ingebrigtsen
e186af261a Improve fill-region-as-paragraph when there's a fill prefix
* lisp/textmodes/fill.el (fill-region-as-paragraph): Try to
improve how line breaks are set on unbreakable text with a fill
prefix area that has spaces within (bug#45720).
2021-01-10 15:04:48 +01:00
Basil L. Contovounesios
25dadca0d1
Hyperlink symbol names without word syntax in Help
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
(lisp-cl-font-lock-keywords-2): Allow single-character symbol names.
* lisp/help-mode.el (help-xref-symbol-regexp): Also match symbol
names starting with symbol syntax (bug#6601, bug#24309).
* test/lisp/help-mode-tests.el (help-mode-tests-xref-button): Test
hyperlink creation for function names without symbol syntax.
2021-01-10 13:37:38 +00:00
Lars Ingebrigtsen
b84b689746 Revert recent mm-with-part change
* lisp/gnus/mm-decode.el (mm-with-part): Revert
23a887e426 -- this is the wrong
place to handle this peculiarity.
2021-01-10 13:30:31 +01:00
Michael Albinus
2c03bdc887 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2021-01-10 13:27:10 +01:00
Michael Albinus
aa6ee3302f Rework parts of Tramp's insert-directory, bug#45691
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Fix some
unibyte/multibyte inconsistencies.  (Bug#45691)

* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory-one-file):
New test.
2021-01-10 13:26:29 +01:00
Lars Ingebrigtsen
4ad8fc61e7 Add more mm-decode tests 2021-01-10 13:21:06 +01:00
F. Jason Park
09ee2d0095 Create new test file for socks.el
* test/lisp/net/socks-tests.el (socks-tests-auth-filter-url-http): Add
SOCKS5 authentication test and fake server (bug#45162).
2021-01-10 12:40:53 +01:00
Philipp Stephani
690cf6b8d8 Increase probability that a process test succeeds.
* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-process): Work around
potential Emacs bug.
2021-01-10 10:14:27 +01:00
Stefan Monnier
29c7f8c915 * lisp/emacs-lisp/cl-macs.el: Optimize self-calls in tail position
Implement a limited form of tail-call optimization for the special
case of recursive functions defined with `cl-labels`.  Only self-recursion
is optimized, no attempt is made to handle more complex cases such a mutual
recursion.

The main benefit is to reduce the use of the stack, tho in my limited
tests, this can also improve performance (about half of the way to
a hand-written `while` loop).

(cl--self-tco): New function.
(cl-labels): Use it.

* lisp/subr.el (letrec): Optimize single-binding corner case.

* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): Add tests
to check that TCO is working.
2021-01-08 19:59:31 -05:00
Stefan Monnier
3b9dad88e0 * lisp/subr.el (letrec): Optimize some non-recursive bindings
* lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Look inside bytecode
objects as well.

* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
* test/lisp/subr-tests.el (subr--tests-letrec): New tests.
2021-01-08 18:44:13 -05:00
Stefan Kangas
a31bfd5945 Merge recently added kbd tests
* test/lisp/subr-tests.el (subr--kbd): Merge test...
(subr-test-kbd): ...with this one.  Fix thinko in my previous commit.
Thanks to Mattias Engdegård <mattiase@acm.org>.
2021-01-08 15:26:11 +01:00
Stefan Kangas
5ac7b48075 Lift define-prefix-command to Lisp
* lisp/subr.el (define-prefix-command): New defun.
* src/keymap.c (Fdefine_prefix_command): Remove DEFUN.
(syms_of_keymap): Remove defsubr for Fdefine_prefix_command.
* test/lisp/subr-tests.el (subr-test-define-prefix-command): New
test.
2021-01-08 15:16:02 +01:00
Stefan Kangas
f5cfe5a0a9 * test/lisp/subr-tests.el (subr-test-kbd): New test. 2021-01-08 14:00:42 +01:00
Michael Albinus
656801f5bb * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process):
Tag it :unstable on hydra.
2021-01-08 09:58:31 +01:00
Michael Albinus
3e99ff97e5 Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs 2021-01-07 16:43:45 +01:00
Michael Albinus
f5b8e5a757 * test/lisp/filenotify-tests.el (file-notify-test07-many-events-remote):
Mark it as unstable also on emba.
2021-01-07 16:43:27 +01:00
Lars Ingebrigtsen
23a887e426 Add work-around for nnmaildir encoding problem
* lisp/gnus/mm-decode.el (mm-with-part): Fix problem with
multipart 8bit encoded posts from nnmaildir (bug#44307).
2021-01-07 15:12:23 +01:00
Lars Ingebrigtsen
7e80aecc24 Add tests for mm-decode.el 2021-01-07 14:32:28 +01:00
Lars Ingebrigtsen
2f6e30cd86 Revert mark-paragraph change and add tests
* lisp/textmodes/paragraphs.el (mark-paragraph): Revert
eb090f65ce (bug#45318).  This restores
the behaviour from Emacs 27 -- further work is needed on this patch.
2021-01-07 13:08:52 +01:00
Michael Albinus
9db1c0993a * test/Makefile.in (WRITE_LOG): Mark also problematic tests for emba. 2021-01-07 10:14:37 +01:00
Glenn Morris
9b31802e2d Update a substitute-command-keys test
* test/lisp/help-tests.el (help-tests-substitute-command-keys/keymaps):
Update for "Pretty-print keys without <> around modifiers" change.
2021-01-06 17:19:17 -08:00
Daniel Martín
331e40a8fd Fix some failing tests in BSD systems
* test/lisp/progmodes/xref-tests.el
(xref--xref-file-name-display-is-abs)
(xref--xref-file-name-display-is-relative-to-project-root):
Accommodate some older versions of BSD find
(https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00156.html).
2021-01-06 23:07:22 +02:00
Michael Heerdegen
96bbbaec5c Fix obsolete variable warnings about class names
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload): Try to make
the wording of the warning about the obsoleted variable less confusing.
* lisp/emacs-lisp/bytecomp.el (byte-compile-check-variable): Don't
warn for lexical variables (Bug#39169).  Fix spurious `or'.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp/warn-obsolete-variable-bound\.el): New test.
* test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-bound.el:
New file.
2021-01-06 10:51:28 +01:00
Eli Zaretskii
02e6ffe860 Fix process-tests on MS-Windows
It was again broken by recent changes.
* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-serial-process): Skip test
on MS-Windows.
2021-01-05 20:26:38 +02:00
Mattias Engdegård
7f16f17727 Pretty-print keys without <> around modifiers (bug#45536)
Be consistent when pretty-printing keys: put modifiers outside <>,
thus the more logical C-M-<return> instead of <C-M-return>.

* src/keymap.c (Fsingle_key_description):
Skip modifier prefix before adding <>.
* doc/lispref/help.texi (Describing Characters): Update example.
* doc/lispref/debugging.texi (Backtraces):
* doc/lispref/minibuf.texi (Text from Minibuffer):
Use @kbd instead of @key.
* etc/NEWS: Announce the change.
* test/src/keymap-tests.el (keymap--key-description):
* test/lisp/subr-tests.el (subr--kbd): New tests.
2021-01-05 11:28:58 +01:00
Harald Jörg
06810abc59 perl-mode: Display here-docs as strings instead of comments
* lisp/progmodes/perl-mode.el
(perl-syntax-propertize-function): Handle HERE doc starter
lines ending in a comment.
(perl-heredoc): New face for HERE docs, inheriting from
font-lock-string-face.
(perl-font-lock-syntactic-face-function): Apply the new face
to HERE docs (Bug#23461).

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test--run-bug-10483): Skip for Perl mode.  The test
explicitly calls a function of CPerl mode.
2021-01-05 10:15:04 +01:00
Philipp Stephani
57e872ac75 Make a process tests a bit more robust.
* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-process): Allow for processes
to fail before 'exec'.
2021-01-04 22:13:32 +01:00
Dmitry Gutov
1e776d7d6a ruby-add-log-current-method: Support methods with symbolic names
* lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
Support methods with symbolic names.
2021-01-04 21:13:53 +02:00
Michael Albinus
f5a1315f1e Fix error in tramp-sh-handle-insert-directory
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Let buffer be
unibyte when applying numbers returned with the ls --dired option.
Reported by Justus Piater <Justus-dev@Piater.name>.

* test/lisp/net/tramp-tests.el (tramp--test-check-files): Extend test.
2021-01-04 16:32:32 +01:00
Mauro Aranda
4e80eb7b7c Don't skip widgets when moving backward
* lisp/wid-edit.el (widget-move): Remove code that caused
widget-backward to skip an immediate previous widget when moving
backward from the start of a widget.  (Bug#45623)

* test/lisp/wid-edit-tests.el (widget-test-widget-backward): New test.
2021-01-04 10:02:20 -03:00
Philipp Stephani
64f2c96cbe Make a process test faster.
The test 'process-tests/fd-setsize-no-crash/make-process' used to call
'sleep' to ensure that enough processes are live to trigger a
FD_SETSIZE overflow.  However, we can just call 'cat' instead and
close standard input when done.  That way, we only wait as long as
needed.

* process-tests.el
(process-tests/fd-setsize-no-crash/make-process): Invoke 'cat' instead
of 'sleep'.  Close standard input to exit the 'cat' processes.
2021-01-02 13:53:17 +01:00
Philipp Stephani
df605870fd Simplify TTY allocation.
The 'process-tty-name' already provides the TTY name, we don't have
interrogate the TTY host.

* test/src/process-tests.el
(process-tests/fd-setsize-no-crash/make-serial-process): Use
'process-tty-name' instead of having the TTY host print its TTY
name.  Check whether TTY names are unique.
(process-tests--new-pty, process-tests--with-temp-file): Remove;
no longer used.
2021-01-02 13:33:56 +01:00
Paul Eggert
30a1d5da7a Remove stray copy of image-tests.el
* test/manual/image-circular-tests.el: Remove a stray copy of
image-tests.el that was appended to this file.  Found by its
duplicate copyright notice.
2021-01-01 02:04:19 -08:00
Paul Eggert
50f3949119 Merge from origin/emacs-27
33d159c36f Fix copyright years by hand
2021-01-01 01:28:16 -08:00
Paul Eggert
ba05d005e5 Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright".
2021-01-01 01:13:56 -08:00
Paul Eggert
33d159c36f Fix copyright years by hand
These are dates that admin/update-copyright did not update.
2021-01-01 00:33:28 -08:00
Paul Eggert
8c1fe1e5ef Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2021-01-01 00:32:32 -08:00
Lars Ingebrigtsen
d22e74795d Revert recent add-to-ordered-list changes
* doc/lispref/lists.texi (List Variables): Revert.

* lisp/subr.el (add-to-ordered-list): Revert recent changes
because the semantics are too muddled.
2021-01-01 05:48:02 +01:00