1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-26 07:33:47 +00:00
Commit Graph

56 Commits

Author SHA1 Message Date
Glenn Morris
a9b884c60f Tag some unstable tests, and skip by default (bug#24503)
* Makefile.in (check-all): New phony target.
* test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
Also skip unstable tests.
(SELECTOR_ALL): New variable.
(check-all): New phony target.
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
(eieio-test-method-order-list-6):
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
(eieio-test-37-obsolete-name-in-constructor):
Mark as unstable rather than skipping on hydra.nixos.org.
2018-01-09 19:59:04 -08:00
Paul Eggert
5c7dd8a783 Update copyright year to 2018
Run admin/update-copyright.
2018-01-01 00:57:59 -08:00
Michael Albinus
d8e0951d5f ; Remove Tramp test instrumentation. Do not merge
* test/Makefile.in: Remove instrumentation for tramp-tests.

* test/lisp/net/tramp-tests.el (tramp-test41-asynchronous-requests):
Remove instrumentation.
2017-11-17 13:14:58 +01:00
Paul Eggert
bc511a64f6 Prefer HTTPS to FTP and HTTP in documentation
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November.  Change these FTP URLs to https://ftp.gnu.org
instead.  Make similar changes for URLs to other organizations moving
away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
2017-09-13 15:54:37 -07:00
Glenn Morris
d48f30057f Allow for adjusting line length of test backtraces
* test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
(%.log): Respect backtrace line length.
2017-09-05 20:46:38 -04:00
Glenn Morris
cae005f28d * test/Makefile.in (check-no-automated-subdir): Silence by default. 2017-09-01 18:29:49 -04:00
Glenn Morris
44c971bb67 * test/Makefile.in (ELFILES): Sort, for a reproducible order. 2017-09-01 18:27:31 -04:00
Reuben Thomas
ba0bb332dd Treat tests in lib-src like tests in src
* test/Makefile.in (test_template): Depend on a .c source file for a
test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
in the right direction.)
2017-08-22 01:41:45 +01:00
Glenn Morris
5ab91020fb Use a more specific test for running on hydra.nixos.org
* lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
* test/Makefile.in (WRITE_LOG):
* test/lisp/filenotify-tests.el:
* test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
(eieio-test-method-order-list-6):
* test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
(eieio-test-37-obsolete-name-in-constructor):
* test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
2017-07-18 12:53:46 -04:00
Michael Albinus
1f08279e1b ; Improve tramp-tests traces 2017-07-13 16:40:07 +02:00
Michael Albinus
46a681e4e1 ; Enable traces for tramp-tests.el on hydra 2017-07-12 14:53:53 +02:00
Michael Albinus
62504a9f5d Fix tramp-tests.el for hydra
* test/Makefile.in: Remove instrumentation for tramp-tests.

* test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
Remove instrumentation.  Wrap with a timeout.  Give hydra
another timer value.  Set `default-directory' in timer.
2017-07-03 13:21:39 +02:00
Michael Albinus
98cbba868c ; Fix last commit 2017-07-01 10:32:27 +02:00
Michael Albinus
a75380f21d ; Instrument test/Makefile.in for tramp-tests output on hydra 2017-07-01 10:30:34 +02:00
Noam Postavsky
4caa8d4de4 * test/Makefile.in: Don't suppress test failure for single tests. 2017-06-17 17:45:17 -04:00
Philipp Stephani
ac649dc4b4 Use --module-assertions if modules are available
Using --module-assertions helps us find bugs in the test module.  But
we can use it only if Emacs was compiled with module support.

* test/Makefile.in (MODULES_EMACSOPT): New variable.
(emacs): Use it.
2017-06-14 12:24:11 +02:00
Glenn Morris
510a674280 Fix running tests in without-modules builds
* test/Makefile.in (EMACSOPT): Remove option that is only defined
with-modules.  emacs-module-tests.el passes it where needed.
2017-06-13 18:53:38 -04:00
Glenn Morris
863b333543 * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix. 2017-06-13 15:41:56 -04:00
Philipp Stephani
58b9b098a4 Inline test module Makefile into main test Makefile
The test/data/emacs-module/Makefile only built a single target, and
inlining it into test/Makefile simplifies dependency tracking and
reduces code duplication.

* configure.ac: Don't build test/data/emacs-module/Makefile.

* Makefile.in ($(test_module)): Inline compilation.
(clean): Also clean test module outputs.
2017-06-13 20:48:15 +02:00
Philipp Stephani
c90a97adc4 Use Autoconf to generate the test module Makefile
This makes it easier to pass compilation flags around.

* configure.ac: Also build test module Makefile.

* test/data/emacs-module/Makefile.in: New makefile template.

* test/Makefile.in ($(test_module)): No longer necessary to pass
@MODULES_SUFFIX@ around.

* .gitignore: Test module Makefile can now be ignored.
2017-06-12 16:09:37 +02:00
Philipp Stephani
cf97132764 Implement module assertions for users
Add a new command-line option '-module-assertions' that users can
enable developing or debugging a module.  If this option is present,
Emacs performs additional checks to verify that modules fulfill their
requirements.  These checks are expensive and crash Emacs if modules
are invalid, so disable them by default.

This is a command-line option instead of an ordinary variable because
changing it while Emacs is running would cause data structure
imbalances.

* src/emacs.c (main): New command line option '-module-assertions'.

* src/emacs-module.c (module_assert_main_thread)
(module_assert_runtime, module_assert_env, module_assert_value):
New functions to assert module requirements.
(syms_of_module): New uninterned variable 'module-runtimes'.
(init_module_assertions, in_main_thread, module_abort): New helper
functions.
(initialize_environment): Initialize value list.  If assertions are
enabled, use a heap-allocated environment object.
(finalize_environment): Add assertion that environment list is never
empty.
(finalize_runtime_unwind): Pop module runtime object stack.
(value_to_lisp): Assert that the value is valid.
(lisp_to_value): Record new value if assertions are enabled.
(mark_modules): Mark allocated object list.
(MODULE_FUNCTION_BEGIN_NO_CATCH)
(module_non_local_exit_check, module_non_local_exit_clear)
(module_non_local_exit_get, module_non_local_exit_signal)
(module_non_local_exit_throw): Assert thread and environment.
(module_get_environment): Assert thread and runtime.
(module_make_function, module_funcall, module_intern)
(module_funcall, module_make_integer, module_make_float)
(module_make_string, module_make_user_ptr, module_vec_get)
(funcall_module, Fmodule_load): Adapt callers.
(module_make_global_ref): If assertions are enabled, use the global
environment to store global values.
(module_free_global_ref): Remove value from global value list.

* test/Makefile.in (EMACSOPT): Enable module assertions when testing
modules.

* test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
(Fmod_test_invalid_load): New functions to test module assertions.
(emacs_module_init): Bind the new functions.

* test/src/emacs-module-tests.el (mod-test-emacs): New constant for
the Emacs binary file.
(mod-test-file): New constant for the test module file name.
(module--test-assertions): New unit test.
2017-06-12 15:22:27 +02:00
Philipp Stephani
98e107ff0c Add missing dependency to test module source file 2017-06-05 10:05:17 +02:00
Glenn Morris
24ed64a04c * test/Makefile.in (.SECONDARY): Stop make deleting .elc files. 2017-05-31 12:56:40 -04:00
Noam Postavsky
94306c8b0d Further simplify test/Makefile, optionally load elc tests
* test/Makefile.in: Use make's error ignoring feature instead of
suppressing test errors with shell.  Compile test files in the main
make invocation instead of a recursive 'make' call.  Optionally load
.elc test files if TEST_LOAD_EL is set to something other than 'yes'.
Remove obsolete commentary.
2017-05-31 07:43:54 -04:00
Glenn Morris
dd5b1c0d68 Make "make check" less verbose by default
* test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
(am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
(am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
New, copied from lisp/Makefile.in.
(%.elc, %.log): Simplify and quieten.
2017-05-30 14:16:35 -04:00
Glenn Morris
d17aa3e535 Reduce scope of recent test/Makefile HOME change
* test/Makefile.in (%.log): Move setting of HOME here from top-level.
2017-05-30 12:50:54 -04:00
Paul Eggert
1b01601d3f Skip .#* temporaries when finding sources
Without this patch, ‘make check’ can fail with the diagnostic
‘invalid syntax in conditional’ if there is an Emacs temporary
file whose name starts with ‘.#’, because the ‘#’ is treated as
the start of a Make comment.
* lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
* test/Makefile.in (ELFILES):
Skip files starting with ‘.’, so that the .#* files do not cause
trouble.  (We cannot easily skip just files starting with ‘.#’,
since ‘#’ starts a Make comment!)
2017-05-30 09:28:19 -07:00
Glenn Morris
412c38aa28 Stop make check interacting with HOME
* test/Makefile.in (HOME): Export a non-existent value.
2017-05-30 08:39:39 -07:00
Glenn Morris
48e6e9a939 Fix finding test .el files
* test/Makefile.in (ELFILES): Exclude the data/ directory.
* test/src/lread-tests.el (lread-test-bug26837): Revert previous.
2017-05-09 23:20:52 -07:00
Philipp Stephani
bfc0f610ba Integrate module test with normal test suite
* test/Makefile.in (ELFILES): Exclude module test if modules aren't
configured.
(EMACS_TEST_DIRECTORY): Expand test directory so that it's set
correctly even if Emacs changes the current directory.
($(srcdir)/src/emacs-module-tests.log)
($(test_module)): Proper dependency tracking for test module.

* test/data/emacs-module/Makefile (ROOT): Adapt to new location.
Remove 'check' target and EMACS variable, which are no longer
necessary.
(SO): Change to include period.

* test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
environment variable to reliably find test data.

* configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
substitutions.
2017-04-29 14:38:53 +02:00
Paul Eggert
8e394a7f35 Fix bugs in simplified test dependencies
Problem reported by Glenn Morris in:
http://lists.gnu.org/archive/html/emacs-devel/2017-04/msg00017.html
* test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
(TESTS): Omit unnecessary patsubst.
(test_template): Redo dependency heuristic, hopefully
correctly this time.  It's the .log file that depends,
not the phony test target.  Declare the phonies to be PHONY.
Resurrect the exception for the *-tests subdirectory.
Adjust to the fact that leading "./" is omitted now.
2017-04-02 13:12:40 -07:00
Paul Eggert
ac2ca82eb1 Simplify test dependency generation
Generate default dependencies by using GNU extensions to ‘make’
rather than via a hacky auxiliary program and script.
* .gitignore: Remove test/make-test-deps.mk.
* test/Makefile.in (ELFILES, LOGFILES, TESTS):
Use :=, not =, to avoid multiple redundant invocations of ‘find’.
(test_template): Infer dependency directly instead of via
make-test-deps.mk.
(check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
(clean): No need to clean make-test-deps.mk.
(make-test-deps.mk): Remove rule.
* test/make-test-deps.emacs-lisp: Remove.
2017-04-01 12:16:19 -07:00
Paul Eggert
3a11b3e330 Use find -delete if available
This shortens the ‘make’ output and should avoid some
repetitive scanning of directories during a build.
* configure.ac (FIND_DELETE): New var.
* lisp/Makefile.in (compile-always, bootstrap-clean):
* test/Makefile.in (clean, bootstrap-clean): Use it.
* test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
2017-03-30 19:51:39 -07:00
Paul Eggert
bcf244ef9b Merge from origin/emacs-25
2e2a806 Fix copyright years by hand
5badc81 Update copyright year to 2017
2017-01-01 01:10:47 -08:00
Paul Eggert
0b187fd2bf Make CANNOT_DUMP work better on GNU/Linux
Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
lets the build succeed again, and fixes the testing framework so
that most test cases now pass.  About twenty test cases still
fail, though, and we still have Bug#24974.
* configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
(SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
be any point to messing with a private memory allocator unless
Emacs is dumping.
* src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
* src/image.c (reset_image_types):
* src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
Do not define if CANNOT_DUMP.
* src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
(daemon_pipe) [!WINDOWSNT]: Now static.
* test/Makefile.in (mostlyclean): Remove *.tmp files.
(make-test-deps.mk): Elide CANNOT_DUMP chatter.
2016-11-20 16:59:24 -08:00
Phillip Lord
1efb208032 Run tests from non-byte compiled files
* test/Makefile.in: Eval non-byte-compiled files for tests.
2016-07-07 09:35:11 +01:00
Paul Eggert
81204b276f Port xref-tests to master branch
Also, add a test to make this problem less likely in the future.
* test/Makefile.in (check-no-automated-subdir): New rule.
(check, check-expensive, check-maybe): Depend on it.
* test/automated/data/xref/file1.txt: Rename to ...
* test/data/xref/file1.txt: ... here.
* test/automated/data/xref/file2.txt: Rename to ...
* test/data/xref/file2.txt: ... here.
* test/automated/xref-tests.el: Rename to ...
* test/lisp/progmodes/xref-tests.el: ... here.
(xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
2016-05-06 10:09:53 -07:00
John Wiegley
5be4e9de1a Merge from origin/emacs-25
f5d1435 Fix targets in test/automated/Makefile.in
2016-03-03 23:53:27 -08:00
Aaron S. Hawley
b829c9e15b Don't make assumptions about mkdir. (Bug#22822)
* test/Makefile.in (MKDIR_P): New, set by configure.
(%.log): Use MKDIR_P.
2016-02-27 19:01:24 -08:00
Phillip Lord
9583b9e871 ; Improve documentation in test Makefile
* test/Makefile.in: Improve documentation.
2016-02-26 11:55:38 +00:00
Paul Eggert
05595c2e59 - 2016-02-09 14:23:53 -08:00
Michael Albinus
282030fd34 * test/Makefile.in (mostlyclean): Use ${LOGFILES}. 2016-01-20 11:03:15 +01:00
John Wiegley
6acd2aa02c - 2016-01-18 22:56:33 -08:00
Michael Albinus
c82aefc6c4 ; Fix error in last commit 2016-01-12 10:46:39 +01:00
Michael Albinus
696f32c95c Merge missing commit from emacs-25 branch
* test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
New variables.
(check-expensive, check-doit): New targets.

* Makefile.in (check-expensive): New target.

* test/lisp/autorevert-tests.el
(auto-revert-test01-auto-revert-several-files):
* test/lisp/filenotify-tests.el (file-notify--deftest-remote)
(file-notify-test06-many-events):
* test/lisp/net/tramp-tests.el (tramp-test26-process-file)
(tramp-test27-start-file-process, tramp-test28-shell-command)
(tramp-test29-vc-registered)
(tramp-test31-special-characters-with-stat)
(tramp-test31-special-characters-with-perl)
(tramp-test31-special-characters-with-ls)
(tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
(tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
(tramp-test35-unload): Tag the tests as :expensive-test.
2016-01-12 10:37:06 +01:00
John Wiegley
fee9e3ff5e Merge from origin/emacs-25
ce4a052 Add defvar-local to lisp-imenu-generic-expression
a0121bc Revert commit b1e3d14845
76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
b6b47af Properly encode/decode base64Binary data in SOAP
c632466 Obey coding-system-for-write when writing stdout/stderr in batch
2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
        Update the URI of MELPA and marmalade-repo.
        Reported by CHENG Goa <chenggao@royau.me> in
        https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
7380990 Remove function wrongly on AWK Mode value of context
fontification hook.
d400753 * src/buffer.c: Stick with ASCII in doc string.
221240c Reword transient-mark-mode doc string
977d3ea Update doc string of 'selective-display'
229c3fa Make C++ buffers writeable when writing their initial text
        properties.
f5c762c Additional changes for "make check-expensive"
1729cf3 ; * admin/MAINTAINERS: Remove myself.
33219d3 Apply text properties for <, > in new after-change function
        (C++ Java Modes).
2016-01-11 22:50:30 -08:00
John Wiegley
1dd4f26ab6 Merge from origin/emacs-25
ef33bc7 Spelling and grammar fixes
9c3dbab Fix copyright years by hand
0e96320 Update copyright year to 2016
2016-01-11 22:48:07 -08:00
Phillip Lord
354a1fc38d make check unconditional, check-maybe top-level.
* Makefile.in: Add check-maybe target.
 * test/Makefile.in: Restore unconditional behaviour to make check.
2015-12-02 21:28:56 +00:00
Phillip Lord
3ab26227cf Tests now support out-of-source-build.
* tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
   about current working directory.
2015-12-01 23:23:12 +00:00
Phillip Lord
1c25d3712e Improve documentation and clean up.
* test/Makefile.in: Improve documentation, use EMACS variable
   correctly, and clean up makefile rules.
2015-11-30 21:32:31 +00:00