diff --git a/.gitignore b/.gitignore index fda50e9df77..cad16845d71 100644 --- a/.gitignore +++ b/.gitignore @@ -42,10 +42,10 @@ InfoPlist.strings Makefile makefile !etc/refcards/Makefile -!test/automated/data/flymake/Makefile -!test/indent/Makefile -!test/etags/Makefile -!test/etags/make-src/Makefile +!test/lisp/progmodes/flymake-resources/Makefile +!test/manual/indent/Makefile +!test/manual/etags/Makefile +!test/manual/etags/make-src/Makefile /*.cache /confdefs.h /config.status diff --git a/CONTRIBUTE b/CONTRIBUTE index 2d01724a5e0..b385d68c985 100644 --- a/CONTRIBUTE +++ b/CONTRIBUTE @@ -251,9 +251,9 @@ for more information on writing and running tests. To run tests on the entire Emacs tree, run "make check" from the top-level directory. Most tests are in the directory -"test/automated". From the "test/automated" directory, run "make +"test/". From the "test/" directory, run "make " to run the tests for .el(c). See -"test/automated/Makefile" for more information. +"test/Makefile" for more information. ** Understanding Emacs Internals. diff --git a/Makefile.in b/Makefile.in index 1245f76fabf..9ab1f768da0 100644 --- a/Makefile.in +++ b/Makefile.in @@ -922,11 +922,11 @@ TAGS tags: lib lib-src src $(MAKE) -C src tags check: all - @if test ! -d test/automated; then \ + @if test ! -d test; then \ echo "You do not seem to have the test/ directory."; \ echo "Maybe you are using a release tarfile, rather than a repository checkout."; \ else \ - $(MAKE) -C test/automated check; \ + $(MAKE) -C test check; \ fi dist: diff --git a/configure.ac b/configure.ac index bae4fec72ec..0b7b4032482 100644 --- a/configure.ac +++ b/configure.ac @@ -4167,7 +4167,7 @@ else SEPCHAR=':' fi AC_DEFINE_UNQUOTED(SEPCHAR, ['$SEPCHAR'], [Character that separates PATH elements.]) -dnl This is for MinGW, and is used in test/automated/Makefile.in. +dnl This is for MinGW, and is used in test/Makefile.in. dnl The MSYS Bash has heuristics for replacing ':' with ';' when it dnl decides that a command-line argument to be passed to a MinGW program dnl is a PATH-style list of directories. But that heuristics plays it @@ -5318,13 +5318,13 @@ AC_CONFIG_FILES([Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile \ leim/Makefile nextstep/Makefile nt/Makefile]) dnl test/ is not present in release tarfiles. -opt_makefile=test/automated/Makefile +opt_makefile=test/Makefile if test -f "$srcdir/$opt_makefile.in"; then SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile" dnl Again, it's best not to use a variable. Though you can add dnl ", [], [opt_makefile='$opt_makefile']" and it should work. - AC_CONFIG_FILES([test/automated/Makefile]) + AC_CONFIG_FILES([test/Makefile]) fi diff --git a/test/automated/Makefile.in b/test/Makefile.in similarity index 87% rename from test/automated/Makefile.in rename to test/Makefile.in index 41f54f8aa69..ee11a0b7a30 100644 --- a/test/automated/Makefile.in +++ b/test/Makefile.in @@ -37,7 +37,7 @@ SEPCHAR = @SEPCHAR@ # We never change directory before running Emacs, so a relative file # name is fine, and makes life easier. If we need to change # directory, we can use emacs --chdir. -EMACS = ../../src/emacs +EMACS = ../src/emacs EMACS_EXTRAOPT= @@ -99,9 +99,11 @@ WRITE_LOG = > $@ 2>&1 || { stat=ERROR; cat $@; }; echo $$stat: $@ $(emacs) -l ert -l $$loadfile \ -f ert-run-tests-batch-and-exit ${WRITE_LOG} -ELFILES = $(sort $(wildcard ${srcdir}/*.el)) -LOGFILES = $(patsubst %.el,%.log,$(notdir ${ELFILES})) -TESTS = ${LOGFILES:.log=} +ELFILES = $(filter-out ./manual%,\ + $(sort $(wildcard ${srcdir}/*.el) $(wildcard ${srcdir}/*/*.el) \ + $(wildcard ${srcdir}/*/*/*.el) $(wildcard ${srcdir}/*/*/*/*.el))) +LOGFILES = $(patsubst %.el,%.log,${ELFILES}) +TESTS = $(subst ${srcdir}/,,$(LOGFILES:.log=)) ## If we have to interrupt a hanging test, preserve the log so we can ## see what the problem was. @@ -112,8 +114,8 @@ TESTS = ${LOGFILES:.log=} ## The short aliases that always re-run the tests, with no logging. define test_template $(1): - @test ! -f $(1).log || mv $(1).log $(1).log~ - @${MAKE} $(1).log WRITE_LOG= + @test ! -f ${srcdir}/$(1).log || mv ${srcdir}/$(1).log ${srcdir}/$(1).log~ + @${MAKE} ${srcdir}/$(1).log WRITE_LOG= endef $(foreach test,${TESTS},$(eval $(call test_template,${test}))) @@ -132,10 +134,12 @@ check-maybe: ${LOGFILES} .PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean clean mostlyclean: - -rm -f *.log *.log~ + -rm -f ${srcdir}/*.log ${srcdir}/*.log~ ${srcdir}/*/*.log \ + ${srcdir}/*/*.log~ ${srcdir}/*/*/*.log \ + ${srcdir}/*/*/*.log~ bootstrap-clean: clean - -rm -f ${srcdir}/*.elc + -rm -f ${srcdir}/*.elc ${srcdir}/*/*.elc ${srcdir}/*/*/*.elc distclean: clean rm -f Makefile diff --git a/test/automated/data/decompress/foo.gz b/test/data/decompress/foo.gz similarity index 100% rename from test/automated/data/decompress/foo.gz rename to test/data/decompress/foo.gz diff --git a/test/automated/data/epg/pubkey.asc b/test/data/epg/pubkey.asc similarity index 100% rename from test/automated/data/epg/pubkey.asc rename to test/data/epg/pubkey.asc diff --git a/test/automated/data/epg/seckey.asc b/test/data/epg/seckey.asc similarity index 100% rename from test/automated/data/epg/seckey.asc rename to test/data/epg/seckey.asc diff --git a/test/automated/data/files-bug18141.el.gz b/test/data/files-bug18141.el.gz similarity index 100% rename from test/automated/data/files-bug18141.el.gz rename to test/data/files-bug18141.el.gz diff --git a/test/file-organisation.org b/test/file-organisation.org new file mode 100644 index 00000000000..b7540001cc4 --- /dev/null +++ b/test/file-organisation.org @@ -0,0 +1,54 @@ +#+TITLE: The Location of Emacs-Lisp Tests + + + +* The Main Emacs Repository + +The Emacs repository contains a very large number of Emacs-Lisp files, many of +which pre-date both formal package support for Emacs and automated unit +testing. + +All paths are relative to the Emacs root directory. + +** Source + +Lisp files are stored in the ~lisp~ directory or its sub-directories. +Sub-directories are in many cases themed after packages (~gnus~, ~org~, +~calc~), related functionality (~net~, ~emacs-lisp~, ~progmodes~) or status +(~obsolete~). + +C source is stored in the ~src~ directory, which is flat. + +** Test Files + +Automated tests should be stored in the ~test/automated/lisp~ directory. Tests +should reflect the directory structure of the source tree; so tests for files +in the ~emacs-lisp~ source directory should reside in the +~test/lisp/emacs-lisp~ directory. + +Tests should normally reside in a file with ~-tests~ added to the name of +the tested source file; hence ~ert.el~ is tested in ~ert-tests.el~, or +~pcase.el~ is tested in ~pcase-tests.el~. Exceptionally, tests for a +single feature may be placed into multiple files of any name which are +themselves placed in a directory named after the feature with ~-tests~ +appended, such as ~/test/lisp/emacs-lisp/eieio-tests~ + +Where features of the C source are tested using Emacs-Lisp test files, these +should reside in ~/test/src~ and be named after the C file. + +A few test suites which predate this scheme and do not fit cleanly +into it are placed in ~/test/lisp/legacy~. + +There are also some test materials that cannot be run automatically +(i.e. via ert). These should be placed in ~/test/manual~ + +** Resource Files + +Resource files for tests (containing test data) should reside in a directory +named after the feature with a ~-resources~ suffix, and located in the same +directory as the feature. Hence, the lisp file ~flymake.el~ should have test +files in ~/test/automated/lisp/progmodes/flymake-tests.el~ should reside in a +directory called ~/test/automated/lisp/progmodes/flymake-resources~. + +No guidance is given for the organisation of resource files inside the +~-resource~ directory; files can be organised at the author's discretion. diff --git a/test/automated/abbrev-tests.el b/test/lisp/abbrev-tests.el similarity index 100% rename from test/automated/abbrev-tests.el rename to test/lisp/abbrev-tests.el diff --git a/test/automated/auto-revert-tests.el b/test/lisp/autorevert-tests.el similarity index 100% rename from test/automated/auto-revert-tests.el rename to test/lisp/autorevert-tests.el diff --git a/test/automated/calc-tests.el b/test/lisp/calc/calc-tests.el similarity index 100% rename from test/automated/calc-tests.el rename to test/lisp/calc/calc-tests.el diff --git a/test/automated/icalendar-tests.el b/test/lisp/calendar/icalendar-tests.el similarity index 100% rename from test/automated/icalendar-tests.el rename to test/lisp/calendar/icalendar-tests.el diff --git a/test/automated/character-fold-tests.el b/test/lisp/character-fold-tests.el similarity index 100% rename from test/automated/character-fold-tests.el rename to test/lisp/character-fold-tests.el diff --git a/test/automated/comint-testsuite.el b/test/lisp/comint-tests.el similarity index 100% rename from test/automated/comint-testsuite.el rename to test/lisp/comint-tests.el diff --git a/test/automated/descr-text-test.el b/test/lisp/descr-text-tests.el similarity index 100% rename from test/automated/descr-text-test.el rename to test/lisp/descr-text-tests.el diff --git a/test/automated/electric-tests.el b/test/lisp/electric-tests.el similarity index 100% rename from test/automated/electric-tests.el rename to test/lisp/electric-tests.el diff --git a/test/automated/cl-generic-tests.el b/test/lisp/emacs-lisp/cl-generic-tests.el similarity index 100% rename from test/automated/cl-generic-tests.el rename to test/lisp/emacs-lisp/cl-generic-tests.el diff --git a/test/automated/cl-lib-tests.el b/test/lisp/emacs-lisp/cl-lib-tests.el similarity index 100% rename from test/automated/cl-lib-tests.el rename to test/lisp/emacs-lisp/cl-lib-tests.el diff --git a/test/automated/eieio-test-methodinvoke.el b/test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el similarity index 100% rename from test/automated/eieio-test-methodinvoke.el rename to test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el diff --git a/test/automated/eieio-test-persist.el b/test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el similarity index 100% rename from test/automated/eieio-test-persist.el rename to test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el diff --git a/test/automated/eieio-tests.el b/test/lisp/emacs-lisp/eieio-tests/eieio-tests.el similarity index 100% rename from test/automated/eieio-tests.el rename to test/lisp/emacs-lisp/eieio-tests/eieio-tests.el diff --git a/test/automated/ert-tests.el b/test/lisp/emacs-lisp/ert-tests.el similarity index 100% rename from test/automated/ert-tests.el rename to test/lisp/emacs-lisp/ert-tests.el diff --git a/test/automated/ert-x-tests.el b/test/lisp/emacs-lisp/ert-x-tests.el similarity index 100% rename from test/automated/ert-x-tests.el rename to test/lisp/emacs-lisp/ert-x-tests.el diff --git a/test/automated/generator-tests.el b/test/lisp/emacs-lisp/generator-tests.el similarity index 100% rename from test/automated/generator-tests.el rename to test/lisp/emacs-lisp/generator-tests.el diff --git a/test/automated/let-alist.el b/test/lisp/emacs-lisp/let-alist-tests.el similarity index 100% rename from test/automated/let-alist.el rename to test/lisp/emacs-lisp/let-alist-tests.el diff --git a/test/automated/map-tests.el b/test/lisp/emacs-lisp/map-tests.el similarity index 100% rename from test/automated/map-tests.el rename to test/lisp/emacs-lisp/map-tests.el diff --git a/test/automated/advice-tests.el b/test/lisp/emacs-lisp/nadvice-tests.el similarity index 100% rename from test/automated/advice-tests.el rename to test/lisp/emacs-lisp/nadvice-tests.el diff --git a/test/automated/data/package/archive-contents b/test/lisp/emacs-lisp/package-resources/archive-contents similarity index 100% rename from test/automated/data/package/archive-contents rename to test/lisp/emacs-lisp/package-resources/archive-contents diff --git a/test/automated/data/package/key.pub b/test/lisp/emacs-lisp/package-resources/key.pub similarity index 100% rename from test/automated/data/package/key.pub rename to test/lisp/emacs-lisp/package-resources/key.pub diff --git a/test/automated/data/package/key.sec b/test/lisp/emacs-lisp/package-resources/key.sec similarity index 100% rename from test/automated/data/package/key.sec rename to test/lisp/emacs-lisp/package-resources/key.sec diff --git a/test/automated/data/package/multi-file-0.2.3.tar b/test/lisp/emacs-lisp/package-resources/multi-file-0.2.3.tar similarity index 100% rename from test/automated/data/package/multi-file-0.2.3.tar rename to test/lisp/emacs-lisp/package-resources/multi-file-0.2.3.tar diff --git a/test/automated/data/package/multi-file-readme.txt b/test/lisp/emacs-lisp/package-resources/multi-file-readme.txt similarity index 100% rename from test/automated/data/package/multi-file-readme.txt rename to test/lisp/emacs-lisp/package-resources/multi-file-readme.txt diff --git a/test/automated/data/package/newer-versions/archive-contents b/test/lisp/emacs-lisp/package-resources/newer-versions/archive-contents similarity index 100% rename from test/automated/data/package/newer-versions/archive-contents rename to test/lisp/emacs-lisp/package-resources/newer-versions/archive-contents diff --git a/test/automated/data/package/newer-versions/new-pkg-1.0.el b/test/lisp/emacs-lisp/package-resources/newer-versions/new-pkg-1.0.el similarity index 100% rename from test/automated/data/package/newer-versions/new-pkg-1.0.el rename to test/lisp/emacs-lisp/package-resources/newer-versions/new-pkg-1.0.el diff --git a/test/automated/data/package/newer-versions/simple-single-1.4.el b/test/lisp/emacs-lisp/package-resources/newer-versions/simple-single-1.4.el similarity index 100% rename from test/automated/data/package/newer-versions/simple-single-1.4.el rename to test/lisp/emacs-lisp/package-resources/newer-versions/simple-single-1.4.el diff --git a/test/automated/data/package/package-test-server.py b/test/lisp/emacs-lisp/package-resources/package-test-server.py similarity index 100% rename from test/automated/data/package/package-test-server.py rename to test/lisp/emacs-lisp/package-resources/package-test-server.py diff --git a/test/automated/data/package/signed/archive-contents b/test/lisp/emacs-lisp/package-resources/signed/archive-contents similarity index 100% rename from test/automated/data/package/signed/archive-contents rename to test/lisp/emacs-lisp/package-resources/signed/archive-contents diff --git a/test/automated/data/package/signed/archive-contents.sig b/test/lisp/emacs-lisp/package-resources/signed/archive-contents.sig similarity index 100% rename from test/automated/data/package/signed/archive-contents.sig rename to test/lisp/emacs-lisp/package-resources/signed/archive-contents.sig diff --git a/test/automated/data/package/signed/signed-bad-1.0.el b/test/lisp/emacs-lisp/package-resources/signed/signed-bad-1.0.el similarity index 100% rename from test/automated/data/package/signed/signed-bad-1.0.el rename to test/lisp/emacs-lisp/package-resources/signed/signed-bad-1.0.el diff --git a/test/automated/data/package/signed/signed-bad-1.0.el.sig b/test/lisp/emacs-lisp/package-resources/signed/signed-bad-1.0.el.sig similarity index 100% rename from test/automated/data/package/signed/signed-bad-1.0.el.sig rename to test/lisp/emacs-lisp/package-resources/signed/signed-bad-1.0.el.sig diff --git a/test/automated/data/package/signed/signed-good-1.0.el b/test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el similarity index 100% rename from test/automated/data/package/signed/signed-good-1.0.el rename to test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el diff --git a/test/automated/data/package/signed/signed-good-1.0.el.sig b/test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el.sig similarity index 100% rename from test/automated/data/package/signed/signed-good-1.0.el.sig rename to test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el.sig diff --git a/test/automated/data/package/simple-depend-1.0.el b/test/lisp/emacs-lisp/package-resources/simple-depend-1.0.el similarity index 100% rename from test/automated/data/package/simple-depend-1.0.el rename to test/lisp/emacs-lisp/package-resources/simple-depend-1.0.el diff --git a/test/automated/data/package/simple-single-1.3.el b/test/lisp/emacs-lisp/package-resources/simple-single-1.3.el similarity index 100% rename from test/automated/data/package/simple-single-1.3.el rename to test/lisp/emacs-lisp/package-resources/simple-single-1.3.el diff --git a/test/automated/data/package/simple-single-readme.txt b/test/lisp/emacs-lisp/package-resources/simple-single-readme.txt similarity index 100% rename from test/automated/data/package/simple-single-readme.txt rename to test/lisp/emacs-lisp/package-resources/simple-single-readme.txt diff --git a/test/automated/data/package/simple-two-depend-1.1.el b/test/lisp/emacs-lisp/package-resources/simple-two-depend-1.1.el similarity index 100% rename from test/automated/data/package/simple-two-depend-1.1.el rename to test/lisp/emacs-lisp/package-resources/simple-two-depend-1.1.el diff --git a/test/automated/package-test.el b/test/lisp/emacs-lisp/package-tests.el similarity index 96% rename from test/automated/package-test.el rename to test/lisp/emacs-lisp/package-tests.el index de41c3bc8e4..6b3069c2a54 100644 --- a/test/automated/package-test.el +++ b/test/lisp/emacs-lisp/package-tests.el @@ -97,7 +97,7 @@ (multi-file (0 1)))) "`package-desc' used for testing dependencies.") -(defvar package-test-data-dir (expand-file-name "data/package" package-test-file-dir) +(defvar package-test-data-dir (expand-file-name "package-resources" package-test-file-dir) "Base directory of package test files.") (defvar package-test-fake-contents-file @@ -190,18 +190,18 @@ Must called from within a `tar-mode' buffer." (ert-deftest package-test-desc-from-buffer () "Parse an elisp buffer to get a `package-desc' object." - (with-package-test (:basedir "data/package" :file "simple-single-1.3.el") + (with-package-test (:basedir "package-resources" :file "simple-single-1.3.el") (should (equal (package-buffer-info) simple-single-desc))) - (with-package-test (:basedir "data/package" :file "simple-depend-1.0.el") + (with-package-test (:basedir "package-resources" :file "simple-depend-1.0.el") (should (equal (package-buffer-info) simple-depend-desc))) - (with-package-test (:basedir "data/package" + (with-package-test (:basedir "package-resources" :file "multi-file-0.2.3.tar") (tar-mode) (should (equal (package-tar-file-info) multi-file-desc)))) (ert-deftest package-test-install-single () "Install a single file without using an archive." - (with-package-test (:basedir "data/package" :file "simple-single-1.3.el") + (with-package-test (:basedir "package-resources" :file "simple-single-1.3.el") (should (package-install-from-buffer)) (package-initialize) (should (package-installed-p 'simple-single)) @@ -269,7 +269,7 @@ Must called from within a `tar-mode' buffer." (ert-deftest package-test-install-prioritized () "Install a lower version from a higher-prioritized archive." (with-package-test () - (let* ((newer-version (expand-file-name "data/package/newer-versions" + (let* ((newer-version (expand-file-name "package-resources/newer-versions" package-test-file-dir)) (package-archives `(("older" . ,package-test-data-dir) ("newer" . ,newer-version))) @@ -285,7 +285,7 @@ Must called from within a `tar-mode' buffer." (ert-deftest package-test-install-multifile () "Check properties of the installed multi-file package." - (with-package-test (:basedir "data/package" :install '(multi-file)) + (with-package-test (:basedir "package-resources" :install '(multi-file)) (let ((autoload-file (expand-file-name "multi-file-autoloads.el" (expand-file-name @@ -336,7 +336,7 @@ Must called from within a `tar-mode' buffer." (package-menu-execute) (should (package-installed-p 'simple-single)) (let ((package-test-data-dir - (expand-file-name "data/package/newer-versions" package-test-file-dir))) + (expand-file-name "package-resources/newer-versions" package-test-file-dir))) (setq package-archives `(("gnu" . ,package-test-data-dir))) (package-menu-refresh) @@ -456,7 +456,7 @@ Must called from within a `tar-mode' buffer." (delete-directory homedir t))))) (let* ((keyring (expand-file-name "key.pub" package-test-data-dir)) (package-test-data-dir - (expand-file-name "data/package/signed" package-test-file-dir))) + (expand-file-name "package-resources/signed" package-test-file-dir))) (with-package-test () (package-initialize) (package-import-keyring keyring) @@ -508,7 +508,7 @@ Must called from within a `tar-mode' buffer." (ert-deftest package-x-test-upload-buffer () "Test creating an \"archive-contents\" file" - (with-package-test (:basedir "data/package" + (with-package-test (:basedir "package-resources" :file "simple-single-1.3.el" :upload-base t) (package-upload-buffer) @@ -532,7 +532,7 @@ Must called from within a `tar-mode' buffer." (ert-deftest package-x-test-upload-new-version () "Test uploading a new version of a package" - (with-package-test (:basedir "data/package" + (with-package-test (:basedir "package-resources" :file "simple-single-1.3.el" :upload-base t) (package-upload-buffer) @@ -599,6 +599,7 @@ Must called from within a `tar-mode' buffer." simple-depend-desc-2))) (should (equal (package--sort-by-dependence delete-list) + (list simple-depend-desc-2 simple-depend-desc-1 new-pkg-desc multi-file-desc simple-depend-desc simple-single-desc))) (should diff --git a/test/automated/pcase-tests.el b/test/lisp/emacs-lisp/pcase-tests.el similarity index 100% rename from test/automated/pcase-tests.el rename to test/lisp/emacs-lisp/pcase-tests.el diff --git a/test/automated/regexp-tests.el b/test/lisp/emacs-lisp/regexp-opt-tests.el similarity index 100% rename from test/automated/regexp-tests.el rename to test/lisp/emacs-lisp/regexp-opt-tests.el diff --git a/test/automated/seq-tests.el b/test/lisp/emacs-lisp/seq-tests.el similarity index 100% rename from test/automated/seq-tests.el rename to test/lisp/emacs-lisp/seq-tests.el diff --git a/test/automated/subr-x-tests.el b/test/lisp/emacs-lisp/subr-x-tests.el similarity index 100% rename from test/automated/subr-x-tests.el rename to test/lisp/emacs-lisp/subr-x-tests.el diff --git a/test/automated/tabulated-list-test.el b/test/lisp/emacs-lisp/tabulated-list-test.el similarity index 100% rename from test/automated/tabulated-list-test.el rename to test/lisp/emacs-lisp/tabulated-list-test.el diff --git a/test/automated/thunk-tests.el b/test/lisp/emacs-lisp/thunk-tests.el similarity index 100% rename from test/automated/thunk-tests.el rename to test/lisp/emacs-lisp/thunk-tests.el diff --git a/test/automated/timer-tests.el b/test/lisp/emacs-lisp/timer-tests.el similarity index 100% rename from test/automated/timer-tests.el rename to test/lisp/emacs-lisp/timer-tests.el diff --git a/test/automated/epg-tests.el b/test/lisp/epg-tests.el similarity index 100% rename from test/automated/epg-tests.el rename to test/lisp/epg-tests.el diff --git a/test/automated/eshell.el b/test/lisp/eshell/eshell.el similarity index 100% rename from test/automated/eshell.el rename to test/lisp/eshell/eshell.el diff --git a/test/automated/faces-tests.el b/test/lisp/faces-tests.el similarity index 100% rename from test/automated/faces-tests.el rename to test/lisp/faces-tests.el diff --git a/test/automated/file-notify-tests.el b/test/lisp/filenotify-tests.el similarity index 100% rename from test/automated/file-notify-tests.el rename to test/lisp/filenotify-tests.el diff --git a/test/automated/auth-source-tests.el b/test/lisp/gnus/auth-source-tests.el similarity index 100% rename from test/automated/auth-source-tests.el rename to test/lisp/gnus/auth-source-tests.el diff --git a/test/automated/gnus-tests.el b/test/lisp/gnus/gnus-tests.el similarity index 100% rename from test/automated/gnus-tests.el rename to test/lisp/gnus/gnus-tests.el diff --git a/test/automated/message-mode-tests.el b/test/lisp/gnus/message-tests.el similarity index 100% rename from test/automated/message-mode-tests.el rename to test/lisp/gnus/message-tests.el diff --git a/test/automated/help-fns.el b/test/lisp/help-fns-tests.el similarity index 100% rename from test/automated/help-fns.el rename to test/lisp/help-fns-tests.el diff --git a/test/automated/imenu-test.el b/test/lisp/imenu-tests.el similarity index 100% rename from test/automated/imenu-test.el rename to test/lisp/imenu-tests.el diff --git a/test/automated/info-xref.el b/test/lisp/info-xref-tests.el similarity index 100% rename from test/automated/info-xref.el rename to test/lisp/info-xref-tests.el diff --git a/test/automated/mule-util.el b/test/lisp/international/mule-util-tests.el similarity index 100% rename from test/automated/mule-util.el rename to test/lisp/international/mule-util-tests.el diff --git a/test/automated/isearch-tests.el b/test/lisp/isearch-tests.el similarity index 100% rename from test/automated/isearch-tests.el rename to test/lisp/isearch-tests.el diff --git a/test/automated/json-tests.el b/test/lisp/json-tests.el similarity index 100% rename from test/automated/json-tests.el rename to test/lisp/json-tests.el diff --git a/test/automated/bytecomp-tests.el b/test/lisp/legacy/bytecomp-tests.el similarity index 100% rename from test/automated/bytecomp-tests.el rename to test/lisp/legacy/bytecomp-tests.el diff --git a/test/automated/coding-tests.el b/test/lisp/legacy/coding-tests.el similarity index 100% rename from test/automated/coding-tests.el rename to test/lisp/legacy/coding-tests.el diff --git a/test/automated/core-elisp-tests.el b/test/lisp/legacy/core-elisp-tests.el similarity index 100% rename from test/automated/core-elisp-tests.el rename to test/lisp/legacy/core-elisp-tests.el diff --git a/test/automated/decoder-tests.el b/test/lisp/legacy/decoder-tests.el similarity index 100% rename from test/automated/decoder-tests.el rename to test/lisp/legacy/decoder-tests.el diff --git a/test/automated/files.el b/test/lisp/legacy/files-tests.el similarity index 100% rename from test/automated/files.el rename to test/lisp/legacy/files-tests.el diff --git a/test/automated/font-parse-tests.el b/test/lisp/legacy/font-parse-tests.el similarity index 100% rename from test/automated/font-parse-tests.el rename to test/lisp/legacy/font-parse-tests.el diff --git a/test/automated/lexbind-tests.el b/test/lisp/legacy/lexbind-tests.el similarity index 100% rename from test/automated/lexbind-tests.el rename to test/lisp/legacy/lexbind-tests.el diff --git a/test/automated/occur-tests.el b/test/lisp/legacy/occur-tests.el similarity index 100% rename from test/automated/occur-tests.el rename to test/lisp/legacy/occur-tests.el diff --git a/test/automated/process-tests.el b/test/lisp/legacy/process-tests.el similarity index 100% rename from test/automated/process-tests.el rename to test/lisp/legacy/process-tests.el diff --git a/test/automated/syntax-tests.el b/test/lisp/legacy/syntax-tests.el similarity index 100% rename from test/automated/syntax-tests.el rename to test/lisp/legacy/syntax-tests.el diff --git a/test/automated/textprop-tests.el b/test/lisp/legacy/textprop-tests.el similarity index 100% rename from test/automated/textprop-tests.el rename to test/lisp/legacy/textprop-tests.el diff --git a/test/automated/undo-tests.el b/test/lisp/legacy/undo-tests.el similarity index 100% rename from test/automated/undo-tests.el rename to test/lisp/legacy/undo-tests.el diff --git a/test/automated/man-tests.el b/test/lisp/man-tests.el similarity index 100% rename from test/automated/man-tests.el rename to test/lisp/man-tests.el diff --git a/test/automated/completion-tests.el b/test/lisp/minibuffer-tests.el similarity index 100% rename from test/automated/completion-tests.el rename to test/lisp/minibuffer-tests.el diff --git a/test/automated/dbus-tests.el b/test/lisp/net/dbus-tests.el similarity index 100% rename from test/automated/dbus-tests.el rename to test/lisp/net/dbus-tests.el diff --git a/test/automated/newsticker-tests.el b/test/lisp/net/newsticker-tests.el similarity index 100% rename from test/automated/newsticker-tests.el rename to test/lisp/net/newsticker-tests.el diff --git a/test/automated/sasl-scram-rfc-tests.el b/test/lisp/net/sasl-scram-rfc-tests.el similarity index 100% rename from test/automated/sasl-scram-rfc-tests.el rename to test/lisp/net/sasl-scram-rfc-tests.el diff --git a/test/automated/tramp-tests.el b/test/lisp/net/tramp-tests.el similarity index 100% rename from test/automated/tramp-tests.el rename to test/lisp/net/tramp-tests.el diff --git a/test/automated/obarray-tests.el b/test/lisp/obarray-tests.el similarity index 100% rename from test/automated/obarray-tests.el rename to test/lisp/obarray-tests.el diff --git a/test/automated/compile-tests.el b/test/lisp/progmodes/compile-tests.el similarity index 100% rename from test/automated/compile-tests.el rename to test/lisp/progmodes/compile-tests.el diff --git a/test/automated/elisp-mode-tests.el b/test/lisp/progmodes/elisp-mode-tests.el similarity index 95% rename from test/automated/elisp-mode-tests.el rename to test/lisp/progmodes/elisp-mode-tests.el index 38c0b3be056..c910b59860c 100644 --- a/test/automated/elisp-mode-tests.el +++ b/test/lisp/progmodes/elisp-mode-tests.el @@ -244,7 +244,7 @@ to (xref-elisp-test-descr-to-target xref)." (xref-make "(cl-defstruct (xref-elisp-location (:constructor xref-make-elisp-location)))" (xref-make-elisp-location 'xref-elisp-location 'define-type - (expand-file-name "../../lisp/progmodes/elisp-mode.el" emacs-test-dir))) + (expand-file-name "../../../lisp/progmodes/elisp-mode.el" emacs-test-dir))) ;; It's not worth adding another special case to `xref-elisp-test-descr-to-target' for this "(cl-defstruct (xref-elisp-location") )) @@ -255,11 +255,11 @@ to (xref-elisp-test-descr-to-target xref)." (xref-make "(defalias Buffer-menu-sort)" (xref-make-elisp-location 'Buffer-menu-sort 'defalias - (expand-file-name "../../lisp/buff-menu.elc" emacs-test-dir))) + (expand-file-name "../../../lisp/buff-menu.elc" emacs-test-dir))) (xref-make "(defun tabulated-list-sort)" (xref-make-elisp-location 'tabulated-list-sort nil - (expand-file-name "../../lisp/emacs-lisp/tabulated-list.el" emacs-test-dir))) + (expand-file-name "../../../lisp/emacs-lisp/tabulated-list.el" emacs-test-dir))) )) ;; FIXME: defconst @@ -406,27 +406,27 @@ to (xref-elisp-test-descr-to-target xref)." (xref-make "(cl-defgeneric xref-location-marker)" (xref-make-elisp-location 'xref-location-marker 'cl-defgeneric - (expand-file-name "../../lisp/progmodes/xref.el" emacs-test-dir))) + (expand-file-name "../../../lisp/progmodes/xref.el" emacs-test-dir))) (xref-make "(cl-defmethod xref-location-marker ((l xref-elisp-location)))" (xref-make-elisp-location '(xref-location-marker xref-elisp-location) 'cl-defmethod - (expand-file-name "../../lisp/progmodes/elisp-mode.el" emacs-test-dir))) + (expand-file-name "../../../lisp/progmodes/elisp-mode.el" emacs-test-dir))) (xref-make "(cl-defmethod xref-location-marker ((l xref-file-location)))" (xref-make-elisp-location '(xref-location-marker xref-file-location) 'cl-defmethod - (expand-file-name "../../lisp/progmodes/xref.el" emacs-test-dir))) + (expand-file-name "../../../lisp/progmodes/xref.el" emacs-test-dir))) (xref-make "(cl-defmethod xref-location-marker ((l xref-buffer-location)))" (xref-make-elisp-location '(xref-location-marker xref-buffer-location) 'cl-defmethod - (expand-file-name "../../lisp/progmodes/xref.el" emacs-test-dir))) + (expand-file-name "../../../lisp/progmodes/xref.el" emacs-test-dir))) (xref-make "(cl-defmethod xref-location-marker ((l xref-bogus-location)))" (xref-make-elisp-location '(xref-location-marker xref-bogus-location) 'cl-defmethod - (expand-file-name "../../lisp/progmodes/xref.el" emacs-test-dir))) + (expand-file-name "../../../lisp/progmodes/xref.el" emacs-test-dir))) (xref-make "(cl-defmethod xref-location-marker ((l xref-etags-location)))" (xref-make-elisp-location '(xref-location-marker xref-etags-location) 'cl-defmethod - (expand-file-name "../../lisp/progmodes/etags.el" emacs-test-dir))) + (expand-file-name "../../../lisp/progmodes/etags.el" emacs-test-dir))) )) (xref-elisp-deftest find-defs-defgeneric-eval @@ -528,7 +528,7 @@ to (xref-elisp-test-descr-to-target xref)." (xref-make "(defun xref-find-definitions)" (xref-make-elisp-location 'xref-find-definitions nil - (expand-file-name "../../lisp/progmodes/xref.el" emacs-test-dir))))) + (expand-file-name "../../../lisp/progmodes/xref.el" emacs-test-dir))))) (xref-elisp-deftest find-defs-defun-eval (elisp--xref-find-definitions (eval '(defun stephe-leake-defun ()))) @@ -561,7 +561,7 @@ to (xref-elisp-test-descr-to-target xref)." (xref-make "(defun abbrev-mode)" (xref-make-elisp-location 'abbrev-mode nil - (expand-file-name "../../lisp/abbrev.el" emacs-test-dir))) + (expand-file-name "../../../lisp/abbrev.el" emacs-test-dir))) "(define-minor-mode abbrev-mode")) ) @@ -582,7 +582,7 @@ to (xref-elisp-test-descr-to-target xref)." (xref-make "(defun compilation-minor-mode)" (xref-make-elisp-location 'compilation-minor-mode nil - (expand-file-name "../../lisp/progmodes/compile.el" emacs-test-dir))) + (expand-file-name "../../../lisp/progmodes/compile.el" emacs-test-dir))) "(define-minor-mode compilation-minor-mode") )) @@ -592,7 +592,7 @@ to (xref-elisp-test-descr-to-target xref)." (xref-make "(defvar xref--marker-ring)" (xref-make-elisp-location 'xref--marker-ring 'defvar - (expand-file-name "../../lisp/progmodes/xref.el" emacs-test-dir))) + (expand-file-name "../../../lisp/progmodes/xref.el" emacs-test-dir))) )) (xref-elisp-deftest find-defs-defvar-c @@ -615,11 +615,11 @@ to (xref-elisp-test-descr-to-target xref)." (xref-make "(defvar font-lock-keyword-face)" (xref-make-elisp-location 'font-lock-keyword-face 'defvar - (expand-file-name "../../lisp/font-lock.el" emacs-test-dir))) + (expand-file-name "../../../lisp/font-lock.el" emacs-test-dir))) (xref-make "(defface font-lock-keyword-face)" (xref-make-elisp-location 'font-lock-keyword-face 'defface - (expand-file-name "../../lisp/font-lock.el" emacs-test-dir))) + (expand-file-name "../../../lisp/font-lock.el" emacs-test-dir))) )) (xref-elisp-deftest find-defs-face-eval @@ -633,7 +633,7 @@ to (xref-elisp-test-descr-to-target xref)." (xref-make "(feature xref)" (xref-make-elisp-location 'xref 'feature - (expand-file-name "../../lisp/progmodes/xref.el" emacs-test-dir))) + (expand-file-name "../../../lisp/progmodes/xref.el" emacs-test-dir))) ";;; Code:") )) diff --git a/test/automated/f90.el b/test/lisp/progmodes/f90.el similarity index 100% rename from test/automated/f90.el rename to test/lisp/progmodes/f90.el diff --git a/test/automated/data/flymake/Makefile b/test/lisp/progmodes/flymake-resources/Makefile similarity index 100% rename from test/automated/data/flymake/Makefile rename to test/lisp/progmodes/flymake-resources/Makefile diff --git a/test/automated/data/flymake/test.c b/test/lisp/progmodes/flymake-resources/test.c similarity index 100% rename from test/automated/data/flymake/test.c rename to test/lisp/progmodes/flymake-resources/test.c diff --git a/test/automated/data/flymake/test.pl b/test/lisp/progmodes/flymake-resources/test.pl similarity index 100% rename from test/automated/data/flymake/test.pl rename to test/lisp/progmodes/flymake-resources/test.pl diff --git a/test/automated/flymake-tests.el b/test/lisp/progmodes/flymake-tests.el similarity index 97% rename from test/automated/flymake-tests.el rename to test/lisp/progmodes/flymake-tests.el index 11231bc3f7a..1d8c12c0655 100644 --- a/test/automated/flymake-tests.el +++ b/test/lisp/progmodes/flymake-tests.el @@ -26,7 +26,7 @@ (require 'flymake) (defvar flymake-tests-data-directory - (expand-file-name "data/flymake" (getenv "EMACS_TEST_DIRECTORY")) + (expand-file-name "lisp/progmodes/flymake-resources" (getenv "EMACS_TEST_DIRECTORY")) "Directory containing flymake test data.") diff --git a/test/automated/python-tests.el b/test/lisp/progmodes/python-tests.el similarity index 100% rename from test/automated/python-tests.el rename to test/lisp/progmodes/python-tests.el diff --git a/test/automated/ruby-mode-tests.el b/test/lisp/progmodes/ruby-mode-tests.el similarity index 100% rename from test/automated/ruby-mode-tests.el rename to test/lisp/progmodes/ruby-mode-tests.el diff --git a/test/automated/subword-tests.el b/test/lisp/progmodes/subword-tests.el similarity index 100% rename from test/automated/subword-tests.el rename to test/lisp/progmodes/subword-tests.el diff --git a/test/automated/replace-tests.el b/test/lisp/replace-tests.el similarity index 100% rename from test/automated/replace-tests.el rename to test/lisp/replace-tests.el diff --git a/test/automated/simple-test.el b/test/lisp/simple-tests.el similarity index 100% rename from test/automated/simple-test.el rename to test/lisp/simple-tests.el diff --git a/test/automated/sort-tests.el b/test/lisp/sort-tests.el similarity index 100% rename from test/automated/sort-tests.el rename to test/lisp/sort-tests.el diff --git a/test/automated/subr-tests.el b/test/lisp/subr-tests.el similarity index 100% rename from test/automated/subr-tests.el rename to test/lisp/subr-tests.el diff --git a/test/automated/reftex-tests.el b/test/lisp/textmodes/reftex-tests.el similarity index 100% rename from test/automated/reftex-tests.el rename to test/lisp/textmodes/reftex-tests.el diff --git a/test/automated/sgml-mode-tests.el b/test/lisp/textmodes/sgml-mode-tests.el similarity index 100% rename from test/automated/sgml-mode-tests.el rename to test/lisp/textmodes/sgml-mode-tests.el diff --git a/test/automated/tildify-tests.el b/test/lisp/textmodes/tildify-tests.el similarity index 100% rename from test/automated/tildify-tests.el rename to test/lisp/textmodes/tildify-tests.el diff --git a/test/automated/thingatpt.el b/test/lisp/thingatpt-tests.el similarity index 100% rename from test/automated/thingatpt.el rename to test/lisp/thingatpt-tests.el diff --git a/test/automated/url-future-tests.el b/test/lisp/url/url-future-tests.el similarity index 100% rename from test/automated/url-future-tests.el rename to test/lisp/url/url-future-tests.el diff --git a/test/automated/url-util-tests.el b/test/lisp/url/url-util-tests.el similarity index 100% rename from test/automated/url-util-tests.el rename to test/lisp/url/url-util-tests.el diff --git a/test/automated/add-log-tests.el b/test/lisp/vc/add-log-tests.el similarity index 100% rename from test/automated/add-log-tests.el rename to test/lisp/vc/add-log-tests.el diff --git a/test/automated/vc-bzr.el b/test/lisp/vc/vc-bzr-tests.el similarity index 100% rename from test/automated/vc-bzr.el rename to test/lisp/vc/vc-bzr-tests.el diff --git a/test/automated/vc-tests.el b/test/lisp/vc/vc-tests.el similarity index 100% rename from test/automated/vc-tests.el rename to test/lisp/vc/vc-tests.el diff --git a/test/automated/xml-parse-tests.el b/test/lisp/xml-tests.el similarity index 100% rename from test/automated/xml-parse-tests.el rename to test/lisp/xml-tests.el diff --git a/test/BidiCharacterTest.txt b/test/manual/BidiCharacterTest.txt similarity index 100% rename from test/BidiCharacterTest.txt rename to test/manual/BidiCharacterTest.txt diff --git a/test/biditest.el b/test/manual/biditest.el similarity index 100% rename from test/biditest.el rename to test/manual/biditest.el diff --git a/test/cedet/cedet-utests.el b/test/manual/cedet/cedet-utests.el similarity index 100% rename from test/cedet/cedet-utests.el rename to test/manual/cedet/cedet-utests.el diff --git a/test/cedet/ede-tests.el b/test/manual/cedet/ede-tests.el similarity index 100% rename from test/cedet/ede-tests.el rename to test/manual/cedet/ede-tests.el diff --git a/test/cedet/semantic-ia-utest.el b/test/manual/cedet/semantic-ia-utest.el similarity index 100% rename from test/cedet/semantic-ia-utest.el rename to test/manual/cedet/semantic-ia-utest.el diff --git a/test/cedet/semantic-tests.el b/test/manual/cedet/semantic-tests.el similarity index 100% rename from test/cedet/semantic-tests.el rename to test/manual/cedet/semantic-tests.el diff --git a/test/cedet/semantic-utest-c.el b/test/manual/cedet/semantic-utest-c.el similarity index 100% rename from test/cedet/semantic-utest-c.el rename to test/manual/cedet/semantic-utest-c.el diff --git a/test/cedet/semantic-utest.el b/test/manual/cedet/semantic-utest.el similarity index 100% rename from test/cedet/semantic-utest.el rename to test/manual/cedet/semantic-utest.el diff --git a/test/cedet/srecode-tests.el b/test/manual/cedet/srecode-tests.el similarity index 100% rename from test/cedet/srecode-tests.el rename to test/manual/cedet/srecode-tests.el diff --git a/test/cedet/tests/test.c b/test/manual/cedet/tests/test.c similarity index 100% rename from test/cedet/tests/test.c rename to test/manual/cedet/tests/test.c diff --git a/test/cedet/tests/test.el b/test/manual/cedet/tests/test.el similarity index 100% rename from test/cedet/tests/test.el rename to test/manual/cedet/tests/test.el diff --git a/test/cedet/tests/test.make b/test/manual/cedet/tests/test.make similarity index 100% rename from test/cedet/tests/test.make rename to test/manual/cedet/tests/test.make diff --git a/test/cedet/tests/testdoublens.cpp b/test/manual/cedet/tests/testdoublens.cpp similarity index 100% rename from test/cedet/tests/testdoublens.cpp rename to test/manual/cedet/tests/testdoublens.cpp diff --git a/test/cedet/tests/testdoublens.hpp b/test/manual/cedet/tests/testdoublens.hpp similarity index 100% rename from test/cedet/tests/testdoublens.hpp rename to test/manual/cedet/tests/testdoublens.hpp diff --git a/test/cedet/tests/testfriends.cpp b/test/manual/cedet/tests/testfriends.cpp similarity index 100% rename from test/cedet/tests/testfriends.cpp rename to test/manual/cedet/tests/testfriends.cpp diff --git a/test/cedet/tests/testjavacomp.java b/test/manual/cedet/tests/testjavacomp.java similarity index 100% rename from test/cedet/tests/testjavacomp.java rename to test/manual/cedet/tests/testjavacomp.java diff --git a/test/cedet/tests/testnsp.cpp b/test/manual/cedet/tests/testnsp.cpp similarity index 100% rename from test/cedet/tests/testnsp.cpp rename to test/manual/cedet/tests/testnsp.cpp diff --git a/test/cedet/tests/testpolymorph.cpp b/test/manual/cedet/tests/testpolymorph.cpp similarity index 100% rename from test/cedet/tests/testpolymorph.cpp rename to test/manual/cedet/tests/testpolymorph.cpp diff --git a/test/cedet/tests/testspp.c b/test/manual/cedet/tests/testspp.c similarity index 100% rename from test/cedet/tests/testspp.c rename to test/manual/cedet/tests/testspp.c diff --git a/test/cedet/tests/testsppcomplete.c b/test/manual/cedet/tests/testsppcomplete.c similarity index 100% rename from test/cedet/tests/testsppcomplete.c rename to test/manual/cedet/tests/testsppcomplete.c diff --git a/test/cedet/tests/testsppreplace.c b/test/manual/cedet/tests/testsppreplace.c similarity index 100% rename from test/cedet/tests/testsppreplace.c rename to test/manual/cedet/tests/testsppreplace.c diff --git a/test/cedet/tests/testsppreplaced.c b/test/manual/cedet/tests/testsppreplaced.c similarity index 100% rename from test/cedet/tests/testsppreplaced.c rename to test/manual/cedet/tests/testsppreplaced.c diff --git a/test/cedet/tests/testsubclass.cpp b/test/manual/cedet/tests/testsubclass.cpp similarity index 100% rename from test/cedet/tests/testsubclass.cpp rename to test/manual/cedet/tests/testsubclass.cpp diff --git a/test/cedet/tests/testsubclass.hh b/test/manual/cedet/tests/testsubclass.hh similarity index 100% rename from test/cedet/tests/testsubclass.hh rename to test/manual/cedet/tests/testsubclass.hh diff --git a/test/cedet/tests/testtypedefs.cpp b/test/manual/cedet/tests/testtypedefs.cpp similarity index 100% rename from test/cedet/tests/testtypedefs.cpp rename to test/manual/cedet/tests/testtypedefs.cpp diff --git a/test/cedet/tests/testvarnames.c b/test/manual/cedet/tests/testvarnames.c similarity index 100% rename from test/cedet/tests/testvarnames.c rename to test/manual/cedet/tests/testvarnames.c diff --git a/test/etags/CTAGS.good b/test/manual/etags/CTAGS.good similarity index 100% rename from test/etags/CTAGS.good rename to test/manual/etags/CTAGS.good diff --git a/test/etags/ETAGS.good_1 b/test/manual/etags/ETAGS.good_1 similarity index 100% rename from test/etags/ETAGS.good_1 rename to test/manual/etags/ETAGS.good_1 diff --git a/test/etags/ETAGS.good_2 b/test/manual/etags/ETAGS.good_2 similarity index 100% rename from test/etags/ETAGS.good_2 rename to test/manual/etags/ETAGS.good_2 diff --git a/test/etags/ETAGS.good_3 b/test/manual/etags/ETAGS.good_3 similarity index 100% rename from test/etags/ETAGS.good_3 rename to test/manual/etags/ETAGS.good_3 diff --git a/test/etags/ETAGS.good_4 b/test/manual/etags/ETAGS.good_4 similarity index 100% rename from test/etags/ETAGS.good_4 rename to test/manual/etags/ETAGS.good_4 diff --git a/test/etags/ETAGS.good_5 b/test/manual/etags/ETAGS.good_5 similarity index 100% rename from test/etags/ETAGS.good_5 rename to test/manual/etags/ETAGS.good_5 diff --git a/test/etags/ETAGS.good_6 b/test/manual/etags/ETAGS.good_6 similarity index 100% rename from test/etags/ETAGS.good_6 rename to test/manual/etags/ETAGS.good_6 diff --git a/test/etags/Makefile b/test/manual/etags/Makefile similarity index 100% rename from test/etags/Makefile rename to test/manual/etags/Makefile diff --git a/test/etags/a-src/empty.zz b/test/manual/etags/a-src/empty.zz similarity index 100% rename from test/etags/a-src/empty.zz rename to test/manual/etags/a-src/empty.zz diff --git a/test/etags/a-src/empty.zz.gz b/test/manual/etags/a-src/empty.zz.gz similarity index 100% rename from test/etags/a-src/empty.zz.gz rename to test/manual/etags/a-src/empty.zz.gz diff --git a/test/etags/ada-src/2ataspri.adb b/test/manual/etags/ada-src/2ataspri.adb similarity index 100% rename from test/etags/ada-src/2ataspri.adb rename to test/manual/etags/ada-src/2ataspri.adb diff --git a/test/etags/ada-src/2ataspri.ads b/test/manual/etags/ada-src/2ataspri.ads similarity index 100% rename from test/etags/ada-src/2ataspri.ads rename to test/manual/etags/ada-src/2ataspri.ads diff --git a/test/etags/ada-src/etags-test-for.ada b/test/manual/etags/ada-src/etags-test-for.ada similarity index 100% rename from test/etags/ada-src/etags-test-for.ada rename to test/manual/etags/ada-src/etags-test-for.ada diff --git a/test/etags/ada-src/waroquiers.ada b/test/manual/etags/ada-src/waroquiers.ada similarity index 100% rename from test/etags/ada-src/waroquiers.ada rename to test/manual/etags/ada-src/waroquiers.ada diff --git a/test/etags/c-src/a/b/b.c b/test/manual/etags/c-src/a/b/b.c similarity index 100% rename from test/etags/c-src/a/b/b.c rename to test/manual/etags/c-src/a/b/b.c diff --git a/test/etags/c-src/abbrev.c b/test/manual/etags/c-src/abbrev.c similarity index 100% rename from test/etags/c-src/abbrev.c rename to test/manual/etags/c-src/abbrev.c diff --git a/test/etags/c-src/c.c b/test/manual/etags/c-src/c.c similarity index 100% rename from test/etags/c-src/c.c rename to test/manual/etags/c-src/c.c diff --git a/test/etags/c-src/dostorture.c b/test/manual/etags/c-src/dostorture.c similarity index 100% rename from test/etags/c-src/dostorture.c rename to test/manual/etags/c-src/dostorture.c diff --git a/test/etags/c-src/emacs/src/gmalloc.c b/test/manual/etags/c-src/emacs/src/gmalloc.c similarity index 100% rename from test/etags/c-src/emacs/src/gmalloc.c rename to test/manual/etags/c-src/emacs/src/gmalloc.c diff --git a/test/etags/c-src/emacs/src/keyboard.c b/test/manual/etags/c-src/emacs/src/keyboard.c similarity index 100% rename from test/etags/c-src/emacs/src/keyboard.c rename to test/manual/etags/c-src/emacs/src/keyboard.c diff --git a/test/etags/c-src/emacs/src/lisp.h b/test/manual/etags/c-src/emacs/src/lisp.h similarity index 100% rename from test/etags/c-src/emacs/src/lisp.h rename to test/manual/etags/c-src/emacs/src/lisp.h diff --git a/test/etags/c-src/emacs/src/regex.h b/test/manual/etags/c-src/emacs/src/regex.h similarity index 100% rename from test/etags/c-src/emacs/src/regex.h rename to test/manual/etags/c-src/emacs/src/regex.h diff --git a/test/etags/c-src/etags.c b/test/manual/etags/c-src/etags.c similarity index 100% rename from test/etags/c-src/etags.c rename to test/manual/etags/c-src/etags.c diff --git a/test/etags/c-src/exit.c b/test/manual/etags/c-src/exit.c similarity index 100% rename from test/etags/c-src/exit.c rename to test/manual/etags/c-src/exit.c diff --git a/test/etags/c-src/exit.strange_suffix b/test/manual/etags/c-src/exit.strange_suffix similarity index 100% rename from test/etags/c-src/exit.strange_suffix rename to test/manual/etags/c-src/exit.strange_suffix diff --git a/test/etags/c-src/fail.c b/test/manual/etags/c-src/fail.c similarity index 100% rename from test/etags/c-src/fail.c rename to test/manual/etags/c-src/fail.c diff --git a/test/etags/c-src/getopt.h b/test/manual/etags/c-src/getopt.h similarity index 100% rename from test/etags/c-src/getopt.h rename to test/manual/etags/c-src/getopt.h diff --git a/test/etags/c-src/h.h b/test/manual/etags/c-src/h.h similarity index 100% rename from test/etags/c-src/h.h rename to test/manual/etags/c-src/h.h diff --git a/test/etags/c-src/machsyscalls.c b/test/manual/etags/c-src/machsyscalls.c similarity index 100% rename from test/etags/c-src/machsyscalls.c rename to test/manual/etags/c-src/machsyscalls.c diff --git a/test/etags/c-src/machsyscalls.h b/test/manual/etags/c-src/machsyscalls.h similarity index 100% rename from test/etags/c-src/machsyscalls.h rename to test/manual/etags/c-src/machsyscalls.h diff --git a/test/etags/c-src/sysdep.h b/test/manual/etags/c-src/sysdep.h similarity index 100% rename from test/etags/c-src/sysdep.h rename to test/manual/etags/c-src/sysdep.h diff --git a/test/etags/c-src/tab.c b/test/manual/etags/c-src/tab.c similarity index 100% rename from test/etags/c-src/tab.c rename to test/manual/etags/c-src/tab.c diff --git a/test/etags/c-src/torture.c b/test/manual/etags/c-src/torture.c similarity index 100% rename from test/etags/c-src/torture.c rename to test/manual/etags/c-src/torture.c diff --git a/test/etags/cp-src/MDiagArray2.h b/test/manual/etags/cp-src/MDiagArray2.h similarity index 100% rename from test/etags/cp-src/MDiagArray2.h rename to test/manual/etags/cp-src/MDiagArray2.h diff --git a/test/etags/cp-src/Range.h b/test/manual/etags/cp-src/Range.h similarity index 100% rename from test/etags/cp-src/Range.h rename to test/manual/etags/cp-src/Range.h diff --git a/test/etags/cp-src/burton.cpp b/test/manual/etags/cp-src/burton.cpp similarity index 100% rename from test/etags/cp-src/burton.cpp rename to test/manual/etags/cp-src/burton.cpp diff --git a/test/etags/cp-src/c.C b/test/manual/etags/cp-src/c.C similarity index 100% rename from test/etags/cp-src/c.C rename to test/manual/etags/cp-src/c.C diff --git a/test/etags/cp-src/clheir.cpp.gz b/test/manual/etags/cp-src/clheir.cpp.gz similarity index 100% rename from test/etags/cp-src/clheir.cpp.gz rename to test/manual/etags/cp-src/clheir.cpp.gz diff --git a/test/etags/cp-src/clheir.hpp b/test/manual/etags/cp-src/clheir.hpp similarity index 100% rename from test/etags/cp-src/clheir.hpp rename to test/manual/etags/cp-src/clheir.hpp diff --git a/test/etags/cp-src/conway.cpp b/test/manual/etags/cp-src/conway.cpp similarity index 100% rename from test/etags/cp-src/conway.cpp rename to test/manual/etags/cp-src/conway.cpp diff --git a/test/etags/cp-src/conway.hpp b/test/manual/etags/cp-src/conway.hpp similarity index 100% rename from test/etags/cp-src/conway.hpp rename to test/manual/etags/cp-src/conway.hpp diff --git a/test/etags/cp-src/fail.C b/test/manual/etags/cp-src/fail.C similarity index 100% rename from test/etags/cp-src/fail.C rename to test/manual/etags/cp-src/fail.C diff --git a/test/etags/cp-src/functions.cpp b/test/manual/etags/cp-src/functions.cpp similarity index 100% rename from test/etags/cp-src/functions.cpp rename to test/manual/etags/cp-src/functions.cpp diff --git a/test/etags/cp-src/screen.cpp b/test/manual/etags/cp-src/screen.cpp similarity index 100% rename from test/etags/cp-src/screen.cpp rename to test/manual/etags/cp-src/screen.cpp diff --git a/test/etags/cp-src/screen.hpp b/test/manual/etags/cp-src/screen.hpp similarity index 100% rename from test/etags/cp-src/screen.hpp rename to test/manual/etags/cp-src/screen.hpp diff --git a/test/etags/cp-src/x.cc b/test/manual/etags/cp-src/x.cc similarity index 100% rename from test/etags/cp-src/x.cc rename to test/manual/etags/cp-src/x.cc diff --git a/test/etags/el-src/TAGTEST.EL b/test/manual/etags/el-src/TAGTEST.EL similarity index 100% rename from test/etags/el-src/TAGTEST.EL rename to test/manual/etags/el-src/TAGTEST.EL diff --git a/test/etags/el-src/emacs/lisp/progmodes/etags.el b/test/manual/etags/el-src/emacs/lisp/progmodes/etags.el similarity index 100% rename from test/etags/el-src/emacs/lisp/progmodes/etags.el rename to test/manual/etags/el-src/emacs/lisp/progmodes/etags.el diff --git a/test/etags/erl-src/gs_dialog.erl b/test/manual/etags/erl-src/gs_dialog.erl similarity index 100% rename from test/etags/erl-src/gs_dialog.erl rename to test/manual/etags/erl-src/gs_dialog.erl diff --git a/test/etags/f-src/entry.for b/test/manual/etags/f-src/entry.for similarity index 100% rename from test/etags/f-src/entry.for rename to test/manual/etags/f-src/entry.for diff --git a/test/etags/f-src/entry.strange.gz b/test/manual/etags/f-src/entry.strange.gz similarity index 100% rename from test/etags/f-src/entry.strange.gz rename to test/manual/etags/f-src/entry.strange.gz diff --git a/test/etags/f-src/entry.strange_suffix b/test/manual/etags/f-src/entry.strange_suffix similarity index 100% rename from test/etags/f-src/entry.strange_suffix rename to test/manual/etags/f-src/entry.strange_suffix diff --git a/test/etags/forth-src/test-forth.fth b/test/manual/etags/forth-src/test-forth.fth similarity index 100% rename from test/etags/forth-src/test-forth.fth rename to test/manual/etags/forth-src/test-forth.fth diff --git a/test/etags/html-src/algrthms.html b/test/manual/etags/html-src/algrthms.html similarity index 100% rename from test/etags/html-src/algrthms.html rename to test/manual/etags/html-src/algrthms.html diff --git a/test/etags/html-src/index.shtml b/test/manual/etags/html-src/index.shtml similarity index 100% rename from test/etags/html-src/index.shtml rename to test/manual/etags/html-src/index.shtml diff --git a/test/etags/html-src/software.html b/test/manual/etags/html-src/software.html similarity index 100% rename from test/etags/html-src/software.html rename to test/manual/etags/html-src/software.html diff --git a/test/etags/html-src/softwarelibero.html b/test/manual/etags/html-src/softwarelibero.html similarity index 100% rename from test/etags/html-src/softwarelibero.html rename to test/manual/etags/html-src/softwarelibero.html diff --git a/test/etags/lua-src/allegro.lua b/test/manual/etags/lua-src/allegro.lua similarity index 100% rename from test/etags/lua-src/allegro.lua rename to test/manual/etags/lua-src/allegro.lua diff --git a/test/etags/make-src/Makefile b/test/manual/etags/make-src/Makefile similarity index 100% rename from test/etags/make-src/Makefile rename to test/manual/etags/make-src/Makefile diff --git a/test/etags/objc-src/PackInsp.h b/test/manual/etags/objc-src/PackInsp.h similarity index 100% rename from test/etags/objc-src/PackInsp.h rename to test/manual/etags/objc-src/PackInsp.h diff --git a/test/etags/objc-src/PackInsp.m b/test/manual/etags/objc-src/PackInsp.m similarity index 100% rename from test/etags/objc-src/PackInsp.m rename to test/manual/etags/objc-src/PackInsp.m diff --git a/test/etags/objc-src/Subprocess.h b/test/manual/etags/objc-src/Subprocess.h similarity index 100% rename from test/etags/objc-src/Subprocess.h rename to test/manual/etags/objc-src/Subprocess.h diff --git a/test/etags/objc-src/Subprocess.m b/test/manual/etags/objc-src/Subprocess.m similarity index 100% rename from test/etags/objc-src/Subprocess.m rename to test/manual/etags/objc-src/Subprocess.m diff --git a/test/etags/objcpp-src/SimpleCalc.H b/test/manual/etags/objcpp-src/SimpleCalc.H similarity index 100% rename from test/etags/objcpp-src/SimpleCalc.H rename to test/manual/etags/objcpp-src/SimpleCalc.H diff --git a/test/etags/objcpp-src/SimpleCalc.M b/test/manual/etags/objcpp-src/SimpleCalc.M similarity index 100% rename from test/etags/objcpp-src/SimpleCalc.M rename to test/manual/etags/objcpp-src/SimpleCalc.M diff --git a/test/etags/pas-src/common.pas b/test/manual/etags/pas-src/common.pas similarity index 100% rename from test/etags/pas-src/common.pas rename to test/manual/etags/pas-src/common.pas diff --git a/test/etags/perl-src/htlmify-cystic b/test/manual/etags/perl-src/htlmify-cystic similarity index 100% rename from test/etags/perl-src/htlmify-cystic rename to test/manual/etags/perl-src/htlmify-cystic diff --git a/test/etags/perl-src/kai-test.pl b/test/manual/etags/perl-src/kai-test.pl similarity index 100% rename from test/etags/perl-src/kai-test.pl rename to test/manual/etags/perl-src/kai-test.pl diff --git a/test/etags/perl-src/yagrip.pl b/test/manual/etags/perl-src/yagrip.pl similarity index 100% rename from test/etags/perl-src/yagrip.pl rename to test/manual/etags/perl-src/yagrip.pl diff --git a/test/etags/php-src/lce_functions.php b/test/manual/etags/php-src/lce_functions.php similarity index 100% rename from test/etags/php-src/lce_functions.php rename to test/manual/etags/php-src/lce_functions.php diff --git a/test/etags/php-src/ptest.php b/test/manual/etags/php-src/ptest.php similarity index 100% rename from test/etags/php-src/ptest.php rename to test/manual/etags/php-src/ptest.php diff --git a/test/etags/php-src/sendmail.php b/test/manual/etags/php-src/sendmail.php similarity index 100% rename from test/etags/php-src/sendmail.php rename to test/manual/etags/php-src/sendmail.php diff --git a/test/etags/prol-src/natded.prolog b/test/manual/etags/prol-src/natded.prolog similarity index 100% rename from test/etags/prol-src/natded.prolog rename to test/manual/etags/prol-src/natded.prolog diff --git a/test/etags/prol-src/ordsets.prolog b/test/manual/etags/prol-src/ordsets.prolog similarity index 100% rename from test/etags/prol-src/ordsets.prolog rename to test/manual/etags/prol-src/ordsets.prolog diff --git a/test/etags/ps-src/rfc1245.ps b/test/manual/etags/ps-src/rfc1245.ps similarity index 100% rename from test/etags/ps-src/rfc1245.ps rename to test/manual/etags/ps-src/rfc1245.ps diff --git a/test/etags/pyt-src/server.py b/test/manual/etags/pyt-src/server.py similarity index 100% rename from test/etags/pyt-src/server.py rename to test/manual/etags/pyt-src/server.py diff --git a/test/etags/tex-src/gzip.texi b/test/manual/etags/tex-src/gzip.texi similarity index 100% rename from test/etags/tex-src/gzip.texi rename to test/manual/etags/tex-src/gzip.texi diff --git a/test/etags/tex-src/nonewline.tex b/test/manual/etags/tex-src/nonewline.tex similarity index 100% rename from test/etags/tex-src/nonewline.tex rename to test/manual/etags/tex-src/nonewline.tex diff --git a/test/etags/tex-src/testenv.tex b/test/manual/etags/tex-src/testenv.tex similarity index 100% rename from test/etags/tex-src/testenv.tex rename to test/manual/etags/tex-src/testenv.tex diff --git a/test/etags/tex-src/texinfo.tex b/test/manual/etags/tex-src/texinfo.tex similarity index 100% rename from test/etags/tex-src/texinfo.tex rename to test/manual/etags/tex-src/texinfo.tex diff --git a/test/etags/y-src/atest.y b/test/manual/etags/y-src/atest.y similarity index 100% rename from test/etags/y-src/atest.y rename to test/manual/etags/y-src/atest.y diff --git a/test/etags/y-src/cccp.c b/test/manual/etags/y-src/cccp.c similarity index 100% rename from test/etags/y-src/cccp.c rename to test/manual/etags/y-src/cccp.c diff --git a/test/etags/y-src/cccp.y b/test/manual/etags/y-src/cccp.y similarity index 100% rename from test/etags/y-src/cccp.y rename to test/manual/etags/y-src/cccp.y diff --git a/test/etags/y-src/parse.c b/test/manual/etags/y-src/parse.c similarity index 100% rename from test/etags/y-src/parse.c rename to test/manual/etags/y-src/parse.c diff --git a/test/etags/y-src/parse.y b/test/manual/etags/y-src/parse.y similarity index 100% rename from test/etags/y-src/parse.y rename to test/manual/etags/y-src/parse.y diff --git a/test/indent/Makefile b/test/manual/indent/Makefile similarity index 100% rename from test/indent/Makefile rename to test/manual/indent/Makefile diff --git a/test/indent/css-mode.css b/test/manual/indent/css-mode.css similarity index 100% rename from test/indent/css-mode.css rename to test/manual/indent/css-mode.css diff --git a/test/indent/js-indent-init-dynamic.js b/test/manual/indent/js-indent-init-dynamic.js similarity index 100% rename from test/indent/js-indent-init-dynamic.js rename to test/manual/indent/js-indent-init-dynamic.js diff --git a/test/indent/js-indent-init-t.js b/test/manual/indent/js-indent-init-t.js similarity index 100% rename from test/indent/js-indent-init-t.js rename to test/manual/indent/js-indent-init-t.js diff --git a/test/indent/js-jsx.js b/test/manual/indent/js-jsx.js similarity index 100% rename from test/indent/js-jsx.js rename to test/manual/indent/js-jsx.js diff --git a/test/indent/js.js b/test/manual/indent/js.js similarity index 100% rename from test/indent/js.js rename to test/manual/indent/js.js diff --git a/test/indent/latex-mode.tex b/test/manual/indent/latex-mode.tex similarity index 100% rename from test/indent/latex-mode.tex rename to test/manual/indent/latex-mode.tex diff --git a/test/indent/modula2.mod b/test/manual/indent/modula2.mod similarity index 100% rename from test/indent/modula2.mod rename to test/manual/indent/modula2.mod diff --git a/test/indent/nxml.xml b/test/manual/indent/nxml.xml similarity index 100% rename from test/indent/nxml.xml rename to test/manual/indent/nxml.xml diff --git a/test/indent/octave.m b/test/manual/indent/octave.m similarity index 100% rename from test/indent/octave.m rename to test/manual/indent/octave.m diff --git a/test/indent/pascal.pas b/test/manual/indent/pascal.pas similarity index 100% rename from test/indent/pascal.pas rename to test/manual/indent/pascal.pas diff --git a/test/indent/perl.perl b/test/manual/indent/perl.perl similarity index 100% rename from test/indent/perl.perl rename to test/manual/indent/perl.perl diff --git a/test/indent/prolog.prolog b/test/manual/indent/prolog.prolog similarity index 100% rename from test/indent/prolog.prolog rename to test/manual/indent/prolog.prolog diff --git a/test/indent/ps-mode.ps b/test/manual/indent/ps-mode.ps similarity index 100% rename from test/indent/ps-mode.ps rename to test/manual/indent/ps-mode.ps diff --git a/test/indent/ruby.rb b/test/manual/indent/ruby.rb similarity index 100% rename from test/indent/ruby.rb rename to test/manual/indent/ruby.rb diff --git a/test/indent/scheme.scm b/test/manual/indent/scheme.scm similarity index 100% rename from test/indent/scheme.scm rename to test/manual/indent/scheme.scm diff --git a/test/indent/scss-mode.scss b/test/manual/indent/scss-mode.scss similarity index 100% rename from test/indent/scss-mode.scss rename to test/manual/indent/scss-mode.scss diff --git a/test/indent/sgml-mode-attribute.html b/test/manual/indent/sgml-mode-attribute.html similarity index 100% rename from test/indent/sgml-mode-attribute.html rename to test/manual/indent/sgml-mode-attribute.html diff --git a/test/indent/shell.rc b/test/manual/indent/shell.rc similarity index 100% rename from test/indent/shell.rc rename to test/manual/indent/shell.rc diff --git a/test/indent/shell.sh b/test/manual/indent/shell.sh similarity index 100% rename from test/indent/shell.sh rename to test/manual/indent/shell.sh diff --git a/test/redisplay-testsuite.el b/test/manual/redisplay-testsuite.el similarity index 100% rename from test/redisplay-testsuite.el rename to test/manual/redisplay-testsuite.el diff --git a/test/rmailmm.el b/test/manual/rmailmm.el similarity index 100% rename from test/rmailmm.el rename to test/manual/rmailmm.el diff --git a/test/automated/buffer-tests.el b/test/src/buffer-tests.el similarity index 100% rename from test/automated/buffer-tests.el rename to test/src/buffer-tests.el diff --git a/test/automated/cmds-tests.el b/test/src/cmds-tests.el similarity index 100% rename from test/automated/cmds-tests.el rename to test/src/cmds-tests.el diff --git a/test/automated/data-tests.el b/test/src/data-tests.el similarity index 100% rename from test/automated/data-tests.el rename to test/src/data-tests.el diff --git a/test/automated/finalizer-tests.el b/test/src/finalizer-tests.el similarity index 100% rename from test/automated/finalizer-tests.el rename to test/src/finalizer-tests.el diff --git a/test/automated/fns-tests.el b/test/src/fns-tests.el similarity index 100% rename from test/automated/fns-tests.el rename to test/src/fns-tests.el diff --git a/test/automated/inotify-test.el b/test/src/inotify-tests.el similarity index 100% rename from test/automated/inotify-test.el rename to test/src/inotify-tests.el diff --git a/test/automated/keymap-tests.el b/test/src/keymap-tests.el similarity index 100% rename from test/automated/keymap-tests.el rename to test/src/keymap-tests.el diff --git a/test/automated/print-tests.el b/test/src/print-tests.el similarity index 100% rename from test/automated/print-tests.el rename to test/src/print-tests.el diff --git a/test/automated/libxml-tests.el b/test/src/xml-tests.el similarity index 100% rename from test/automated/libxml-tests.el rename to test/src/xml-tests.el diff --git a/test/automated/zlib-tests.el b/test/src/zlib-tests.el similarity index 100% rename from test/automated/zlib-tests.el rename to test/src/zlib-tests.el