summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.in (renamed from test/automated/Makefile.in)40
-rw-r--r--test/data/decompress/foo.gz (renamed from test/automated/data/decompress/foo.gz)bin30 -> 30 bytes
-rw-r--r--test/data/epg/pubkey.asc (renamed from test/automated/data/epg/pubkey.asc)0
-rw-r--r--test/data/epg/seckey.asc (renamed from test/automated/data/epg/seckey.asc)0
-rw-r--r--test/data/files-bug18141.el.gz (renamed from test/automated/data/files-bug18141.el.gz)bin77 -> 77 bytes
-rw-r--r--test/file-organisation.org54
-rw-r--r--test/lisp/abbrev-tests.el (renamed from test/automated/abbrev-tests.el)33
-rw-r--r--test/lisp/autorevert-tests.el (renamed from test/automated/auto-revert-tests.el)2
-rw-r--r--test/lisp/calc/calc-tests.el (renamed from test/automated/calc-tests.el)0
-rw-r--r--test/lisp/calendar/icalendar-tests.el (renamed from test/automated/icalendar-tests.el)0
-rw-r--r--test/lisp/character-fold-tests.el (renamed from test/automated/character-fold-tests.el)0
-rw-r--r--test/lisp/comint-tests.el (renamed from test/automated/comint-testsuite.el)0
-rw-r--r--test/lisp/descr-text-tests.el (renamed from test/automated/descr-text-test.el)0
-rw-r--r--test/lisp/dired-tests.el35
-rw-r--r--test/lisp/electric-tests.el (renamed from test/automated/electric-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/cl-generic-tests.el (renamed from test/automated/cl-generic-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/cl-lib-tests.el (renamed from test/automated/cl-lib-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el (renamed from test/automated/eieio-test-methodinvoke.el)0
-rw-r--r--test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el (renamed from test/automated/eieio-test-persist.el)0
-rw-r--r--test/lisp/emacs-lisp/eieio-tests/eieio-tests.el (renamed from test/automated/eieio-tests.el)6
-rw-r--r--test/lisp/emacs-lisp/ert-tests.el (renamed from test/automated/ert-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/ert-x-tests.el (renamed from test/automated/ert-x-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/generator-tests.el (renamed from test/automated/generator-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/let-alist-tests.el (renamed from test/automated/let-alist.el)0
-rw-r--r--test/lisp/emacs-lisp/map-tests.el (renamed from test/automated/map-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/nadvice-tests.el (renamed from test/automated/advice-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/archive-contents (renamed from test/automated/data/package/archive-contents)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/key.pub (renamed from test/automated/data/package/key.pub)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/key.sec (renamed from test/automated/data/package/key.sec)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/multi-file-0.2.3.tar (renamed from test/automated/data/package/multi-file-0.2.3.tar)bin20480 -> 20480 bytes
-rw-r--r--test/lisp/emacs-lisp/package-resources/multi-file-readme.txt (renamed from test/automated/data/package/multi-file-readme.txt)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/newer-versions/archive-contents (renamed from test/automated/data/package/newer-versions/archive-contents)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/newer-versions/new-pkg-1.0.el (renamed from test/automated/data/package/newer-versions/new-pkg-1.0.el)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/newer-versions/simple-single-1.4.el (renamed from test/automated/data/package/newer-versions/simple-single-1.4.el)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/package-test-server.py (renamed from test/automated/data/package/package-test-server.py)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/signed/archive-contents (renamed from test/automated/data/package/signed/archive-contents)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/signed/archive-contents.sig (renamed from test/automated/data/package/signed/archive-contents.sig)bin287 -> 287 bytes
-rw-r--r--test/lisp/emacs-lisp/package-resources/signed/signed-bad-1.0.el (renamed from test/automated/data/package/signed/signed-bad-1.0.el)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/signed/signed-bad-1.0.el.sig (renamed from test/automated/data/package/signed/signed-bad-1.0.el.sig)bin287 -> 287 bytes
-rw-r--r--test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el (renamed from test/automated/data/package/signed/signed-good-1.0.el)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el.sig (renamed from test/automated/data/package/signed/signed-good-1.0.el.sig)bin287 -> 287 bytes
-rw-r--r--test/lisp/emacs-lisp/package-resources/simple-depend-1.0.el (renamed from test/automated/data/package/simple-depend-1.0.el)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/simple-single-1.3.el (renamed from test/automated/data/package/simple-single-1.3.el)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/simple-single-readme.txt (renamed from test/automated/data/package/simple-single-readme.txt)0
-rw-r--r--test/lisp/emacs-lisp/package-resources/simple-two-depend-1.1.el (renamed from test/automated/data/package/simple-two-depend-1.1.el)0
-rw-r--r--test/lisp/emacs-lisp/package-tests.el (renamed from test/automated/package-test.el)23
-rw-r--r--test/lisp/emacs-lisp/pcase-tests.el (renamed from test/automated/pcase-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/regexp-opt-tests.el (renamed from test/automated/regexp-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/seq-tests.el (renamed from test/automated/seq-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/subr-x-tests.el (renamed from test/automated/subr-x-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/tabulated-list-test.el (renamed from test/automated/tabulated-list-test.el)0
-rw-r--r--test/lisp/emacs-lisp/thunk-tests.el (renamed from test/automated/thunk-tests.el)0
-rw-r--r--test/lisp/emacs-lisp/timer-tests.el (renamed from test/automated/timer-tests.el)0
-rw-r--r--test/lisp/epg-tests.el (renamed from test/automated/epg-tests.el)0
-rw-r--r--test/lisp/eshell/eshell.el (renamed from test/automated/eshell.el)0
-rw-r--r--test/lisp/faces-tests.el (renamed from test/automated/faces-tests.el)0
-rw-r--r--test/lisp/filenotify-tests.el (renamed from test/automated/file-notify-tests.el)584
-rw-r--r--test/lisp/gnus/auth-source-tests.el (renamed from test/automated/auth-source-tests.el)0
-rw-r--r--test/lisp/gnus/gnus-tests.el (renamed from test/automated/gnus-tests.el)0
-rw-r--r--test/lisp/gnus/message-tests.el (renamed from test/automated/message-mode-tests.el)0
-rw-r--r--test/lisp/help-fns-tests.el (renamed from test/automated/help-fns.el)0
-rw-r--r--test/lisp/htmlfontify-tests.el34
-rw-r--r--test/lisp/ibuffer-tests.el34
-rw-r--r--test/lisp/imenu-tests.el (renamed from test/automated/imenu-test.el)0
-rw-r--r--test/lisp/info-xref-tests.el (renamed from test/automated/info-xref.el)0
-rw-r--r--test/lisp/international/mule-util-tests.el (renamed from test/automated/mule-util.el)0
-rw-r--r--test/lisp/isearch-tests.el (renamed from test/automated/isearch-tests.el)0
-rw-r--r--test/lisp/json-tests.el (renamed from test/automated/json-tests.el)0
-rw-r--r--test/lisp/legacy/bytecomp-tests.el (renamed from test/automated/bytecomp-tests.el)0
-rw-r--r--test/lisp/legacy/coding-tests.el (renamed from test/automated/coding-tests.el)0
-rw-r--r--test/lisp/legacy/core-elisp-tests.el (renamed from test/automated/core-elisp-tests.el)0
-rw-r--r--test/lisp/legacy/decoder-tests.el (renamed from test/automated/decoder-tests.el)0
-rw-r--r--test/lisp/legacy/files-tests.el (renamed from test/automated/files.el)0
-rw-r--r--test/lisp/legacy/font-parse-tests.el (renamed from test/automated/font-parse-tests.el)0
-rw-r--r--test/lisp/legacy/lexbind-tests.el (renamed from test/automated/lexbind-tests.el)0
-rw-r--r--test/lisp/legacy/occur-tests.el (renamed from test/automated/occur-tests.el)0
-rw-r--r--test/lisp/legacy/process-tests.el (renamed from test/automated/process-tests.el)0
-rw-r--r--test/lisp/legacy/syntax-tests.el (renamed from test/automated/syntax-tests.el)0
-rw-r--r--test/lisp/legacy/textprop-tests.el (renamed from test/automated/textprop-tests.el)0
-rw-r--r--test/lisp/legacy/undo-tests.el (renamed from test/automated/undo-tests.el)0
-rw-r--r--test/lisp/mail/rmail-tests.el35
-rw-r--r--test/lisp/man-tests.el (renamed from test/automated/man-tests.el)0
-rw-r--r--test/lisp/minibuffer-tests.el (renamed from test/automated/completion-tests.el)0
-rw-r--r--test/lisp/net/dbus-tests.el (renamed from test/automated/dbus-tests.el)0
-rw-r--r--test/lisp/net/newsticker-tests.el (renamed from test/automated/newsticker-tests.el)0
-rw-r--r--test/lisp/net/sasl-scram-rfc-tests.el (renamed from test/automated/sasl-scram-rfc-tests.el)0
-rw-r--r--test/lisp/net/tramp-tests.el (renamed from test/automated/tramp-tests.el)0
-rw-r--r--test/lisp/obarray-tests.el (renamed from test/automated/obarray-tests.el)0
-rw-r--r--test/lisp/progmodes/compile-tests.el (renamed from test/automated/compile-tests.el)0
-rw-r--r--test/lisp/progmodes/elisp-mode-tests.el (renamed from test/automated/elisp-mode-tests.el)32
-rw-r--r--test/lisp/progmodes/f90.el (renamed from test/automated/f90.el)0
-rw-r--r--test/lisp/progmodes/flymake-resources/Makefile (renamed from test/automated/data/flymake/Makefile)0
-rw-r--r--test/lisp/progmodes/flymake-resources/test.c (renamed from test/automated/data/flymake/test.c)0
-rw-r--r--test/lisp/progmodes/flymake-resources/test.pl (renamed from test/automated/data/flymake/test.pl)0
-rw-r--r--test/lisp/progmodes/flymake-tests.el (renamed from test/automated/flymake-tests.el)2
-rw-r--r--test/lisp/progmodes/python-tests.el (renamed from test/automated/python-tests.el)0
-rw-r--r--test/lisp/progmodes/ruby-mode-tests.el (renamed from test/automated/ruby-mode-tests.el)0
-rw-r--r--test/lisp/progmodes/subword-tests.el (renamed from test/automated/subword-tests.el)0
-rw-r--r--test/lisp/ps-print-tests.el36
-rw-r--r--test/lisp/replace-tests.el (renamed from test/automated/replace-tests.el)0
-rw-r--r--test/lisp/simple-tests.el (renamed from test/automated/simple-test.el)0
-rw-r--r--test/lisp/sort-tests.el (renamed from test/automated/sort-tests.el)0
-rw-r--r--test/lisp/subr-tests.el (renamed from test/automated/subr-tests.el)0
-rw-r--r--test/lisp/textmodes/reftex-tests.el (renamed from test/automated/reftex-tests.el)15
-rw-r--r--test/lisp/textmodes/sgml-mode-tests.el (renamed from test/automated/sgml-mode-tests.el)0
-rw-r--r--test/lisp/textmodes/tildify-tests.el (renamed from test/automated/tildify-tests.el)0
-rw-r--r--test/lisp/thingatpt-tests.el (renamed from test/automated/thingatpt.el)0
-rw-r--r--test/lisp/url/url-future-tests.el (renamed from test/automated/url-future-tests.el)0
-rw-r--r--test/lisp/url/url-parse-tests.el167
-rw-r--r--test/lisp/url/url-util-tests.el (renamed from test/automated/url-util-tests.el)0
-rw-r--r--test/lisp/vc/add-log-tests.el (renamed from test/automated/add-log-tests.el)0
-rw-r--r--test/lisp/vc/vc-bzr-tests.el (renamed from test/automated/vc-bzr.el)0
-rw-r--r--test/lisp/vc/vc-tests.el (renamed from test/automated/vc-tests.el)0
-rw-r--r--test/lisp/xml-tests.el (renamed from test/automated/xml-parse-tests.el)0
-rw-r--r--test/make-test-deps.emacs-lisp98
-rw-r--r--test/manual/BidiCharacterTest.txt (renamed from test/BidiCharacterTest.txt)0
-rw-r--r--test/manual/biditest.el (renamed from test/biditest.el)0
-rw-r--r--test/manual/cedet/cedet-utests.el (renamed from test/cedet/cedet-utests.el)0
-rw-r--r--test/manual/cedet/ede-tests.el (renamed from test/cedet/ede-tests.el)0
-rw-r--r--test/manual/cedet/semantic-ia-utest.el (renamed from test/cedet/semantic-ia-utest.el)0
-rw-r--r--test/manual/cedet/semantic-tests.el (renamed from test/cedet/semantic-tests.el)0
-rw-r--r--test/manual/cedet/semantic-utest-c.el (renamed from test/cedet/semantic-utest-c.el)0
-rw-r--r--test/manual/cedet/semantic-utest.el (renamed from test/cedet/semantic-utest.el)0
-rw-r--r--test/manual/cedet/srecode-tests.el (renamed from test/cedet/srecode-tests.el)0
-rw-r--r--test/manual/cedet/tests/test.c (renamed from test/cedet/tests/test.c)0
-rw-r--r--test/manual/cedet/tests/test.el (renamed from test/cedet/tests/test.el)0
-rw-r--r--test/manual/cedet/tests/test.make (renamed from test/cedet/tests/test.make)0
-rw-r--r--test/manual/cedet/tests/testdoublens.cpp (renamed from test/cedet/tests/testdoublens.cpp)0
-rw-r--r--test/manual/cedet/tests/testdoublens.hpp (renamed from test/cedet/tests/testdoublens.hpp)0
-rw-r--r--test/manual/cedet/tests/testfriends.cpp (renamed from test/cedet/tests/testfriends.cpp)0
-rw-r--r--test/manual/cedet/tests/testjavacomp.java (renamed from test/cedet/tests/testjavacomp.java)0
-rw-r--r--test/manual/cedet/tests/testnsp.cpp (renamed from test/cedet/tests/testnsp.cpp)0
-rw-r--r--test/manual/cedet/tests/testpolymorph.cpp (renamed from test/cedet/tests/testpolymorph.cpp)0
-rw-r--r--test/manual/cedet/tests/testspp.c (renamed from test/cedet/tests/testspp.c)0
-rw-r--r--test/manual/cedet/tests/testsppcomplete.c (renamed from test/cedet/tests/testsppcomplete.c)0
-rw-r--r--test/manual/cedet/tests/testsppreplace.c (renamed from test/cedet/tests/testsppreplace.c)0
-rw-r--r--test/manual/cedet/tests/testsppreplaced.c (renamed from test/cedet/tests/testsppreplaced.c)0
-rw-r--r--test/manual/cedet/tests/testsubclass.cpp (renamed from test/cedet/tests/testsubclass.cpp)0
-rw-r--r--test/manual/cedet/tests/testsubclass.hh (renamed from test/cedet/tests/testsubclass.hh)0
-rw-r--r--test/manual/cedet/tests/testtypedefs.cpp (renamed from test/cedet/tests/testtypedefs.cpp)0
-rw-r--r--test/manual/cedet/tests/testvarnames.c (renamed from test/cedet/tests/testvarnames.c)0
-rw-r--r--test/manual/etags/CTAGS.good (renamed from test/etags/CTAGS.good)0
-rw-r--r--test/manual/etags/ETAGS.good_1 (renamed from test/etags/ETAGS.good_1)0
-rw-r--r--test/manual/etags/ETAGS.good_2 (renamed from test/etags/ETAGS.good_2)0
-rw-r--r--test/manual/etags/ETAGS.good_3 (renamed from test/etags/ETAGS.good_3)0
-rw-r--r--test/manual/etags/ETAGS.good_4 (renamed from test/etags/ETAGS.good_4)0
-rw-r--r--test/manual/etags/ETAGS.good_5 (renamed from test/etags/ETAGS.good_5)0
-rw-r--r--test/manual/etags/ETAGS.good_6 (renamed from test/etags/ETAGS.good_6)0
-rw-r--r--test/manual/etags/Makefile (renamed from test/etags/Makefile)4
-rw-r--r--test/manual/etags/a-src/empty.zz (renamed from test/etags/a-src/empty.zz)0
-rw-r--r--test/manual/etags/a-src/empty.zz.gz (renamed from test/etags/a-src/empty.zz.gz)0
-rw-r--r--test/manual/etags/ada-src/2ataspri.adb (renamed from test/etags/ada-src/2ataspri.adb)0
-rw-r--r--test/manual/etags/ada-src/2ataspri.ads (renamed from test/etags/ada-src/2ataspri.ads)0
-rw-r--r--test/manual/etags/ada-src/etags-test-for.ada (renamed from test/etags/ada-src/etags-test-for.ada)0
-rw-r--r--test/manual/etags/ada-src/waroquiers.ada (renamed from test/etags/ada-src/waroquiers.ada)0
-rw-r--r--test/manual/etags/c-src/a/b/b.c (renamed from test/etags/c-src/a/b/b.c)0
-rw-r--r--test/manual/etags/c-src/abbrev.c (renamed from test/etags/c-src/abbrev.c)0
-rw-r--r--test/manual/etags/c-src/c.c (renamed from test/etags/c-src/c.c)0
-rw-r--r--test/manual/etags/c-src/dostorture.c (renamed from test/etags/c-src/dostorture.c)0
-rw-r--r--test/manual/etags/c-src/emacs/src/gmalloc.c (renamed from test/etags/c-src/emacs/src/gmalloc.c)0
-rw-r--r--test/manual/etags/c-src/emacs/src/keyboard.c (renamed from test/etags/c-src/emacs/src/keyboard.c)0
-rw-r--r--test/manual/etags/c-src/emacs/src/lisp.h (renamed from test/etags/c-src/emacs/src/lisp.h)0
-rw-r--r--test/manual/etags/c-src/emacs/src/regex.h (renamed from test/etags/c-src/emacs/src/regex.h)0
-rw-r--r--test/manual/etags/c-src/etags.c (renamed from test/etags/c-src/etags.c)0
-rw-r--r--test/manual/etags/c-src/exit.c (renamed from test/etags/c-src/exit.c)0
-rw-r--r--test/manual/etags/c-src/exit.strange_suffix (renamed from test/etags/c-src/exit.strange_suffix)0
-rw-r--r--test/manual/etags/c-src/fail.c (renamed from test/etags/c-src/fail.c)0
-rw-r--r--test/manual/etags/c-src/getopt.h (renamed from test/etags/c-src/getopt.h)0
-rw-r--r--test/manual/etags/c-src/h.h (renamed from test/etags/c-src/h.h)0
-rw-r--r--test/manual/etags/c-src/machsyscalls.c (renamed from test/etags/c-src/machsyscalls.c)0
-rw-r--r--test/manual/etags/c-src/machsyscalls.h (renamed from test/etags/c-src/machsyscalls.h)0
-rw-r--r--test/manual/etags/c-src/sysdep.h (renamed from test/etags/c-src/sysdep.h)0
-rw-r--r--test/manual/etags/c-src/tab.c (renamed from test/etags/c-src/tab.c)0
-rw-r--r--test/manual/etags/c-src/torture.c (renamed from test/etags/c-src/torture.c)0
-rw-r--r--test/manual/etags/cp-src/MDiagArray2.h (renamed from test/etags/cp-src/MDiagArray2.h)0
-rw-r--r--test/manual/etags/cp-src/Range.h (renamed from test/etags/cp-src/Range.h)0
-rw-r--r--test/manual/etags/cp-src/burton.cpp (renamed from test/etags/cp-src/burton.cpp)0
-rw-r--r--test/manual/etags/cp-src/c.C (renamed from test/etags/cp-src/c.C)0
-rw-r--r--test/manual/etags/cp-src/clheir.cpp.gz (renamed from test/etags/cp-src/clheir.cpp.gz)bin408 -> 408 bytes
-rw-r--r--test/manual/etags/cp-src/clheir.hpp (renamed from test/etags/cp-src/clheir.hpp)0
-rw-r--r--test/manual/etags/cp-src/conway.cpp (renamed from test/etags/cp-src/conway.cpp)0
-rw-r--r--test/manual/etags/cp-src/conway.hpp (renamed from test/etags/cp-src/conway.hpp)0
-rw-r--r--test/manual/etags/cp-src/fail.C (renamed from test/etags/cp-src/fail.C)0
-rw-r--r--test/manual/etags/cp-src/functions.cpp (renamed from test/etags/cp-src/functions.cpp)0
-rw-r--r--test/manual/etags/cp-src/screen.cpp (renamed from test/etags/cp-src/screen.cpp)0
-rw-r--r--test/manual/etags/cp-src/screen.hpp (renamed from test/etags/cp-src/screen.hpp)0
-rw-r--r--test/manual/etags/cp-src/x.cc (renamed from test/etags/cp-src/x.cc)0
-rw-r--r--test/manual/etags/el-src/TAGTEST.EL (renamed from test/etags/el-src/TAGTEST.EL)0
-rw-r--r--test/manual/etags/el-src/emacs/lisp/progmodes/etags.el (renamed from test/etags/el-src/emacs/lisp/progmodes/etags.el)0
-rw-r--r--test/manual/etags/erl-src/gs_dialog.erl (renamed from test/etags/erl-src/gs_dialog.erl)0
-rw-r--r--test/manual/etags/f-src/entry.for (renamed from test/etags/f-src/entry.for)0
-rw-r--r--test/manual/etags/f-src/entry.strange.gz (renamed from test/etags/f-src/entry.strange.gz)bin3265 -> 3265 bytes
-rw-r--r--test/manual/etags/f-src/entry.strange_suffix (renamed from test/etags/f-src/entry.strange_suffix)0
-rw-r--r--test/manual/etags/forth-src/test-forth.fth (renamed from test/etags/forth-src/test-forth.fth)0
-rw-r--r--test/manual/etags/html-src/algrthms.html (renamed from test/etags/html-src/algrthms.html)0
-rw-r--r--test/manual/etags/html-src/index.shtml (renamed from test/etags/html-src/index.shtml)0
-rw-r--r--test/manual/etags/html-src/software.html (renamed from test/etags/html-src/software.html)0
-rw-r--r--test/manual/etags/html-src/softwarelibero.html (renamed from test/etags/html-src/softwarelibero.html)0
-rw-r--r--test/manual/etags/lua-src/allegro.lua (renamed from test/etags/lua-src/allegro.lua)0
-rw-r--r--test/manual/etags/make-src/Makefile (renamed from test/etags/make-src/Makefile)0
-rw-r--r--test/manual/etags/objc-src/PackInsp.h (renamed from test/etags/objc-src/PackInsp.h)0
-rw-r--r--test/manual/etags/objc-src/PackInsp.m (renamed from test/etags/objc-src/PackInsp.m)0
-rw-r--r--test/manual/etags/objc-src/Subprocess.h (renamed from test/etags/objc-src/Subprocess.h)0
-rw-r--r--test/manual/etags/objc-src/Subprocess.m (renamed from test/etags/objc-src/Subprocess.m)0
-rw-r--r--test/manual/etags/objcpp-src/SimpleCalc.H (renamed from test/etags/objcpp-src/SimpleCalc.H)0
-rw-r--r--test/manual/etags/objcpp-src/SimpleCalc.M (renamed from test/etags/objcpp-src/SimpleCalc.M)0
-rw-r--r--test/manual/etags/pas-src/common.pas (renamed from test/etags/pas-src/common.pas)0
-rw-r--r--test/manual/etags/perl-src/htlmify-cystic (renamed from test/etags/perl-src/htlmify-cystic)0
-rw-r--r--test/manual/etags/perl-src/kai-test.pl (renamed from test/etags/perl-src/kai-test.pl)0
-rw-r--r--test/manual/etags/perl-src/yagrip.pl (renamed from test/etags/perl-src/yagrip.pl)0
-rw-r--r--test/manual/etags/php-src/lce_functions.php (renamed from test/etags/php-src/lce_functions.php)0
-rw-r--r--test/manual/etags/php-src/ptest.php (renamed from test/etags/php-src/ptest.php)0
-rw-r--r--test/manual/etags/php-src/sendmail.php (renamed from test/etags/php-src/sendmail.php)0
-rw-r--r--test/manual/etags/prol-src/natded.prolog (renamed from test/etags/prol-src/natded.prolog)0
-rw-r--r--test/manual/etags/prol-src/ordsets.prolog (renamed from test/etags/prol-src/ordsets.prolog)0
-rw-r--r--test/manual/etags/ps-src/rfc1245.ps (renamed from test/etags/ps-src/rfc1245.ps)0
-rw-r--r--test/manual/etags/pyt-src/server.py (renamed from test/etags/pyt-src/server.py)0
-rw-r--r--test/manual/etags/tex-src/gzip.texi (renamed from test/etags/tex-src/gzip.texi)0
-rw-r--r--test/manual/etags/tex-src/nonewline.tex (renamed from test/etags/tex-src/nonewline.tex)0
-rw-r--r--test/manual/etags/tex-src/testenv.tex (renamed from test/etags/tex-src/testenv.tex)0
-rw-r--r--test/manual/etags/tex-src/texinfo.tex (renamed from test/etags/tex-src/texinfo.tex)0
-rw-r--r--test/manual/etags/y-src/atest.y (renamed from test/etags/y-src/atest.y)0
-rw-r--r--test/manual/etags/y-src/cccp.c (renamed from test/etags/y-src/cccp.c)0
-rw-r--r--test/manual/etags/y-src/cccp.y (renamed from test/etags/y-src/cccp.y)0
-rw-r--r--test/manual/etags/y-src/parse.c (renamed from test/etags/y-src/parse.c)0
-rw-r--r--test/manual/etags/y-src/parse.y (renamed from test/etags/y-src/parse.y)0
-rw-r--r--test/manual/indent/Makefile (renamed from test/indent/Makefile)0
-rw-r--r--test/manual/indent/css-mode.css (renamed from test/indent/css-mode.css)0
-rw-r--r--test/manual/indent/js-indent-init-dynamic.js (renamed from test/indent/js-indent-init-dynamic.js)0
-rw-r--r--test/manual/indent/js-indent-init-t.js (renamed from test/indent/js-indent-init-t.js)0
-rw-r--r--test/manual/indent/js-jsx.js (renamed from test/indent/js-jsx.js)0
-rw-r--r--test/manual/indent/js.js (renamed from test/indent/js.js)0
-rw-r--r--test/manual/indent/latex-mode.tex (renamed from test/indent/latex-mode.tex)0
-rw-r--r--test/manual/indent/modula2.mod (renamed from test/indent/modula2.mod)0
-rw-r--r--test/manual/indent/nxml.xml (renamed from test/indent/nxml.xml)0
-rw-r--r--test/manual/indent/octave.m (renamed from test/indent/octave.m)0
-rw-r--r--test/manual/indent/pascal.pas (renamed from test/indent/pascal.pas)0
-rwxr-xr-xtest/manual/indent/perl.perl (renamed from test/indent/perl.perl)0
-rw-r--r--test/manual/indent/prolog.prolog (renamed from test/indent/prolog.prolog)0
-rw-r--r--test/manual/indent/ps-mode.ps (renamed from test/indent/ps-mode.ps)0
-rw-r--r--test/manual/indent/ruby.rb (renamed from test/indent/ruby.rb)0
-rw-r--r--test/manual/indent/scheme.scm (renamed from test/indent/scheme.scm)0
-rw-r--r--test/manual/indent/scss-mode.scss (renamed from test/indent/scss-mode.scss)0
-rw-r--r--test/manual/indent/sgml-mode-attribute.html (renamed from test/indent/sgml-mode-attribute.html)0
-rwxr-xr-xtest/manual/indent/shell.rc (renamed from test/indent/shell.rc)0
-rwxr-xr-xtest/manual/indent/shell.sh (renamed from test/indent/shell.sh)0
-rw-r--r--test/manual/redisplay-testsuite.el (renamed from test/redisplay-testsuite.el)0
-rw-r--r--test/manual/rmailmm.el (renamed from test/rmailmm.el)0
-rw-r--r--test/src/alloc-tests.el (renamed from test/automated/finalizer-tests.el)2
-rw-r--r--test/src/buffer-tests.el (renamed from test/automated/buffer-tests.el)0
-rw-r--r--test/src/cmds-tests.el (renamed from test/automated/cmds-tests.el)0
-rw-r--r--test/src/data-tests.el (renamed from test/automated/data-tests.el)0
-rw-r--r--test/src/decompress-tests.el (renamed from test/automated/zlib-tests.el)6
-rw-r--r--test/src/fns-tests.el (renamed from test/automated/fns-tests.el)0
-rw-r--r--test/src/inotify-tests.el (renamed from test/automated/inotify-test.el)0
-rw-r--r--test/src/keymap-tests.el (renamed from test/automated/keymap-tests.el)0
-rw-r--r--test/src/print-tests.el (renamed from test/automated/print-tests.el)0
-rw-r--r--test/src/xml-tests.el (renamed from test/automated/libxml-tests.el)0
258 files changed, 1015 insertions, 227 deletions
diff --git a/test/automated/Makefile.in b/test/Makefile.in
index 41f54f8aa69..1e76675ac76 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=
@@ -87,7 +87,7 @@ WRITE_LOG = > $@ 2>&1 || { stat=ERROR; cat $@; }; echo $$stat: $@
## to change this; bug#17848 - if that gets done, this can be simplified).
##
## Beware: it approximates 'no-byte-compile', so watch out for false-positives!
-%.log: ${srcdir}/%.el
+%.log: %.el
@if grep '^;.*no-byte-compile: t' $< > /dev/null; then \
loadfile=$<; \
else \
@@ -96,12 +96,18 @@ WRITE_LOG = > $@ 2>&1 || { stat=ERROR; cat $@; }; echo $$stat: $@
fi; \
echo Testing $$loadfile; \
stat=OK ; \
+ mkdir --parents $(dir $@) ; \
$(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 = $(shell find ${srcdir} -path "${srcdir}/manual" -prune -o \
+ -path "*resources" -prune -o -name "*el" -print)
+## .elc files may be in a different directory for out of source builds
+ELCFILES = $(patsubst %.el,%.elc, \
+ $(patsubst $(srcdir)%,.%,$(ELFILES)))
+LOGFILES = $(patsubst %.elc,%.log,${ELCFILES})
+LOGSAVEFILES = $(patsubst %.elc,%.log~,${ELCFILES})
+TESTS = $(subst ${srcdir}/,,$(LOGFILES:.log=))
## If we have to interrupt a hanging test, preserve the log so we can
## see what the problem was.
@@ -110,18 +116,27 @@ TESTS = ${LOGFILES:.log=}
.PHONY: ${TESTS}
## The short aliases that always re-run the tests, with no logging.
+## Define an alias both with and without the directory name for ease
+## of use.
define test_template
$(1):
- @test ! -f $(1).log || mv $(1).log $(1).log~
- @${MAKE} $(1).log WRITE_LOG=
+ @test ! -f ./$(1).log || mv ./$(1).log ./$(1).log~
+ @${MAKE} ./$(1).log WRITE_LOG=
+
+$(notdir $(1)): $(1)
endef
$(foreach test,${TESTS},$(eval $(call test_template,${test})))
+## Include dependencies between test files and the files they test.
+## We do this without the file and eval directly, but then we would
+## have to run Emacs for every make invocation, and it might not be
+## available during clean.
+-include make-test-deps.mk
## Re-run all the tests every time.
check:
- -@for f in *.log; do test ! -f $$f || mv $$f $$f~; done
+ -@for f in $(LOGFILES); do test ! -f $$f || mv $$f $$f~; done
@${MAKE} check-maybe
## Only re-run tests whose .log is older than the test.
@@ -132,14 +147,19 @@ check-maybe: ${LOGFILES}
.PHONY: mostlyclean clean bootstrap-clean distclean maintainer-clean
clean mostlyclean:
- -rm -f *.log *.log~
+ -rm -f ${LOGFILES} ${LOGSAVEFILES}
+ -rm make-test-deps.mk
bootstrap-clean: clean
- -rm -f ${srcdir}/*.elc
+ -rm -f ${ELCFILES}
distclean: clean
rm -f Makefile
maintainer-clean: distclean bootstrap-clean
+make-test-deps.mk: $(ELFILES) make-test-deps.emacs-lisp
+ $(EMACS) --batch -l $(srcdir)/make-test-deps.emacs-lisp \
+ --eval "(make-test-deps \"$(srcdir)\")" \
+ 2> $@
# Makefile ends here.
diff --git a/test/automated/data/decompress/foo.gz b/test/data/decompress/foo.gz
index a68653fcbb9..a68653fcbb9 100644
--- a/test/automated/data/decompress/foo.gz
+++ b/test/data/decompress/foo.gz
Binary files differ
diff --git a/test/automated/data/epg/pubkey.asc b/test/data/epg/pubkey.asc
index c0bf28f6200..c0bf28f6200 100644
--- a/test/automated/data/epg/pubkey.asc
+++ b/test/data/epg/pubkey.asc
diff --git a/test/automated/data/epg/seckey.asc b/test/data/epg/seckey.asc
index 4ac7ba4a502..4ac7ba4a502 100644
--- a/test/automated/data/epg/seckey.asc
+++ b/test/data/epg/seckey.asc
diff --git a/test/automated/data/files-bug18141.el.gz b/test/data/files-bug18141.el.gz
index 53d463e85b5..53d463e85b5 100644
--- a/test/automated/data/files-bug18141.el.gz
+++ b/test/data/files-bug18141.el.gz
Binary files differ
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
index 6163e0b2c39..37917ec5353 100644
--- a/test/automated/abbrev-tests.el
+++ b/test/lisp/abbrev-tests.el
@@ -1,4 +1,4 @@
-;;; abbrev-tests.el --- Test suite for abbrevs.
+;;; abbrev-tests.el --- Test suite for abbrevs -*- lexical-binding: t; -*-
;; Copyright (C) 2015 Free Software Foundation, Inc.
@@ -38,6 +38,36 @@
(abbrev-table-put ert-test-abbrevs :ert-test "ert-test-value")
ert-test-abbrevs)
+(ert-deftest abbrev-table-p-test ()
+ (should-not (abbrev-table-p 42))
+ (should-not (abbrev-table-p "aoeu"))
+ (should-not (abbrev-table-p '()))
+ (should-not (abbrev-table-p []))
+ ;; Missing :abbrev-table-modiff counter:
+ (should-not (abbrev-table-p (obarray-make)))
+ (let* ((table (obarray-make)))
+ (abbrev-table-put table :abbrev-table-modiff 42)
+ (should (abbrev-table-p table))))
+
+(ert-deftest abbrev-make-abbrev-table-test ()
+ ;; Table without properties:
+ (let ((table (make-abbrev-table)))
+ (should (abbrev-table-p table))
+ (should (= (length table) obarray-default-size)))
+ ;; Table with one property 'foo with value 'bar:
+ (let ((table (make-abbrev-table '(foo bar))))
+ (should (abbrev-table-p table))
+ (should (= (length table) obarray-default-size))
+ (should (eq (abbrev-table-get table 'foo) 'bar))))
+
+(ert-deftest abbrev-table-get-put-test ()
+ (let ((table (make-abbrev-table)))
+ (should-not (abbrev-table-get table 'foo))
+ (should (= (abbrev-table-put table 'foo 42) 42))
+ (should (= (abbrev-table-get table 'foo) 42))
+ (should (eq (abbrev-table-put table 'foo 'bar) 'bar))
+ (should (eq (abbrev-table-get table 'foo) 'bar))))
+
(ert-deftest copy-abbrev-table-test ()
(defvar foo-abbrev-table nil) ; Avoid compiler warning
(define-abbrev-table 'foo-abbrev-table
@@ -94,5 +124,4 @@
(should (equal t (abbrev-table-empty-p ert-test-abbrevs)))))
(provide 'abbrev-tests)
-
;;; abbrev-tests.el ends here
diff --git a/test/automated/auto-revert-tests.el b/test/lisp/autorevert-tests.el
index e03ed8cb687..043f80de49e 100644
--- a/test/automated/auto-revert-tests.el
+++ b/test/lisp/autorevert-tests.el
@@ -138,7 +138,7 @@
;; Strange, that `copy-directory' does not work as expected.
;; The following shell command is not portable on all
;; platforms, unfortunately.
- (shell-command (format "%s -f %s/* %s" cp tmpdir2 tmpdir1))
+ (shell-command (format "%s %s/* %s" cp tmpdir2 tmpdir1))
;; Check, that the buffers have been reverted.
(dolist (buf (list buf1 buf2))
diff --git a/test/automated/calc-tests.el b/test/lisp/calc/calc-tests.el
index d5252ea62a9..d5252ea62a9 100644
--- a/test/automated/calc-tests.el
+++ b/test/lisp/calc/calc-tests.el
diff --git a/test/automated/icalendar-tests.el b/test/lisp/calendar/icalendar-tests.el
index 829cbf2d765..829cbf2d765 100644
--- a/test/automated/icalendar-tests.el
+++ b/test/lisp/calendar/icalendar-tests.el
diff --git a/test/automated/character-fold-tests.el b/test/lisp/character-fold-tests.el
index c0568625649..c0568625649 100644
--- a/test/automated/character-fold-tests.el
+++ b/test/lisp/character-fold-tests.el
diff --git a/test/automated/comint-testsuite.el b/test/lisp/comint-tests.el
index 53f0a0dac0d..53f0a0dac0d 100644
--- a/test/automated/comint-testsuite.el
+++ b/test/lisp/comint-tests.el
diff --git a/test/automated/descr-text-test.el b/test/lisp/descr-text-tests.el
index 81ae727f076..81ae727f076 100644
--- a/test/automated/descr-text-test.el
+++ b/test/lisp/descr-text-tests.el
diff --git a/test/lisp/dired-tests.el b/test/lisp/dired-tests.el
new file mode 100644
index 00000000000..ff6c88f80e7
--- /dev/null
+++ b/test/lisp/dired-tests.el
@@ -0,0 +1,35 @@
+;;; dired-tests.el --- Test suite. -*- lexical-binding: t -*-
+
+;; Copyright (C) 2015 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+(require 'ert)
+(require 'dired)
+
+
+(ert-deftest dired-autoload ()
+ "Tests to see whether dired-x has been autoloaded"
+ (should
+ (fboundp 'dired-jump))
+ (should
+ (autoloadp
+ (symbol-function
+ 'dired-jump))))
+
+(provide 'dired-tests)
+;; dired-tests.el ends here
diff --git a/test/automated/electric-tests.el b/test/lisp/electric-tests.el
index b675989c072..b675989c072 100644
--- a/test/automated/electric-tests.el
+++ b/test/lisp/electric-tests.el
diff --git a/test/automated/cl-generic-tests.el b/test/lisp/emacs-lisp/cl-generic-tests.el
index 2703b44dee5..2703b44dee5 100644
--- a/test/automated/cl-generic-tests.el
+++ b/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
index e2429b7de37..e2429b7de37 100644
--- a/test/automated/cl-lib-tests.el
+++ b/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
index 557f031d181..557f031d181 100644
--- a/test/automated/eieio-test-methodinvoke.el
+++ b/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
index 9b21b730385..9b21b730385 100644
--- a/test/automated/eieio-test-persist.el
+++ b/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
index 915532b299c..3a181be5071 100644
--- a/test/automated/eieio-tests.el
+++ b/test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
@@ -895,6 +895,12 @@ Subclasses to override slot attributes.")
(ert-deftest eieio-test-37-obsolete-name-in-constructor ()
(should (equal (eieio--testing "toto") '("toto" 2))))
+(ert-deftest eieio-autoload ()
+ "Tests to see whether reftex-auc has been autoloaded"
+ (should
+ (fboundp 'eieio--defalias)))
+
+
(provide 'eieio-tests)
;;; eieio-tests.el ends here
diff --git a/test/automated/ert-tests.el b/test/lisp/emacs-lisp/ert-tests.el
index 5382c400962..5382c400962 100644
--- a/test/automated/ert-tests.el
+++ b/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
index 660a1cb218e..660a1cb218e 100644
--- a/test/automated/ert-x-tests.el
+++ b/test/lisp/emacs-lisp/ert-x-tests.el
diff --git a/test/automated/generator-tests.el b/test/lisp/emacs-lisp/generator-tests.el
index 96a68d1b9c1..96a68d1b9c1 100644
--- a/test/automated/generator-tests.el
+++ b/test/lisp/emacs-lisp/generator-tests.el
diff --git a/test/automated/let-alist.el b/test/lisp/emacs-lisp/let-alist-tests.el
index 65727dc3af5..65727dc3af5 100644
--- a/test/automated/let-alist.el
+++ b/test/lisp/emacs-lisp/let-alist-tests.el
diff --git a/test/automated/map-tests.el b/test/lisp/emacs-lisp/map-tests.el
index 2a7fcc39d41..2a7fcc39d41 100644
--- a/test/automated/map-tests.el
+++ b/test/lisp/emacs-lisp/map-tests.el
diff --git a/test/automated/advice-tests.el b/test/lisp/emacs-lisp/nadvice-tests.el
index e1d125de4af..e1d125de4af 100644
--- a/test/automated/advice-tests.el
+++ b/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
index e2f92304f86..e2f92304f86 100644
--- a/test/automated/data/package/archive-contents
+++ b/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
index a326d34e54f..a326d34e54f 100644
--- a/test/automated/data/package/key.pub
+++ b/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
index d21e6ae9a45..d21e6ae9a45 100644
--- a/test/automated/data/package/key.sec
+++ b/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
index 2f1c5e93df1..2f1c5e93df1 100644
--- a/test/automated/data/package/multi-file-0.2.3.tar
+++ b/test/lisp/emacs-lisp/package-resources/multi-file-0.2.3.tar
Binary files differ
diff --git a/test/automated/data/package/multi-file-readme.txt b/test/lisp/emacs-lisp/package-resources/multi-file-readme.txt
index affd2e96fb0..affd2e96fb0 100644
--- a/test/automated/data/package/multi-file-readme.txt
+++ b/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
index add5f2909d0..add5f2909d0 100644
--- a/test/automated/data/package/newer-versions/archive-contents
+++ b/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
index 7251622fa59..7251622fa59 100644
--- 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
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
index 7b1c00c06db..7b1c00c06db 100644
--- 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
diff --git a/test/automated/data/package/package-test-server.py b/test/lisp/emacs-lisp/package-resources/package-test-server.py
index 35ca820f31f..35ca820f31f 100644
--- a/test/automated/data/package/package-test-server.py
+++ b/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
index 2a773ecba6a..2a773ecba6a 100644
--- a/test/automated/data/package/signed/archive-contents
+++ b/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
index 658edd3f60e..658edd3f60e 100644
--- a/test/automated/data/package/signed/archive-contents.sig
+++ b/test/lisp/emacs-lisp/package-resources/signed/archive-contents.sig
Binary files differ
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
index 3734823876e..3734823876e 100644
--- a/test/automated/data/package/signed/signed-bad-1.0.el
+++ b/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
index 747918794ca..747918794ca 100644
--- 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
Binary files differ
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
index 22718df2763..22718df2763 100644
--- a/test/automated/data/package/signed/signed-good-1.0.el
+++ b/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
index 747918794ca..747918794ca 100644
--- 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
Binary files differ
diff --git a/test/automated/data/package/simple-depend-1.0.el b/test/lisp/emacs-lisp/package-resources/simple-depend-1.0.el
index b58b658d024..b58b658d024 100644
--- a/test/automated/data/package/simple-depend-1.0.el
+++ b/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
index 6756a28080b..6756a28080b 100644
--- a/test/automated/data/package/simple-single-1.3.el
+++ b/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
index 25d3034032b..25d3034032b 100644
--- a/test/automated/data/package/simple-single-readme.txt
+++ b/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
index 9cfe5c0d4e2..9cfe5c0d4e2 100644
--- a/test/automated/data/package/simple-two-depend-1.1.el
+++ b/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
index 8401d1879ae..7206084f324 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))
@@ -283,7 +283,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)))
@@ -299,7 +299,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
@@ -350,7 +350,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)
@@ -470,7 +470,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)
@@ -522,7 +522,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)
@@ -546,7 +546,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)
@@ -613,6 +613,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
index 701bcccc0e6..701bcccc0e6 100644
--- a/test/automated/pcase-tests.el
+++ b/test/lisp/emacs-lisp/pcase-tests.el
diff --git a/test/automated/regexp-tests.el b/test/lisp/emacs-lisp/regexp-opt-tests.el
index ee177b3e2e9..ee177b3e2e9 100644
--- a/test/automated/regexp-tests.el
+++ b/test/lisp/emacs-lisp/regexp-opt-tests.el
diff --git a/test/automated/seq-tests.el b/test/lisp/emacs-lisp/seq-tests.el
index 5d936828fbb..5d936828fbb 100644
--- a/test/automated/seq-tests.el
+++ b/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
index bdd3dffe02a..bdd3dffe02a 100644
--- a/test/automated/subr-x-tests.el
+++ b/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
index 9aa62ee59e5..9aa62ee59e5 100644
--- a/test/automated/tabulated-list-test.el
+++ b/test/lisp/emacs-lisp/tabulated-list-test.el
diff --git a/test/automated/thunk-tests.el b/test/lisp/emacs-lisp/thunk-tests.el
index 7abbd299ead..7abbd299ead 100644
--- a/test/automated/thunk-tests.el
+++ b/test/lisp/emacs-lisp/thunk-tests.el
diff --git a/test/automated/timer-tests.el b/test/lisp/emacs-lisp/timer-tests.el
index b006b398a81..b006b398a81 100644
--- a/test/automated/timer-tests.el
+++ b/test/lisp/emacs-lisp/timer-tests.el
diff --git a/test/automated/epg-tests.el b/test/lisp/epg-tests.el
index a958d82bd03..a958d82bd03 100644
--- a/test/automated/epg-tests.el
+++ b/test/lisp/epg-tests.el
diff --git a/test/automated/eshell.el b/test/lisp/eshell/eshell.el
index 81898db79a7..81898db79a7 100644
--- a/test/automated/eshell.el
+++ b/test/lisp/eshell/eshell.el
diff --git a/test/automated/faces-tests.el b/test/lisp/faces-tests.el
index ff9dfc53fbe..ff9dfc53fbe 100644
--- a/test/automated/faces-tests.el
+++ b/test/lisp/faces-tests.el
diff --git a/test/automated/file-notify-tests.el b/test/lisp/filenotify-tests.el
index 67e929a6477..d6322c22c0e 100644
--- a/test/automated/file-notify-tests.el
+++ b/test/lisp/filenotify-tests.el
@@ -61,11 +61,14 @@
(defvar file-notify--test-results nil)
(defvar file-notify--test-event nil)
(defvar file-notify--test-events nil)
-(defvar file-notify--test-expected-events nil)
(defun file-notify--test-timeout ()
"Timeout to wait for arriving events, in seconds."
- (if (file-remote-p temporary-file-directory) 6 3))
+ (cond
+ ((file-remote-p temporary-file-directory) 6)
+ ((string-equal (file-notify--test-library) "w32notify") 20)
+ ((eq system-type 'cygwin) 10)
+ (t 3)))
(defun file-notify--test-cleanup ()
"Cleanup after a test."
@@ -89,8 +92,7 @@
file-notify--test-tmpfile1 nil
file-notify--test-desc nil
file-notify--test-results nil
- file-notify--test-events nil
- file-notify--test-expected-events nil)
+ file-notify--test-events nil)
(when file-notify--test-event
(error "file-notify--test-event should not be set but bound dynamically")))
@@ -133,6 +135,18 @@ being the result.")
;; Return result.
(cdr file-notify--test-remote-enabled-checked))
+(defun file-notify--test-library ()
+ "The used libray for the test, as string.
+In the remote case, it is the process name which runs on the
+remote host, or nil."
+ (if (null (file-remote-p temporary-file-directory))
+ (symbol-name file-notify--library)
+ (and (consp file-notify--test-remote-enabled-checked)
+ (processp (cdr file-notify--test-remote-enabled-checked))
+ (replace-regexp-in-string
+ "<[[:digit:]]+>\\'" ""
+ (process-name (cdr file-notify--test-remote-enabled-checked))))))
+
(defmacro file-notify--deftest-remote (test docstring)
"Define ert `TEST-remote' for remote files."
(declare (indent 1))
@@ -150,12 +164,7 @@ being the result.")
"Test availability of `file-notify'."
(skip-unless (file-notify--test-local-enabled))
;; Report the native library which has been used.
- (if (null (file-remote-p temporary-file-directory))
- (message "Local library: `%s'" file-notify--library)
- (message "Remote command: `%s'"
- (replace-regexp-in-string
- "<[[:digit:]]+>\\'" ""
- (process-name (cdr file-notify--test-remote-enabled-checked)))))
+ (message "Library: `%s'" (file-notify--test-library))
(should
(setq file-notify--test-desc
(file-notify-add-watch temporary-file-directory '(change) 'ignore)))
@@ -189,12 +198,13 @@ being the result.")
(file-notify-add-watch
temporary-file-directory '(change attribute-change) 'ignore)))
(file-notify-rm-watch file-notify--test-desc)
- ;; The file does not need to exist, just the upper directory.
+ (write-region "any text" nil file-notify--test-tmpfile nil 'no-message)
(should
(setq file-notify--test-desc
(file-notify-add-watch
file-notify--test-tmpfile '(change attribute-change) 'ignore)))
(file-notify-rm-watch file-notify--test-desc)
+ (delete-file file-notify--test-tmpfile)
;; Check error handling.
(should-error (file-notify-add-watch 1 2 3 4)
@@ -235,16 +245,17 @@ is bound somewhere."
(should
(or (string-equal (file-notify--event-file-name file-notify--test-event)
file-notify--test-tmpfile)
- (string-equal (directory-file-name
- (file-name-directory
- (file-notify--event-file-name file-notify--test-event)))
- file-notify--test-tmpfile)))
+ (string-equal (file-notify--event-file-name file-notify--test-event)
+ file-notify--test-tmpfile1)
+ (string-equal (file-notify--event-file-name file-notify--test-event)
+ temporary-file-directory)))
;; Check the second file name if exists.
(when (eq (nth 1 file-notify--test-event) 'renamed)
(should
- (string-equal
- (file-notify--event-file1-name file-notify--test-event)
- file-notify--test-tmpfile1))))
+ (or (string-equal (file-notify--event-file1-name file-notify--test-event)
+ file-notify--test-tmpfile1)
+ (string-equal (file-notify--event-file1-name file-notify--test-event)
+ temporary-file-directory)))))
(defun file-notify--test-event-handler (event)
"Run a test over FILE-NOTIFY--TEST-EVENT.
@@ -253,7 +264,7 @@ and the event to `file-notify--test-events'."
(let* ((file-notify--test-event event)
(result
(ert-run-test (make-ert-test :body 'file-notify--test-event-test))))
- ;; Do not add temporary files, this would confuse the checks.
+ ;; Do not add lock files, this would confuse the checks.
(unless (string-match
(regexp-quote ".#")
(file-notify--event-file-name file-notify--test-event))
@@ -277,137 +288,246 @@ TIMEOUT is the maximum time to wait for, in seconds."
(defmacro file-notify--test-with-events (events &rest body)
"Run BODY collecting events and then compare with EVENTS.
-Don't wait longer than timeout seconds for the events to be delivered."
+EVENTS is either a simple list of events, or a list of lists of
+events, which represent different possible results. Don't wait
+longer than timeout seconds for the events to be delivered."
(declare (indent 1))
(let ((outer (make-symbol "outer")))
- `(let ((,outer file-notify--test-events))
- (setq file-notify--test-expected-events
- (append file-notify--test-expected-events ,events))
+ `(let* ((,outer file-notify--test-events)
+ (events (if (consp (car ,events)) ,events (list ,events)))
+ (max-length (apply 'max (mapcar 'length events)))
+ create-lockfiles result)
+ ;; Flush pending events.
+ (file-notify--wait-for-events
+ (file-notify--test-timeout)
+ (input-pending-p))
(let (file-notify--test-events)
,@body
(file-notify--wait-for-events
- (file-notify--test-timeout)
- (= (length ,events) (length file-notify--test-events)))
- (should (equal ,events (mapcar #'cadr file-notify--test-events)))
+ ;; More events need more time. Use some fudge factor.
+ (* (ceiling max-length 100) (file-notify--test-timeout))
+ (= max-length (length file-notify--test-events)))
+ ;; One of the possible results shall match.
+ (should
+ (dolist (elt events result)
+ (setq result
+ (or result
+ (equal elt (mapcar #'cadr file-notify--test-events))))))
(setq ,outer (append ,outer file-notify--test-events)))
(setq file-notify--test-events ,outer))))
(ert-deftest file-notify-test02-events ()
"Check file creation/change/removal notifications."
(skip-unless (file-notify--test-local-enabled))
- ;; Under cygwin there are so bad timings that it doesn't make sense to test.
- (skip-unless (not (eq system-type 'cygwin)))
-
- (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
- file-notify--test-tmpfile1 (file-notify--test-make-temp-name))
(unwind-protect
(progn
- ;; Check creation, change and deletion.
- (setq file-notify--test-desc
- (file-notify-add-watch
- file-notify--test-tmpfile
- '(change) 'file-notify--test-event-handler))
- (file-notify--test-with-events '(created changed deleted)
+ ;; Check file creation, change and deletion. It doesn't work
+ ;; for cygwin and kqueue, because we don't use an implicit
+ ;; directory monitor (kqueue), or the timings are too bad (cygwin).
+ (unless (or (eq system-type 'cygwin)
+ (string-equal (file-notify--test-library) "kqueue"))
+ (setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
+ (should
+ (setq file-notify--test-desc
+ (file-notify-add-watch
+ file-notify--test-tmpfile
+ '(change) 'file-notify--test-event-handler)))
+ (file-notify--test-with-events
+ (cond
+ ;; cygwin recognizes only `deleted' and `stopped' events.
+ ((eq system-type 'cygwin)
+ '(deleted stopped))
+ (t '(created changed deleted stopped)))
+ (write-region
+ "another text" nil file-notify--test-tmpfile nil 'no-message)
+ (read-event nil nil 0.1)
+ (delete-file file-notify--test-tmpfile))
+ ;; `file-notify-rm-watch' fires the `stopped' event. Suppress it.
+ (let (file-notify--test-events)
+ (file-notify-rm-watch file-notify--test-desc)))
+
+ ;; Check file change and deletion.
+ (setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
+ (write-region "any text" nil file-notify--test-tmpfile nil 'no-message)
+ (should
+ (setq file-notify--test-desc
+ (file-notify-add-watch
+ file-notify--test-tmpfile
+ '(change) 'file-notify--test-event-handler)))
+ (file-notify--test-with-events
+ (cond
+ ;; cygwin recognizes only `deleted' and `stopped' events.
+ ((eq system-type 'cygwin)
+ '(deleted stopped))
+ ;; inotify and kqueue raise just one `changed' event.
+ ((or (string-equal "inotify" (file-notify--test-library))
+ (string-equal "kqueue" (file-notify--test-library)))
+ '(changed deleted stopped))
+ ;; gfilenotify raises one or two `changed' events
+ ;; randomly, no chance to test. So we accept both cases.
+ ((string-equal "gfilenotify" (file-notify--test-library))
+ '((changed deleted stopped)
+ (changed changed deleted stopped)))
+ (t '(changed changed deleted stopped)))
+ (read-event nil nil 0.1)
(write-region
- "any text" nil file-notify--test-tmpfile nil 'no-message)
+ "another text" nil file-notify--test-tmpfile nil 'no-message)
+ (read-event nil nil 0.1)
(delete-file file-notify--test-tmpfile))
;; `file-notify-rm-watch' fires the `stopped' event. Suppress it.
(let (file-notify--test-events)
(file-notify-rm-watch file-notify--test-desc))
- ;; Check creation, change and deletion. There must be a
- ;; `stopped' event when deleting the directory. It doesn't
- ;; work for w32notify.
- (unless (eq file-notify--library 'w32notify)
- (make-directory file-notify--test-tmpfile)
- (setq file-notify--test-desc
- (file-notify-add-watch
- file-notify--test-tmpfile
- '(change) 'file-notify--test-event-handler))
+ ;; Check file creation, change and deletion when watching a
+ ;; directory. There must be a `stopped' event when deleting
+ ;; the directory.
+ (let ((temporary-file-directory
+ (make-temp-file "file-notify-test-parent" t)))
+ (should
+ (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
+ file-notify--test-desc
+ (file-notify-add-watch
+ temporary-file-directory
+ '(change) 'file-notify--test-event-handler)))
(file-notify--test-with-events
- ;; There are two `deleted' events, for the file and for
- ;; the directory.
- '(created changed deleted deleted stopped)
+ (cond
+ ;; w32notify does raise a `stopped' event when a
+ ;; watched directory is deleted.
+ ((string-equal (file-notify--test-library) "w32notify")
+ '(created changed deleted))
+ ;; cygwin recognizes only `deleted' and `stopped' events.
+ ((eq system-type 'cygwin)
+ '(deleted stopped))
+ ;; There are two `deleted' events, for the file and for
+ ;; the directory. Except for kqueue.
+ ((string-equal (file-notify--test-library) "kqueue")
+ '(created changed deleted stopped))
+ (t '(created changed deleted deleted stopped)))
+ (read-event nil nil 0.1)
(write-region
- "any text" nil (expand-file-name "foo" file-notify--test-tmpfile)
- nil 'no-message)
- (delete-directory file-notify--test-tmpfile 'recursive))
+ "any text" nil file-notify--test-tmpfile nil 'no-message)
+ (read-event nil nil 0.1)
+ (delete-directory temporary-file-directory 'recursive))
;; `file-notify-rm-watch' fires the `stopped' event. Suppress it.
(let (file-notify--test-events)
(file-notify-rm-watch file-notify--test-desc)))
- ;; Check copy.
- (setq file-notify--test-desc
- (file-notify-add-watch
- file-notify--test-tmpfile
- '(change) 'file-notify--test-event-handler))
- (should file-notify--test-desc)
- (file-notify--test-with-events
- ;; w32notify does not distinguish between `changed' and
- ;; `attribute-changed'.
- (if (eq file-notify--library 'w32notify)
- '(created changed changed deleted)
- '(created changed deleted))
- (write-region
- "any text" nil file-notify--test-tmpfile nil 'no-message)
- (copy-file file-notify--test-tmpfile file-notify--test-tmpfile1)
- ;; The next two events shall not be visible.
- (set-file-modes file-notify--test-tmpfile 000)
- (read-event nil nil 0.1) ; In order to distinguish the events.
- (set-file-times file-notify--test-tmpfile '(0 0))
- (delete-file file-notify--test-tmpfile)
- (delete-file file-notify--test-tmpfile1))
- ;; `file-notify-rm-watch' fires the `stopped' event. Suppress it.
- (let (file-notify--test-events)
- (file-notify-rm-watch file-notify--test-desc))
+ ;; Check copy of files inside a directory.
+ (let ((temporary-file-directory
+ (make-temp-file "file-notify-test-parent" t)))
+ (should
+ (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
+ file-notify--test-tmpfile1 (file-notify--test-make-temp-name)
+ file-notify--test-desc
+ (file-notify-add-watch
+ temporary-file-directory
+ '(change) 'file-notify--test-event-handler)))
+ (file-notify--test-with-events
+ (cond
+ ;; w32notify does not distinguish between `changed' and
+ ;; `attribute-changed'.
+ ((string-equal (file-notify--test-library) "w32notify")
+ '(created changed created changed changed changed changed
+ deleted deleted))
+ ;; cygwin recognizes only `deleted' and `stopped' events.
+ ((eq system-type 'cygwin)
+ '(deleted stopped))
+ ;; There are three `deleted' events, for two files and
+ ;; for the directory. Except for kqueue.
+ ((string-equal (file-notify--test-library) "kqueue")
+ '(created changed created changed deleted stopped))
+ (t '(created changed created changed
+ deleted deleted deleted stopped)))
+ (read-event nil nil 0.1)
+ (write-region
+ "any text" nil file-notify--test-tmpfile nil 'no-message)
+ (read-event nil nil 0.1)
+ (copy-file file-notify--test-tmpfile file-notify--test-tmpfile1)
+ ;; The next two events shall not be visible.
+ (read-event nil nil 0.1)
+ (set-file-modes file-notify--test-tmpfile 000)
+ (read-event nil nil 0.1)
+ (set-file-times file-notify--test-tmpfile '(0 0))
+ (read-event nil nil 0.1)
+ (delete-directory temporary-file-directory 'recursive))
+ ;; `file-notify-rm-watch' fires the `stopped' event. Suppress it.
+ (let (file-notify--test-events)
+ (file-notify-rm-watch file-notify--test-desc)))
- ;; Check rename.
- (setq file-notify--test-desc
- (file-notify-add-watch
- file-notify--test-tmpfile
- '(change) 'file-notify--test-event-handler))
- (should file-notify--test-desc)
- (file-notify--test-with-events '(created changed renamed)
- (write-region
- "any text" nil file-notify--test-tmpfile nil 'no-message)
- (rename-file file-notify--test-tmpfile file-notify--test-tmpfile1)
- ;; After the rename, we won't get events anymore.
- (delete-file file-notify--test-tmpfile1))
- ;; `file-notify-rm-watch' fires the `stopped' event. Suppress it.
- (let (file-notify--test-events)
- (file-notify-rm-watch file-notify--test-desc))
+ ;; Check rename of files inside a directory.
+ (let ((temporary-file-directory
+ (make-temp-file "file-notify-test-parent" t)))
+ (should
+ (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
+ file-notify--test-tmpfile1 (file-notify--test-make-temp-name)
+ file-notify--test-desc
+ (file-notify-add-watch
+ temporary-file-directory
+ '(change) 'file-notify--test-event-handler)))
+ (file-notify--test-with-events
+ (cond
+ ;; w32notify does not distinguish between `changed' and
+ ;; `attribute-changed'.
+ ((string-equal (file-notify--test-library) "w32notify")
+ '(created changed renamed deleted))
+ ;; cygwin recognizes only `deleted' and `stopped' events.
+ ((eq system-type 'cygwin)
+ '(deleted stopped))
+ ;; There are two `deleted' events, for the file and for
+ ;; the directory. Except for kqueue.
+ ((string-equal (file-notify--test-library) "kqueue")
+ '(created changed renamed deleted stopped))
+ (t '(created changed renamed deleted deleted stopped)))
+ (read-event nil nil 0.1)
+ (write-region
+ "any text" nil file-notify--test-tmpfile nil 'no-message)
+ (read-event nil nil 0.1)
+ (rename-file file-notify--test-tmpfile file-notify--test-tmpfile1)
+ ;; After the rename, we won't get events anymore.
+ (read-event nil nil 0.1)
+ (delete-directory temporary-file-directory 'recursive))
+ ;; `file-notify-rm-watch' fires the `stopped' event. Suppress it.
+ (let (file-notify--test-events)
+ (file-notify-rm-watch file-notify--test-desc)))
- ;; Check attribute change. It doesn't work for w32notify.
- (unless (eq file-notify--library 'w32notify)
- (setq file-notify--test-desc
- (file-notify-add-watch
- file-notify--test-tmpfile
- '(attribute-change) 'file-notify--test-event-handler))
- (file-notify--test-with-events
- (if (file-remote-p temporary-file-directory)
- ;; In the remote case, `write-region' raises also an
- ;; `attribute-changed' event.
- '(attribute-changed attribute-changed attribute-changed)
- '(attribute-changed attribute-changed))
- ;; We must use short delays between the operations.
- ;; Otherwise, not all events arrive us in the remote case.
- (write-region
- "any text" nil file-notify--test-tmpfile nil 'no-message)
- (read-event nil nil 0.1)
- (set-file-modes file-notify--test-tmpfile 000)
- (read-event nil nil 0.1)
- (set-file-times file-notify--test-tmpfile '(0 0))
- (read-event nil nil 0.1)
- (delete-file file-notify--test-tmpfile))
+ ;; Check attribute change. Does not work for cygwin.
+ (unless (eq system-type 'cygwin)
+ (setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
+ (write-region
+ "any text" nil file-notify--test-tmpfile nil 'no-message)
+ (should
+ (setq file-notify--test-desc
+ (file-notify-add-watch
+ file-notify--test-tmpfile
+ '(attribute-change) 'file-notify--test-event-handler)))
+ (file-notify--test-with-events
+ (cond
+ ;; w32notify does not distinguish between `changed' and
+ ;; `attribute-changed'.
+ ((string-equal (file-notify--test-library) "w32notify")
+ '(changed changed changed changed))
+ ;; For kqueue and in the remote case, `write-region'
+ ;; raises also an `attribute-changed' event.
+ ((or (string-equal (file-notify--test-library) "kqueue")
+ (file-remote-p temporary-file-directory))
+ '(attribute-changed attribute-changed attribute-changed))
+ (t '(attribute-changed attribute-changed)))
+ (read-event nil nil 0.1)
+ (write-region
+ "any text" nil file-notify--test-tmpfile nil 'no-message)
+ (read-event nil nil 0.1)
+ (set-file-modes file-notify--test-tmpfile 000)
+ (read-event nil nil 0.1)
+ (set-file-times file-notify--test-tmpfile '(0 0))
+ (read-event nil nil 0.1)
+ (delete-file file-notify--test-tmpfile))
;; `file-notify-rm-watch' fires the `stopped' event. Suppress it.
(let (file-notify--test-events)
(file-notify-rm-watch file-notify--test-desc)))
;; Check the global sequence again just to make sure that
;; `file-notify--test-events' has been set correctly.
- (should (equal (mapcar #'cadr file-notify--test-events)
- file-notify--test-expected-events))
(should file-notify--test-results)
(dolist (result file-notify--test-results)
(when (ert-test-failed-p result)
@@ -475,28 +595,31 @@ Don't wait longer than timeout seconds for the events to be delivered."
(should (string-match "another text" (buffer-string)))
;; Stop file notification. Autorevert shall still work via polling.
- (file-notify-rm-watch auto-revert-notify-watch-descriptor)
- (file-notify--wait-for-events
- timeout (null auto-revert-use-notify))
- (should-not auto-revert-use-notify)
- (should-not auto-revert-notify-watch-descriptor)
-
- ;; Modify file. We wait for two seconds, in order to have
- ;; another timestamp. One second seems to be too short.
- (with-current-buffer (get-buffer-create "*Messages*")
- (narrow-to-region (point-max) (point-max)))
- (sleep-for 2)
- (write-region
- "foo bla" nil file-notify--test-tmpfile nil 'no-message)
-
- ;; Check, that the buffer has been reverted.
- (with-current-buffer (get-buffer-create "*Messages*")
+ ;; It doesn't work for `w32notify'.
+ (unless (string-equal (file-notify--test-library) "w32notify")
+ (file-notify-rm-watch auto-revert-notify-watch-descriptor)
(file-notify--wait-for-events
- timeout
- (string-match
- (format-message "Reverting buffer `%s'." (buffer-name buf))
- (buffer-string))))
- (should (string-match "foo bla" (buffer-string)))))
+ timeout (null auto-revert-use-notify))
+ (should-not auto-revert-use-notify)
+ (should-not auto-revert-notify-watch-descriptor)
+
+ ;; Modify file. We wait for two seconds, in order to
+ ;; have another timestamp. One second seems to be too
+ ;; short.
+ (with-current-buffer (get-buffer-create "*Messages*")
+ (narrow-to-region (point-max) (point-max)))
+ (sleep-for 2)
+ (write-region
+ "foo bla" nil file-notify--test-tmpfile nil 'no-message)
+
+ ;; Check, that the buffer has been reverted.
+ (with-current-buffer (get-buffer-create "*Messages*")
+ (file-notify--wait-for-events
+ timeout
+ (string-match
+ (format-message "Reverting buffer `%s'." (buffer-name buf))
+ (buffer-string))))
+ (should (string-match "foo bla" (buffer-string))))))
;; Cleanup.
(with-current-buffer "*Messages*" (widen))
@@ -509,51 +632,94 @@ Don't wait longer than timeout seconds for the events to be delivered."
(ert-deftest file-notify-test04-file-validity ()
"Check `file-notify-valid-p' for files."
(skip-unless (file-notify--test-local-enabled))
- ;; Under cygwin there are so bad timings that it doesn't make sense to test.
- (skip-unless (not (eq system-type 'cygwin)))
(unwind-protect
(progn
- (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
- file-notify--test-desc
- (file-notify-add-watch
- file-notify--test-tmpfile
- '(change) #'file-notify--test-event-handler))
- (file-notify--test-with-events '(created changed deleted)
+ (setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
+ (write-region "any text" nil file-notify--test-tmpfile nil 'no-message)
+ (should
+ (setq file-notify--test-desc
+ (file-notify-add-watch
+ file-notify--test-tmpfile
+ '(change) #'file-notify--test-event-handler)))
+ (should (file-notify-valid-p file-notify--test-desc))
+ ;; After calling `file-notify-rm-watch', the descriptor is not
+ ;; valid anymore.
+ (file-notify-rm-watch file-notify--test-desc)
+ (should-not (file-notify-valid-p file-notify--test-desc))
+ (delete-file file-notify--test-tmpfile))
+
+ ;; Cleanup.
+ (file-notify--test-cleanup))
+
+ (unwind-protect
+ (progn
+ (setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
+ (write-region "any text" nil file-notify--test-tmpfile nil 'no-message)
+ (should
+ (setq file-notify--test-desc
+ (file-notify-add-watch
+ file-notify--test-tmpfile
+ '(change) #'file-notify--test-event-handler)))
+ (file-notify--test-with-events
+ (cond
+ ;; cygwin recognizes only `deleted' and `stopped' events.
+ ((eq system-type 'cygwin)
+ '(deleted stopped))
+ ;; inotify and kqueue raise just one `changed' event.
+ ((or (string-equal "inotify" (file-notify--test-library))
+ (string-equal "kqueue" (file-notify--test-library)))
+ '(changed deleted stopped))
+ ;; gfilenotify raises one or two `changed' events
+ ;; randomly, no chance to test. So we accept both cases.
+ ((string-equal "gfilenotify" (file-notify--test-library))
+ '((changed deleted stopped)
+ (changed changed deleted stopped)))
+ (t '(changed changed deleted stopped)))
(should (file-notify-valid-p file-notify--test-desc))
+ (read-event nil nil 0.1)
(write-region
- "any text" nil file-notify--test-tmpfile nil 'no-message)
+ "another text" nil file-notify--test-tmpfile nil 'no-message)
+ (read-event nil nil 0.1)
(delete-file file-notify--test-tmpfile))
- ;; After deleting the file, the descriptor is still valid.
- (should (file-notify-valid-p file-notify--test-desc))
- ;; After removing the watch, the descriptor must not be valid
- ;; anymore.
- (file-notify-rm-watch file-notify--test-desc)
- (should-not (file-notify-valid-p file-notify--test-desc)))
+ ;; After deleting the file, the descriptor is not valid anymore.
+ (should-not (file-notify-valid-p file-notify--test-desc))
+ (file-notify-rm-watch file-notify--test-desc))
;; Cleanup.
(file-notify--test-cleanup))
(unwind-protect
- ;; The batch-mode operation of w32notify is fragile (there's no
- ;; input threads to send the message to).
- ;(unless (and noninteractive (eq file-notify--library 'w32notify))
- (unless (eq file-notify--library 'w32notify)
- (let ((temporary-file-directory
+ ;; w32notify does not send a `stopped' event when deleting a
+ ;; directory. The test does not work, therefore.
+ (unless (string-equal (file-notify--test-library) "w32notify")
+ (let ((temporary-file-directory
(make-temp-file "file-notify-test-parent" t)))
- (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
- file-notify--test-desc
- (file-notify-add-watch
- file-notify--test-tmpfile
- '(change) #'file-notify--test-event-handler))
- (file-notify--test-with-events '(created changed deleted stopped)
- (should (file-notify-valid-p file-notify--test-desc))
- (write-region
- "any text" nil file-notify--test-tmpfile nil 'no-message)
+ (should
+ (setq file-notify--test-tmpfile (file-notify--test-make-temp-name)
+ file-notify--test-desc
+ (file-notify-add-watch
+ temporary-file-directory
+ '(change) #'file-notify--test-event-handler)))
+ (file-notify--test-with-events
+ (cond
+ ;; cygwin recognizes only `deleted' and `stopped' events.
+ ((eq system-type 'cygwin)
+ '(deleted stopped))
+ ;; There are two `deleted' events, for the file and for
+ ;; the directory. Except for kqueue.
+ ((string-equal (file-notify--test-library) "kqueue")
+ '(created changed deleted stopped))
+ (t '(created changed deleted deleted stopped)))
+ (should (file-notify-valid-p file-notify--test-desc))
+ (read-event nil nil 0.1)
+ (write-region
+ "any text" nil file-notify--test-tmpfile nil 'no-message)
+ (read-event nil nil 0.1)
(delete-directory temporary-file-directory t))
- ;; After deleting the parent directory, the descriptor must
- ;; not be valid anymore.
- (should-not (file-notify-valid-p file-notify--test-desc))))
+ ;; After deleting the parent directory, the descriptor must
+ ;; not be valid anymore.
+ (should-not (file-notify-valid-p file-notify--test-desc))))
;; Cleanup.
(file-notify--test-cleanup)))
@@ -570,10 +736,11 @@ Don't wait longer than timeout seconds for the events to be delivered."
(setq file-notify--test-tmpfile
(file-name-as-directory (file-notify--test-make-temp-name)))
(make-directory file-notify--test-tmpfile)
- (setq file-notify--test-desc
- (file-notify-add-watch
- file-notify--test-tmpfile
- '(change) #'file-notify--test-event-handler))
+ (should
+ (setq file-notify--test-desc
+ (file-notify-add-watch
+ file-notify--test-tmpfile
+ '(change) #'file-notify--test-event-handler)))
(should (file-notify-valid-p file-notify--test-desc))
;; After removing the watch, the descriptor must not be valid
;; anymore.
@@ -589,20 +756,22 @@ Don't wait longer than timeout seconds for the events to be delivered."
(unwind-protect
;; The batch-mode operation of w32notify is fragile (there's no
;; input threads to send the message to).
- (unless (and noninteractive (eq file-notify--library 'w32notify))
+ (unless (and noninteractive
+ (string-equal (file-notify--test-library) "w32notify"))
(setq file-notify--test-tmpfile
(file-name-as-directory (file-notify--test-make-temp-name)))
(make-directory file-notify--test-tmpfile)
- (setq file-notify--test-desc
- (file-notify-add-watch
- file-notify--test-tmpfile
- '(change) #'file-notify--test-event-handler))
+ (should
+ (setq file-notify--test-desc
+ (file-notify-add-watch
+ file-notify--test-tmpfile
+ '(change) #'file-notify--test-event-handler)))
(should (file-notify-valid-p file-notify--test-desc))
;; After deleting the directory, the descriptor must not be
;; valid anymore.
(delete-directory file-notify--test-tmpfile t)
(file-notify--wait-for-events
- (file-notify--test-timeout)
+ (file-notify--test-timeout)
(not (file-notify-valid-p file-notify--test-desc)))
(should-not (file-notify-valid-p file-notify--test-desc)))
@@ -612,6 +781,61 @@ Don't wait longer than timeout seconds for the events to be delivered."
(file-notify--deftest-remote file-notify-test05-dir-validity
"Check `file-notify-valid-p' via file notification for remote directories.")
+(ert-deftest file-notify-test06-many-events ()
+ "Check that events are not dropped."
+ (skip-unless (file-notify--test-local-enabled))
+ ;; Under cygwin events arrive in random order. Impossible to define a test.
+ (skip-unless (not (eq system-type 'cygwin)))
+
+ (setq file-notify--test-tmpfile (file-notify--test-make-temp-name))
+ (make-directory file-notify--test-tmpfile)
+ (should
+ (setq file-notify--test-desc
+ (file-notify-add-watch
+ file-notify--test-tmpfile
+ '(change) 'file-notify--test-event-handler)))
+ (unwind-protect
+ (let ((n 1000)
+ source-file-list target-file-list
+ (default-directory file-notify--test-tmpfile))
+ (dotimes (i n)
+ ;; It matters which direction we rename, at least for
+ ;; kqueue. This backend parses directories in alphabetic
+ ;; order (x%d before y%d). So we rename both directions.
+ (if (zerop (mod i 2))
+ (progn
+ (push (expand-file-name (format "x%d" i)) source-file-list)
+ (push (expand-file-name (format "y%d" i)) target-file-list))
+ (push (expand-file-name (format "y%d" i)) source-file-list)
+ (push (expand-file-name (format "x%d" i)) target-file-list)))
+ (file-notify--test-with-events (make-list (+ n n) 'created)
+ (let ((source-file-list source-file-list)
+ (target-file-list target-file-list))
+ (while (and source-file-list target-file-list)
+ (read-event nil nil 0.1)
+ (write-region "" nil (pop source-file-list) nil 'no-message)
+ (read-event nil nil 0.1)
+ (write-region "" nil (pop target-file-list) nil 'no-message))))
+ (file-notify--test-with-events
+ (cond
+ ;; w32notify fires both `deleted' and `renamed' events.
+ ((string-equal (file-notify--test-library) "w32notify")
+ (let (r)
+ (dotimes (_i n r)
+ (setq r (append '(deleted renamed) r)))))
+ (t (make-list n 'renamed)))
+ (let ((source-file-list source-file-list)
+ (target-file-list target-file-list))
+ (while (and source-file-list target-file-list)
+ (rename-file (pop source-file-list) (pop target-file-list) t))))
+ (file-notify--test-with-events (make-list n 'deleted)
+ (dolist (file target-file-list)
+ (delete-file file))))
+ (file-notify--test-cleanup)))
+
+(file-notify--deftest-remote file-notify-test06-many-events
+ "Check that events are not dropped for remote directories.")
+
(defun file-notify-test-all (&optional interactive)
"Run all tests for \\[file-notify]."
(interactive "p")
@@ -622,7 +846,7 @@ Don't wait longer than timeout seconds for the events to be delivered."
;; TODO:
;; * For w32notify, no stopped events arrive when a directory is removed.
-;; * Try to handle arriving events under cygwin reliably.
+;; * Check, why cygwin recognizes only `deleted' and `stopped' events.
(provide 'file-notify-tests)
;;; file-notify-tests.el ends here
diff --git a/test/automated/auth-source-tests.el b/test/lisp/gnus/auth-source-tests.el
index dd70d546d5c..dd70d546d5c 100644
--- a/test/automated/auth-source-tests.el
+++ b/test/lisp/gnus/auth-source-tests.el
diff --git a/test/automated/gnus-tests.el b/test/lisp/gnus/gnus-tests.el
index ef785ec9a0b..ef785ec9a0b 100644
--- a/test/automated/gnus-tests.el
+++ b/test/lisp/gnus/gnus-tests.el
diff --git a/test/automated/message-mode-tests.el b/test/lisp/gnus/message-tests.el
index 790b5c15125..790b5c15125 100644
--- a/test/automated/message-mode-tests.el
+++ b/test/lisp/gnus/message-tests.el
diff --git a/test/automated/help-fns.el b/test/lisp/help-fns-tests.el
index 79e90f7819c..79e90f7819c 100644
--- a/test/automated/help-fns.el
+++ b/test/lisp/help-fns-tests.el
diff --git a/test/lisp/htmlfontify-tests.el b/test/lisp/htmlfontify-tests.el
new file mode 100644
index 00000000000..a5a92fa8fac
--- /dev/null
+++ b/test/lisp/htmlfontify-tests.el
@@ -0,0 +1,34 @@
+;;; htmlfontify-tests.el --- Test suite. -*- lexical-binding: t -*-
+
+;; Copyright (C) 2015 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+(require 'ert)
+(require 'htmlfontify)
+
+(ert-deftest htmlfontify-autoload ()
+ "Tests to see whether reftex-auc has been autoloaded"
+ (should
+ (fboundp 'htmlfontify-load-rgb-file))
+ (should
+ (autoloadp
+ (symbol-function
+ 'htmlfontify-load-rgb-file))))
+
+(provide 'htmlfontify-tests)
+;; htmlfontify-tests.el ends here
diff --git a/test/lisp/ibuffer-tests.el b/test/lisp/ibuffer-tests.el
new file mode 100644
index 00000000000..c813e717c9f
--- /dev/null
+++ b/test/lisp/ibuffer-tests.el
@@ -0,0 +1,34 @@
+;;; ibuffer-tests.el --- Test suite. -*- lexical-binding: t -*-
+
+;; Copyright (C) 2015 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+(require 'ert)
+(require 'ibuffer)
+
+(ert-deftest ibuffer-autoload ()
+ "Tests to see whether reftex-auc has been autoloaded"
+ (should
+ (fboundp 'ibuffer-mark-unsaved-buffers))
+ (should
+ (autoloadp
+ (symbol-function
+ 'ibuffer-mark-unsaved-buffers))))
+
+(provide 'ibuffer-tests)
+;; ibuffer-tests.el ends here
diff --git a/test/automated/imenu-test.el b/test/lisp/imenu-tests.el
index 984e620bb18..984e620bb18 100644
--- a/test/automated/imenu-test.el
+++ b/test/lisp/imenu-tests.el
diff --git a/test/automated/info-xref.el b/test/lisp/info-xref-tests.el
index 67f963beb00..67f963beb00 100644
--- a/test/automated/info-xref.el
+++ b/test/lisp/info-xref-tests.el
diff --git a/test/automated/mule-util.el b/test/lisp/international/mule-util-tests.el
index 24b56c0969b..24b56c0969b 100644
--- a/test/automated/mule-util.el
+++ b/test/lisp/international/mule-util-tests.el
diff --git a/test/automated/isearch-tests.el b/test/lisp/isearch-tests.el
index d60c229c8f7..d60c229c8f7 100644
--- a/test/automated/isearch-tests.el
+++ b/test/lisp/isearch-tests.el
diff --git a/test/automated/json-tests.el b/test/lisp/json-tests.el
index bb043dc4e05..bb043dc4e05 100644
--- a/test/automated/json-tests.el
+++ b/test/lisp/json-tests.el
diff --git a/test/automated/bytecomp-tests.el b/test/lisp/legacy/bytecomp-tests.el
index c65009cb1b0..c65009cb1b0 100644
--- a/test/automated/bytecomp-tests.el
+++ b/test/lisp/legacy/bytecomp-tests.el
diff --git a/test/automated/coding-tests.el b/test/lisp/legacy/coding-tests.el
index cda382fff97..cda382fff97 100644
--- a/test/automated/coding-tests.el
+++ b/test/lisp/legacy/coding-tests.el
diff --git a/test/automated/core-elisp-tests.el b/test/lisp/legacy/core-elisp-tests.el
index c31ecef4a32..c31ecef4a32 100644
--- a/test/automated/core-elisp-tests.el
+++ b/test/lisp/legacy/core-elisp-tests.el
diff --git a/test/automated/decoder-tests.el b/test/lisp/legacy/decoder-tests.el
index 80ff5205ac5..80ff5205ac5 100644
--- a/test/automated/decoder-tests.el
+++ b/test/lisp/legacy/decoder-tests.el
diff --git a/test/automated/files.el b/test/lisp/legacy/files-tests.el
index 0522e0c5c79..0522e0c5c79 100644
--- a/test/automated/files.el
+++ b/test/lisp/legacy/files-tests.el
diff --git a/test/automated/font-parse-tests.el b/test/lisp/legacy/font-parse-tests.el
index e2c51e6bfde..e2c51e6bfde 100644
--- a/test/automated/font-parse-tests.el
+++ b/test/lisp/legacy/font-parse-tests.el
diff --git a/test/automated/lexbind-tests.el b/test/lisp/legacy/lexbind-tests.el
index dd60cd6db41..dd60cd6db41 100644
--- a/test/automated/lexbind-tests.el
+++ b/test/lisp/legacy/lexbind-tests.el
diff --git a/test/automated/occur-tests.el b/test/lisp/legacy/occur-tests.el
index 1699cd007e5..1699cd007e5 100644
--- a/test/automated/occur-tests.el
+++ b/test/lisp/legacy/occur-tests.el
diff --git a/test/automated/process-tests.el b/test/lisp/legacy/process-tests.el
index ee9e4f35891..ee9e4f35891 100644
--- a/test/automated/process-tests.el
+++ b/test/lisp/legacy/process-tests.el
diff --git a/test/automated/syntax-tests.el b/test/lisp/legacy/syntax-tests.el
index b884c3ef5b8..b884c3ef5b8 100644
--- a/test/automated/syntax-tests.el
+++ b/test/lisp/legacy/syntax-tests.el
diff --git a/test/automated/textprop-tests.el b/test/lisp/legacy/textprop-tests.el
index 0baa911421b..0baa911421b 100644
--- a/test/automated/textprop-tests.el
+++ b/test/lisp/legacy/textprop-tests.el
diff --git a/test/automated/undo-tests.el b/test/lisp/legacy/undo-tests.el
index f462b269337..f462b269337 100644
--- a/test/automated/undo-tests.el
+++ b/test/lisp/legacy/undo-tests.el
diff --git a/test/lisp/mail/rmail-tests.el b/test/lisp/mail/rmail-tests.el
new file mode 100644
index 00000000000..ed481d05b8a
--- /dev/null
+++ b/test/lisp/mail/rmail-tests.el
@@ -0,0 +1,35 @@
+;;; rmail-tests.el --- Test suite. -*- lexical-binding: t -*-
+
+;; Copyright (C) 2015 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Code:
+(require 'ert)
+(require 'rmail)
+
+
+(ert-deftest rmail-autoload ()
+ "Tests to see whether reftex-auc has been autoloaded"
+ (should
+ (fboundp 'rmail-edit-current-message))
+ (should
+ (autoloadp
+ (symbol-function
+ 'rmail-edit-current-message))))
+
+(provide 'rmail-tests)
+;; rmail-tests.el ends here
diff --git a/test/automated/man-tests.el b/test/lisp/man-tests.el
index adfeff8e7e3..adfeff8e7e3 100644
--- a/test/automated/man-tests.el
+++ b/test/lisp/man-tests.el
diff --git a/test/automated/completion-tests.el b/test/lisp/minibuffer-tests.el
index 69e7b76fa30..69e7b76fa30 100644
--- a/test/automated/completion-tests.el
+++ b/test/lisp/minibuffer-tests.el
diff --git a/test/automated/dbus-tests.el b/test/lisp/net/dbus-tests.el
index 9465c859505..9465c859505 100644
--- a/test/automated/dbus-tests.el
+++ b/test/lisp/net/dbus-tests.el
diff --git a/test/automated/newsticker-tests.el b/test/lisp/net/newsticker-tests.el
index 1e51b9eb693..1e51b9eb693 100644
--- a/test/automated/newsticker-tests.el
+++ b/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
index 46b139b21a7..46b139b21a7 100644
--- a/test/automated/sasl-scram-rfc-tests.el
+++ b/test/lisp/net/sasl-scram-rfc-tests.el
diff --git a/test/automated/tramp-tests.el b/test/lisp/net/tramp-tests.el
index 23171d6e983..23171d6e983 100644
--- a/test/automated/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
diff --git a/test/automated/obarray-tests.el b/test/lisp/obarray-tests.el
index 4cc61b6903f..4cc61b6903f 100644
--- a/test/automated/obarray-tests.el
+++ b/test/lisp/obarray-tests.el
diff --git a/test/automated/compile-tests.el b/test/lisp/progmodes/compile-tests.el
index 0974a78e073..0974a78e073 100644
--- a/test/automated/compile-tests.el
+++ b/test/lisp/progmodes/compile-tests.el
diff --git a/test/automated/elisp-mode-tests.el b/test/lisp/progmodes/elisp-mode-tests.el
index b44e549e884..2d0452f69d7 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
index e429b21c092..e429b21c092 100644
--- a/test/automated/f90.el
+++ b/test/lisp/progmodes/f90.el
diff --git a/test/automated/data/flymake/Makefile b/test/lisp/progmodes/flymake-resources/Makefile
index 0f3f39791c8..0f3f39791c8 100644
--- a/test/automated/data/flymake/Makefile
+++ b/test/lisp/progmodes/flymake-resources/Makefile
diff --git a/test/automated/data/flymake/test.c b/test/lisp/progmodes/flymake-resources/test.c
index 3a3926131f5..3a3926131f5 100644
--- a/test/automated/data/flymake/test.c
+++ b/test/lisp/progmodes/flymake-resources/test.c
diff --git a/test/automated/data/flymake/test.pl b/test/lisp/progmodes/flymake-resources/test.pl
index d5abcb47e7f..d5abcb47e7f 100644
--- a/test/automated/data/flymake/test.pl
+++ b/test/lisp/progmodes/flymake-resources/test.pl
diff --git a/test/automated/flymake-tests.el b/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
index 9da6807c144..9da6807c144 100644
--- a/test/automated/python-tests.el
+++ b/test/lisp/progmodes/python-tests.el
diff --git a/test/automated/ruby-mode-tests.el b/test/lisp/progmodes/ruby-mode-tests.el
index 065aa56a4d5..065aa56a4d5 100644
--- a/test/automated/ruby-mode-tests.el
+++ b/test/lisp/progmodes/ruby-mode-tests.el
diff --git a/test/automated/subword-tests.el b/test/lisp/progmodes/subword-tests.el
index bedb1523999..bedb1523999 100644
--- a/test/automated/subword-tests.el
+++ b/test/lisp/progmodes/subword-tests.el
diff --git a/test/lisp/ps-print-tests.el b/test/lisp/ps-print-tests.el
new file mode 100644
index 00000000000..67c3fbb67c4
--- /dev/null
+++ b/test/lisp/ps-print-tests.el
@@ -0,0 +1,36 @@
+;;; ps-print-tests.el --- Test suite for ps-print.el -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2015 Free Software Foundation, Inc.
+
+;; Author: Phillip Lord <phillip.lord@russet.org.uk>
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;;; Code:
+(require 'ps-print)
+(require 'ert)
+
+;;; Autoload tests
+(ert-deftest ps-mule-autoload ()
+ "Tests to see whether ps-mule has been autoloaded"
+ (should
+ (fboundp 'ps-mule-initialize))
+ (should
+ (autoloadp
+ (symbol-function
+ 'ps-mule-initialize))))
diff --git a/test/automated/replace-tests.el b/test/lisp/replace-tests.el
index f4e474bcafd..f4e474bcafd 100644
--- a/test/automated/replace-tests.el
+++ b/test/lisp/replace-tests.el
diff --git a/test/automated/simple-test.el b/test/lisp/simple-tests.el
index 771241ad7ef..771241ad7ef 100644
--- a/test/automated/simple-test.el
+++ b/test/lisp/simple-tests.el
diff --git a/test/automated/sort-tests.el b/test/lisp/sort-tests.el
index 22acb83e26a..22acb83e26a 100644
--- a/test/automated/sort-tests.el
+++ b/test/lisp/sort-tests.el
diff --git a/test/automated/subr-tests.el b/test/lisp/subr-tests.el
index 3fcb7d346a3..3fcb7d346a3 100644
--- a/test/automated/subr-tests.el
+++ b/test/lisp/subr-tests.el
diff --git a/test/automated/reftex-tests.el b/test/lisp/textmodes/reftex-tests.el
index 962e39ff38e..a7af58f74c0 100644
--- a/test/automated/reftex-tests.el
+++ b/test/lisp/textmodes/reftex-tests.el
@@ -204,5 +204,20 @@
(should (string= (reftex-format-citation entry "%l:%A:%y:%t %j %P %a")
"Foo13:Jane Roe:2013:Some Article Some Journal 1 Jane Roe, John Doe \\& Jane Taxpayer"))))
+
+;;; Autoload tests
+
+;; Test to check whether reftex autoloading mechanisms are working
+;; correctly.
+(ert-deftest reftex-autoload-auc ()
+ "Tests to see whether reftex-auc has been autoloaded"
+ (should
+ (fboundp 'reftex-arg-label))
+ (should
+ (autoloadp
+ (symbol-function
+ 'reftex-arg-label))))
+
+
(provide 'reftex-tests)
;;; reftex-tests.el ends here.
diff --git a/test/automated/sgml-mode-tests.el b/test/lisp/textmodes/sgml-mode-tests.el
index eeb5c7d60ae..eeb5c7d60ae 100644
--- a/test/automated/sgml-mode-tests.el
+++ b/test/lisp/textmodes/sgml-mode-tests.el
diff --git a/test/automated/tildify-tests.el b/test/lisp/textmodes/tildify-tests.el
index 788abe7f731..788abe7f731 100644
--- a/test/automated/tildify-tests.el
+++ b/test/lisp/textmodes/tildify-tests.el
diff --git a/test/automated/thingatpt.el b/test/lisp/thingatpt-tests.el
index 12312388143..12312388143 100644
--- a/test/automated/thingatpt.el
+++ b/test/lisp/thingatpt-tests.el
diff --git a/test/automated/url-future-tests.el b/test/lisp/url/url-future-tests.el
index 66ce7d632f3..66ce7d632f3 100644
--- a/test/automated/url-future-tests.el
+++ b/test/lisp/url/url-future-tests.el
diff --git a/test/lisp/url/url-parse-tests.el b/test/lisp/url/url-parse-tests.el
new file mode 100644
index 00000000000..154e0917a43
--- /dev/null
+++ b/test/lisp/url/url-parse-tests.el
@@ -0,0 +1,167 @@
+;;; url-parse-tests.el --- Test suite for URI/URL parsing.
+
+;; Copyright (C) 2012-2015 Free Software Foundation, Inc.
+
+;; Author: Alain Schneble <a.s@realize.ch>
+;; Version: 1.0
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; Test cases covering generic URI syntax as described in RFC3986,
+;; section 3. Syntax Components and 4. Usage. See also appendix
+;; A. Collected ABNF for URI, as the example given here are all
+;; productions of this grammar.
+
+;; Each tests parses a given URI string - whether relative or absolute -
+;; using `url-generic-parse-url' and compares the constructed
+;; URL-struct (Actual) against a manually `url-parse-make-urlobj'-
+;; constructed URL-struct (Expected).
+
+;;; Code:
+
+(require 'url-parse)
+(require 'ert)
+
+(ert-deftest url-generic-parse-url/generic-uri-examples ()
+ "RFC 3986, section 1.1.2. Examples / Example illustrating several URI schemes and variations in their common syntax components"
+ (should (equal (url-generic-parse-url "ftp://ftp.is.co.za/rfc/rfc1808.txt") (url-parse-make-urlobj "ftp" nil nil "ftp.is.co.za" nil "/rfc/rfc1808.txt" nil nil t)))
+ (should (equal (url-generic-parse-url "http://www.ietf.org/rfc/rfc2396.txt") (url-parse-make-urlobj "http" nil nil "www.ietf.org" nil "/rfc/rfc2396.txt" nil nil t)))
+ (should (equal (url-generic-parse-url "ldap://[2001:db8::7]/c=GB?objectClass?one") (url-parse-make-urlobj "ldap" nil nil "[2001:db8::7]" nil "/c=GB?objectClass?one" nil nil t)))
+ (should (equal (url-generic-parse-url "mailto:John.Doe@example.com") (url-parse-make-urlobj "mailto" nil nil nil nil "John.Doe@example.com" nil nil nil)))
+ (should (equal (url-generic-parse-url "news:comp.infosystems.www.servers.unix") (url-parse-make-urlobj "news" nil nil nil nil "comp.infosystems.www.servers.unix" nil nil nil)))
+ (should (equal (url-generic-parse-url "tel:+1-816-555-1212") (url-parse-make-urlobj "tel" nil nil nil nil "+1-816-555-1212" nil nil nil)))
+ (should (equal (url-generic-parse-url "telnet://192.0.2.16:80/") (url-parse-make-urlobj "telnet" nil nil "192.0.2.16" 80 "/" nil nil t)))
+ (should (equal (url-generic-parse-url "urn:oasis:names:specification:docbook:dtd:xml:4.1.2") (url-parse-make-urlobj "urn" nil nil nil nil "oasis:names:specification:docbook:dtd:xml:4.1.2" nil nil nil))))
+
+(ert-deftest url-generic-parse-url/generic-uri ()
+ "RFC 3986, section 3. Syntax Components / generic URI syntax"
+ ;; empty path
+ (should (equal (url-generic-parse-url "http://host#") (url-parse-make-urlobj "http" nil nil "host" nil "" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host?#") (url-parse-make-urlobj "http" nil nil "host" nil "?" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host?query#") (url-parse-make-urlobj "http" nil nil "host" nil "?query" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host?#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "?" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host?query#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "?query" "fragment" nil t)))
+ ;; absolute path /
+ (should (equal (url-generic-parse-url "http://host/#") (url-parse-make-urlobj "http" nil nil "host" nil "/" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host/?#") (url-parse-make-urlobj "http" nil nil "host" nil "/?" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/?query#") (url-parse-make-urlobj "http" nil nil "host" nil "/?query" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/?#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/?" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host/?query#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/?query" "fragment" nil t)))
+ ;; absolute path /foo
+ (should (equal (url-generic-parse-url "http://host/foo#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo?#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo?" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo?query#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo?query" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo?#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo?" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo?query#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo?query" "fragment" nil t)))
+ ;; absolute path /foo/
+ (should (equal (url-generic-parse-url "http://host/foo/#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/?#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/?" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/?query#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/?query" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/?#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/?" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/?query#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/?query" "fragment" nil t)))
+ ;; absolute path /foo/bar
+ (should (equal (url-generic-parse-url "http://host/foo/bar#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar?#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar?" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar?query#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar?query" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar?#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar?" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar?query#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar?query" "fragment" nil t)))
+ ;; absolute path /foo/bar/
+ (should (equal (url-generic-parse-url "http://host/foo/bar/#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar/" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar/#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar/" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar/?#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar/?" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar/?query#") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar/?query" "" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar/?#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar/?" "fragment" nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar/?query#fragment") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar/?query" "fragment" nil t)))
+ ;; for more examples of URIs without fragments, see tests covering section 4.3. Absolute URI
+ )
+
+(ert-deftest url-generic-parse-url/network-path-reference ()
+ "RFC 3986, section 4.2. Relative Reference / network-path reference: a relative reference that begins with two slash characters"
+ (should (equal (url-generic-parse-url "//host") (url-parse-make-urlobj nil nil nil "host" nil "" nil nil t)))
+ (should (equal (url-generic-parse-url "//host/") (url-parse-make-urlobj nil nil nil "host" nil "/" nil nil t)))
+ (should (equal (url-generic-parse-url "//host/foo") (url-parse-make-urlobj nil nil nil "host" nil "/foo" nil nil t)))
+ (should (equal (url-generic-parse-url "//host/foo/bar") (url-parse-make-urlobj nil nil nil "host" nil "/foo/bar" nil nil t)))
+ (should (equal (url-generic-parse-url "//host/foo/bar/") (url-parse-make-urlobj nil nil nil "host" nil "/foo/bar/" nil nil t))))
+
+(ert-deftest url-generic-parse-url/absolute-path-reference ()
+ "RFC 3986, section 4.2. Relative Reference / absolute-path reference: a relative reference that begins with a single slash character"
+ (should (equal (url-generic-parse-url "/") (url-parse-make-urlobj nil nil nil nil nil "/" nil nil nil)))
+ (should (equal (url-generic-parse-url "/foo") (url-parse-make-urlobj nil nil nil nil nil "/foo" nil nil nil)))
+ (should (equal (url-generic-parse-url "/foo/bar") (url-parse-make-urlobj nil nil nil nil nil "/foo/bar" nil nil nil)))
+ (should (equal (url-generic-parse-url "/foo/bar/") (url-parse-make-urlobj nil nil nil nil nil "/foo/bar/" nil nil nil)))
+ (should (equal (url-generic-parse-url "/foo/bar#") (url-parse-make-urlobj nil nil nil nil nil "/foo/bar" "" nil nil)))
+ (should (equal (url-generic-parse-url "/foo/bar/#") (url-parse-make-urlobj nil nil nil nil nil "/foo/bar/" "" nil nil))))
+
+(ert-deftest url-generic-parse-url/relative-path-reference ()
+ "RFC 3986, section 4.2. Relative Reference / relative-path reference: a relative reference that does not begin with a slash character"
+ (should (equal (url-generic-parse-url "foo") (url-parse-make-urlobj nil nil nil nil nil "foo" nil nil nil)))
+ (should (equal (url-generic-parse-url "foo/bar") (url-parse-make-urlobj nil nil nil nil nil "foo/bar" nil nil nil)))
+ (should (equal (url-generic-parse-url "foo/bar/") (url-parse-make-urlobj nil nil nil nil nil "foo/bar/" nil nil nil)))
+ (should (equal (url-generic-parse-url "./foo") (url-parse-make-urlobj nil nil nil nil nil "./foo" nil nil nil)))
+ (should (equal (url-generic-parse-url "./foo/bar") (url-parse-make-urlobj nil nil nil nil nil "./foo/bar" nil nil nil)))
+ (should (equal (url-generic-parse-url "./foo/bar/") (url-parse-make-urlobj nil nil nil nil nil "./foo/bar/" nil nil nil)))
+ (should (equal (url-generic-parse-url "../foo") (url-parse-make-urlobj nil nil nil nil nil "../foo" nil nil nil)))
+ (should (equal (url-generic-parse-url "../foo/bar") (url-parse-make-urlobj nil nil nil nil nil "../foo/bar" nil nil nil)))
+ (should (equal (url-generic-parse-url "../foo/bar/") (url-parse-make-urlobj nil nil nil nil nil "../foo/bar/" nil nil nil)))
+ (should (equal (url-generic-parse-url "./this:that") (url-parse-make-urlobj nil nil nil nil nil "./this:that" nil nil nil)))
+ ;; for more examples of relative-path references, see tests covering section 4.4. Same-Document Reference
+ )
+
+(ert-deftest url-generic-parse-url/absolute-uri ()
+ "RFC 3986, section 4.3. Absolute URI / absolute URI: absolute form of a URI without a fragment identifier"
+ ;; empty path
+ (should (equal (url-generic-parse-url "http://host") (url-parse-make-urlobj "http" nil nil "host" nil "" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host?") (url-parse-make-urlobj "http" nil nil "host" nil "?" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host?query") (url-parse-make-urlobj "http" nil nil "host" nil "?query" nil nil t)))
+ ;; absolute path /
+ (should (equal (url-generic-parse-url "http://host/") (url-parse-make-urlobj "http" nil nil "host" nil "/" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host/?") (url-parse-make-urlobj "http" nil nil "host" nil "/?" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host/?query") (url-parse-make-urlobj "http" nil nil "host" nil "/?query" nil nil t)))
+ ;; absolute path /foo
+ (should (equal (url-generic-parse-url "http://host/foo") (url-parse-make-urlobj "http" nil nil "host" nil "/foo" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo?") (url-parse-make-urlobj "http" nil nil "host" nil "/foo?" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo?query") (url-parse-make-urlobj "http" nil nil "host" nil "/foo?query" nil nil t)))
+ ;; absolute path /foo/
+ (should (equal (url-generic-parse-url "http://host/foo/") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/?") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/?" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/?query") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/?query" nil nil t)))
+ ;; absolute path /foo/bar
+ (should (equal (url-generic-parse-url "http://host/foo/bar") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar?") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar?" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar?query") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar?query" nil nil t)))
+ ;; absolute path /foo/bar/
+ (should (equal (url-generic-parse-url "http://host/foo/bar/") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar/" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar/?") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar/?" nil nil t)))
+ (should (equal (url-generic-parse-url "http://host/foo/bar/?query") (url-parse-make-urlobj "http" nil nil "host" nil "/foo/bar/?query" nil nil t)))
+ ;; example mentioned in RFC3986, section 5.4. Reference Resolution Examples
+ (should (equal (url-generic-parse-url "http://a/b/c/d;p?q") (url-parse-make-urlobj "http" nil nil "a" nil "/b/c/d;p?q" nil nil t))))
+
+(ert-deftest url-generic-parse-url/same-decument-reference ()
+ "RFC 3986, section 4.4. Same-Document Reference / same-document reference: empty or number sign (\"#\") followed by a fragment identifier"
+ (should (equal (url-generic-parse-url "") (url-parse-make-urlobj nil nil nil nil nil "" nil nil nil)))
+ (should (equal (url-generic-parse-url "#") (url-parse-make-urlobj nil nil nil nil nil "" "" nil nil)))
+ (should (equal (url-generic-parse-url "#foo") (url-parse-make-urlobj nil nil nil nil nil "" "foo" nil nil))))
+
+(provide 'url-parse-tests)
+
+;;; url-parse-tests.el ends here
diff --git a/test/automated/url-util-tests.el b/test/lisp/url/url-util-tests.el
index 21ddeb50fd5..21ddeb50fd5 100644
--- a/test/automated/url-util-tests.el
+++ b/test/lisp/url/url-util-tests.el
diff --git a/test/automated/add-log-tests.el b/test/lisp/vc/add-log-tests.el
index 9909db06022..9909db06022 100644
--- a/test/automated/add-log-tests.el
+++ b/test/lisp/vc/add-log-tests.el
diff --git a/test/automated/vc-bzr.el b/test/lisp/vc/vc-bzr-tests.el
index c548562ba0f..c548562ba0f 100644
--- a/test/automated/vc-bzr.el
+++ b/test/lisp/vc/vc-bzr-tests.el
diff --git a/test/automated/vc-tests.el b/test/lisp/vc/vc-tests.el
index 847e0768da8..847e0768da8 100644
--- a/test/automated/vc-tests.el
+++ b/test/lisp/vc/vc-tests.el
diff --git a/test/automated/xml-parse-tests.el b/test/lisp/xml-tests.el
index 95eb2865afc..95eb2865afc 100644
--- a/test/automated/xml-parse-tests.el
+++ b/test/lisp/xml-tests.el
diff --git a/test/make-test-deps.emacs-lisp b/test/make-test-deps.emacs-lisp
new file mode 100644
index 00000000000..3af068569de
--- /dev/null
+++ b/test/make-test-deps.emacs-lisp
@@ -0,0 +1,98 @@
+;; -*- emacs-lisp -*-
+
+;; Copyright (C) 2015 Free Software Foundation, Inc.
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+;; This file generates dependencies between test files and the files
+;; that they test.
+
+;; It has an .emacs-lisp extension because it makes the Makefile easier!
+
+(require 'seq)
+
+(defun make-test-deps (src-dir)
+ (let ((src-dir (file-truename src-dir)))
+ (message
+ "%s"
+ (concat
+ (make-test-deps-lisp src-dir)
+ (make-test-deps-src src-dir)))))
+
+(defun make-test-deps-lisp (src-dir)
+ (mapconcat
+ (lambda (file-without-suffix)
+ (format "./%s-tests.log: %s/../%s.el\n"
+ file-without-suffix
+ src-dir
+ file-without-suffix))
+ (make-test-test-files src-dir "lisp") ""))
+
+(defun make-test-deps-src (src-dir)
+ (mapconcat
+ (lambda (file-without-suffix)
+ (format "./%s-tests.log: %s/../%s.c\n"
+ file-without-suffix
+ src-dir
+ file-without-suffix))
+ (make-test-test-files src-dir "src") ""))
+
+(defun make-test-test-files (src-dir sub-src-dir)
+ (make-test-munge-files
+ src-dir
+ (directory-files-recursively
+ (concat src-dir "/" sub-src-dir)
+ ".*-tests.el$")))
+
+(defun make-test-munge-files (src-dir files)
+ (make-test-sans-suffix
+ (make-test-de-stem
+ src-dir
+ (make-test-no-legacy
+ (make-test-no-test-dir
+ (make-test-no-resources
+ files))))))
+
+(defun make-test-sans-suffix (files)
+ (mapcar
+ (lambda (file)
+ (substring file 0 -9))
+ files))
+
+(defun make-test-de-stem (stem files)
+ (mapcar
+ (lambda (file)
+ (substring
+ file
+ (+ 1 (length stem))))
+ files))
+
+(defun make-test-no-legacy (list)
+ (make-test-remove list "legacy/"))
+
+(defun make-test-no-resources (list)
+ (make-test-remove list "-resources/"))
+
+(defun make-test-no-test-dir (list)
+ (make-test-remove list "-tests/"))
+
+(defun make-test-remove (list match)
+ (seq-remove
+ (lambda (file)
+ (string-match-p match file))
+ list))
diff --git a/test/BidiCharacterTest.txt b/test/manual/BidiCharacterTest.txt
index 7a460b48afa..7a460b48afa 100644
--- a/test/BidiCharacterTest.txt
+++ b/test/manual/BidiCharacterTest.txt
diff --git a/test/biditest.el b/test/manual/biditest.el
index e2212083830..e2212083830 100644
--- a/test/biditest.el
+++ b/test/manual/biditest.el
diff --git a/test/cedet/cedet-utests.el b/test/manual/cedet/cedet-utests.el
index 76903639c3a..76903639c3a 100644
--- a/test/cedet/cedet-utests.el
+++ b/test/manual/cedet/cedet-utests.el
diff --git a/test/cedet/ede-tests.el b/test/manual/cedet/ede-tests.el
index 293c037ebd1..293c037ebd1 100644
--- a/test/cedet/ede-tests.el
+++ b/test/manual/cedet/ede-tests.el
diff --git a/test/cedet/semantic-ia-utest.el b/test/manual/cedet/semantic-ia-utest.el
index 71736c816f7..71736c816f7 100644
--- a/test/cedet/semantic-ia-utest.el
+++ b/test/manual/cedet/semantic-ia-utest.el
diff --git a/test/cedet/semantic-tests.el b/test/manual/cedet/semantic-tests.el
index 0d9b688ee32..0d9b688ee32 100644
--- a/test/cedet/semantic-tests.el
+++ b/test/manual/cedet/semantic-tests.el
diff --git a/test/cedet/semantic-utest-c.el b/test/manual/cedet/semantic-utest-c.el
index ccf57076e4c..ccf57076e4c 100644
--- a/test/cedet/semantic-utest-c.el
+++ b/test/manual/cedet/semantic-utest-c.el
diff --git a/test/cedet/semantic-utest.el b/test/manual/cedet/semantic-utest.el
index 2c9ccd37e62..2c9ccd37e62 100644
--- a/test/cedet/semantic-utest.el
+++ b/test/manual/cedet/semantic-utest.el
diff --git a/test/cedet/srecode-tests.el b/test/manual/cedet/srecode-tests.el
index f7529ecb5e3..f7529ecb5e3 100644
--- a/test/cedet/srecode-tests.el
+++ b/test/manual/cedet/srecode-tests.el
diff --git a/test/cedet/tests/test.c b/test/manual/cedet/tests/test.c
index 8f7208783ff..8f7208783ff 100644
--- a/test/cedet/tests/test.c
+++ b/test/manual/cedet/tests/test.c
diff --git a/test/cedet/tests/test.el b/test/manual/cedet/tests/test.el
index 28b97750df2..28b97750df2 100644
--- a/test/cedet/tests/test.el
+++ b/test/manual/cedet/tests/test.el
diff --git a/test/cedet/tests/test.make b/test/manual/cedet/tests/test.make
index ac8c599ee35..ac8c599ee35 100644
--- a/test/cedet/tests/test.make
+++ b/test/manual/cedet/tests/test.make
diff --git a/test/cedet/tests/testdoublens.cpp b/test/manual/cedet/tests/testdoublens.cpp
index b503c211790..b503c211790 100644
--- a/test/cedet/tests/testdoublens.cpp
+++ b/test/manual/cedet/tests/testdoublens.cpp
diff --git a/test/cedet/tests/testdoublens.hpp b/test/manual/cedet/tests/testdoublens.hpp
index 609ea74615e..609ea74615e 100644
--- a/test/cedet/tests/testdoublens.hpp
+++ b/test/manual/cedet/tests/testdoublens.hpp
diff --git a/test/cedet/tests/testfriends.cpp b/test/manual/cedet/tests/testfriends.cpp
index 20425f93afa..20425f93afa 100644
--- a/test/cedet/tests/testfriends.cpp
+++ b/test/manual/cedet/tests/testfriends.cpp
diff --git a/test/cedet/tests/testjavacomp.java b/test/manual/cedet/tests/testjavacomp.java
index d17f3049b62..d17f3049b62 100644
--- a/test/cedet/tests/testjavacomp.java
+++ b/test/manual/cedet/tests/testjavacomp.java
diff --git a/test/cedet/tests/testnsp.cpp b/test/manual/cedet/tests/testnsp.cpp
index 012dc660600..012dc660600 100644
--- a/test/cedet/tests/testnsp.cpp
+++ b/test/manual/cedet/tests/testnsp.cpp
diff --git a/test/cedet/tests/testpolymorph.cpp b/test/manual/cedet/tests/testpolymorph.cpp
index 9195bb670c2..9195bb670c2 100644
--- a/test/cedet/tests/testpolymorph.cpp
+++ b/test/manual/cedet/tests/testpolymorph.cpp
diff --git a/test/cedet/tests/testspp.c b/test/manual/cedet/tests/testspp.c
index 168898a4a3e..168898a4a3e 100644
--- a/test/cedet/tests/testspp.c
+++ b/test/manual/cedet/tests/testspp.c
diff --git a/test/cedet/tests/testsppcomplete.c b/test/manual/cedet/tests/testsppcomplete.c
index d7899942285..d7899942285 100644
--- a/test/cedet/tests/testsppcomplete.c
+++ b/test/manual/cedet/tests/testsppcomplete.c
diff --git a/test/cedet/tests/testsppreplace.c b/test/manual/cedet/tests/testsppreplace.c
index e831ea152e5..e831ea152e5 100644
--- a/test/cedet/tests/testsppreplace.c
+++ b/test/manual/cedet/tests/testsppreplace.c
diff --git a/test/cedet/tests/testsppreplaced.c b/test/manual/cedet/tests/testsppreplaced.c
index bb6a5522cf1..bb6a5522cf1 100644
--- a/test/cedet/tests/testsppreplaced.c
+++ b/test/manual/cedet/tests/testsppreplaced.c
diff --git a/test/cedet/tests/testsubclass.cpp b/test/manual/cedet/tests/testsubclass.cpp
index 6dee867b794..6dee867b794 100644
--- a/test/cedet/tests/testsubclass.cpp
+++ b/test/manual/cedet/tests/testsubclass.cpp
diff --git a/test/cedet/tests/testsubclass.hh b/test/manual/cedet/tests/testsubclass.hh
index 13e907da887..13e907da887 100644
--- a/test/cedet/tests/testsubclass.hh
+++ b/test/manual/cedet/tests/testsubclass.hh
diff --git a/test/cedet/tests/testtypedefs.cpp b/test/manual/cedet/tests/testtypedefs.cpp
index fa94af3596f..fa94af3596f 100644
--- a/test/cedet/tests/testtypedefs.cpp
+++ b/test/manual/cedet/tests/testtypedefs.cpp
diff --git a/test/cedet/tests/testvarnames.c b/test/manual/cedet/tests/testvarnames.c
index f08b773bd4b..f08b773bd4b 100644
--- a/test/cedet/tests/testvarnames.c
+++ b/test/manual/cedet/tests/testvarnames.c
diff --git a/test/etags/CTAGS.good b/test/manual/etags/CTAGS.good
index 245f6703adf..245f6703adf 100644
--- a/test/etags/CTAGS.good
+++ b/test/manual/etags/CTAGS.good
diff --git a/test/etags/ETAGS.good_1 b/test/manual/etags/ETAGS.good_1
index 2ae4ec41256..2ae4ec41256 100644
--- a/test/etags/ETAGS.good_1
+++ b/test/manual/etags/ETAGS.good_1
diff --git a/test/etags/ETAGS.good_2 b/test/manual/etags/ETAGS.good_2
index 3ec5b21d384..3ec5b21d384 100644
--- a/test/etags/ETAGS.good_2
+++ b/test/manual/etags/ETAGS.good_2
diff --git a/test/etags/ETAGS.good_3 b/test/manual/etags/ETAGS.good_3
index 43b84eed5d2..43b84eed5d2 100644
--- a/test/etags/ETAGS.good_3
+++ b/test/manual/etags/ETAGS.good_3
diff --git a/test/etags/ETAGS.good_4 b/test/manual/etags/ETAGS.good_4
index 434fe13cbd4..434fe13cbd4 100644
--- a/test/etags/ETAGS.good_4
+++ b/test/manual/etags/ETAGS.good_4
diff --git a/test/etags/ETAGS.good_5 b/test/manual/etags/ETAGS.good_5
index 425e2526f35..425e2526f35 100644
--- a/test/etags/ETAGS.good_5
+++ b/test/manual/etags/ETAGS.good_5
diff --git a/test/etags/ETAGS.good_6 b/test/manual/etags/ETAGS.good_6
index 39522dbdb9b..39522dbdb9b 100644
--- a/test/etags/ETAGS.good_6
+++ b/test/manual/etags/ETAGS.good_6
diff --git a/test/etags/Makefile b/test/manual/etags/Makefile
index 00d5b9f52b2..4d9f358c8ed 100644
--- a/test/etags/Makefile
+++ b/test/manual/etags/Makefile
@@ -32,8 +32,8 @@ SRCS=${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\
${RBSRC} ${TEXSRC} ${YSRC}
NONSRCS=./f-src/entry.strange ./erl-src/lists.erl ./cp-src/clheir.hpp.gz
-ETAGS_PROG=../../lib-src/etags
-CTAGS_PROG=../../lib-src/ctags
+ETAGS_PROG=../../../lib-src/etags
+CTAGS_PROG=../../../lib-src/ctags
REGEX=/[ \t]*DEFVAR_[A-Z_ \t\n(]+"\([^"]+\)"/
xx="this line is here because of a fontlock bug
diff --git a/test/etags/a-src/empty.zz b/test/manual/etags/a-src/empty.zz
index e69de29bb2d..e69de29bb2d 100644
--- a/test/etags/a-src/empty.zz
+++ b/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
index e69de29bb2d..e69de29bb2d 100644
--- a/test/etags/a-src/empty.zz.gz
+++ b/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
index 43ca983824c..43ca983824c 100644
--- a/test/etags/ada-src/2ataspri.adb
+++ b/test/manual/etags/ada-src/2ataspri.adb
diff --git a/test/etags/ada-src/2ataspri.ads b/test/manual/etags/ada-src/2ataspri.ads
index 01c786028ab..01c786028ab 100644
--- a/test/etags/ada-src/2ataspri.ads
+++ b/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
index 09e5a1ec9bf..09e5a1ec9bf 100644
--- a/test/etags/ada-src/etags-test-for.ada
+++ b/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
index 316120998f8..316120998f8 100644
--- a/test/etags/ada-src/waroquiers.ada
+++ b/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
index ee3c97c2456..ee3c97c2456 100644
--- a/test/etags/c-src/a/b/b.c
+++ b/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
index f30986db343..f30986db343 100644
--- a/test/etags/c-src/abbrev.c
+++ b/test/manual/etags/c-src/abbrev.c
diff --git a/test/etags/c-src/c.c b/test/manual/etags/c-src/c.c
index 77c8929afb2..77c8929afb2 100644
--- a/test/etags/c-src/c.c
+++ b/test/manual/etags/c-src/c.c
diff --git a/test/etags/c-src/dostorture.c b/test/manual/etags/c-src/dostorture.c
index 5190734e0fe..5190734e0fe 100644
--- a/test/etags/c-src/dostorture.c
+++ b/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
index a88f4ab75e0..a88f4ab75e0 100644
--- a/test/etags/c-src/emacs/src/gmalloc.c
+++ b/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
index 77f7fb97898..77f7fb97898 100644
--- a/test/etags/c-src/emacs/src/keyboard.c
+++ b/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
index 6d34ce3b052..6d34ce3b052 100644
--- a/test/etags/c-src/emacs/src/lisp.h
+++ b/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
index 3dfecf0a7e5..3dfecf0a7e5 100644
--- a/test/etags/c-src/emacs/src/regex.h
+++ b/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
index f2438213d04..f2438213d04 100644
--- a/test/etags/c-src/etags.c
+++ b/test/manual/etags/c-src/etags.c
diff --git a/test/etags/c-src/exit.c b/test/manual/etags/c-src/exit.c
index b8cd22ba3c7..b8cd22ba3c7 100644
--- a/test/etags/c-src/exit.c
+++ b/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
index b8cd22ba3c7..b8cd22ba3c7 100644
--- a/test/etags/c-src/exit.strange_suffix
+++ b/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
index 32482781b11..32482781b11 100644
--- a/test/etags/c-src/fail.c
+++ b/test/manual/etags/c-src/fail.c
diff --git a/test/etags/c-src/getopt.h b/test/manual/etags/c-src/getopt.h
index 93a5cf77816..93a5cf77816 100644
--- a/test/etags/c-src/getopt.h
+++ b/test/manual/etags/c-src/getopt.h
diff --git a/test/etags/c-src/h.h b/test/manual/etags/c-src/h.h
index f86c00d64ad..f86c00d64ad 100644
--- a/test/etags/c-src/h.h
+++ b/test/manual/etags/c-src/h.h
diff --git a/test/etags/c-src/machsyscalls.c b/test/manual/etags/c-src/machsyscalls.c
index 44930c33cf3..44930c33cf3 100644
--- a/test/etags/c-src/machsyscalls.c
+++ b/test/manual/etags/c-src/machsyscalls.c
diff --git a/test/etags/c-src/machsyscalls.h b/test/manual/etags/c-src/machsyscalls.h
index 8b33dc4e7e5..8b33dc4e7e5 100644
--- a/test/etags/c-src/machsyscalls.h
+++ b/test/manual/etags/c-src/machsyscalls.h
diff --git a/test/etags/c-src/sysdep.h b/test/manual/etags/c-src/sysdep.h
index 298a0e4c5b2..298a0e4c5b2 100644
--- a/test/etags/c-src/sysdep.h
+++ b/test/manual/etags/c-src/sysdep.h
diff --git a/test/etags/c-src/tab.c b/test/manual/etags/c-src/tab.c
index b25d55cb2e8..b25d55cb2e8 100644
--- a/test/etags/c-src/tab.c
+++ b/test/manual/etags/c-src/tab.c
diff --git a/test/etags/c-src/torture.c b/test/manual/etags/c-src/torture.c
index 77c3763564a..77c3763564a 100644
--- a/test/etags/c-src/torture.c
+++ b/test/manual/etags/c-src/torture.c
diff --git a/test/etags/cp-src/MDiagArray2.h b/test/manual/etags/cp-src/MDiagArray2.h
index 78ee5e1523c..78ee5e1523c 100644
--- a/test/etags/cp-src/MDiagArray2.h
+++ b/test/manual/etags/cp-src/MDiagArray2.h
diff --git a/test/etags/cp-src/Range.h b/test/manual/etags/cp-src/Range.h
index b8cbab47ebf..b8cbab47ebf 100644
--- a/test/etags/cp-src/Range.h
+++ b/test/manual/etags/cp-src/Range.h
diff --git a/test/etags/cp-src/burton.cpp b/test/manual/etags/cp-src/burton.cpp
index d86ad758d81..d86ad758d81 100644
--- a/test/etags/cp-src/burton.cpp
+++ b/test/manual/etags/cp-src/burton.cpp
diff --git a/test/etags/cp-src/c.C b/test/manual/etags/cp-src/c.C
index 2c5f7e01fac..2c5f7e01fac 100644
--- a/test/etags/cp-src/c.C
+++ b/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
index 38b08a8e7f8..38b08a8e7f8 100644
--- a/test/etags/cp-src/clheir.cpp.gz
+++ b/test/manual/etags/cp-src/clheir.cpp.gz
Binary files differ
diff --git a/test/etags/cp-src/clheir.hpp b/test/manual/etags/cp-src/clheir.hpp
index 55d91228fb3..55d91228fb3 100644
--- a/test/etags/cp-src/clheir.hpp
+++ b/test/manual/etags/cp-src/clheir.hpp
diff --git a/test/etags/cp-src/conway.cpp b/test/manual/etags/cp-src/conway.cpp
index 1e600147ed9..1e600147ed9 100644
--- a/test/etags/cp-src/conway.cpp
+++ b/test/manual/etags/cp-src/conway.cpp
diff --git a/test/etags/cp-src/conway.hpp b/test/manual/etags/cp-src/conway.hpp
index 9fbb2517526..9fbb2517526 100644
--- a/test/etags/cp-src/conway.hpp
+++ b/test/manual/etags/cp-src/conway.hpp
diff --git a/test/etags/cp-src/fail.C b/test/manual/etags/cp-src/fail.C
index c602ed26396..c602ed26396 100644
--- a/test/etags/cp-src/fail.C
+++ b/test/manual/etags/cp-src/fail.C
diff --git a/test/etags/cp-src/functions.cpp b/test/manual/etags/cp-src/functions.cpp
index fb546ed4de8..fb546ed4de8 100644
--- a/test/etags/cp-src/functions.cpp
+++ b/test/manual/etags/cp-src/functions.cpp
diff --git a/test/etags/cp-src/screen.cpp b/test/manual/etags/cp-src/screen.cpp
index 1958a19d628..1958a19d628 100644
--- a/test/etags/cp-src/screen.cpp
+++ b/test/manual/etags/cp-src/screen.cpp
diff --git a/test/etags/cp-src/screen.hpp b/test/manual/etags/cp-src/screen.hpp
index a7099a3379d..a7099a3379d 100644
--- a/test/etags/cp-src/screen.hpp
+++ b/test/manual/etags/cp-src/screen.hpp
diff --git a/test/etags/cp-src/x.cc b/test/manual/etags/cp-src/x.cc
index a236060281a..a236060281a 100644
--- a/test/etags/cp-src/x.cc
+++ b/test/manual/etags/cp-src/x.cc
diff --git a/test/etags/el-src/TAGTEST.EL b/test/manual/etags/el-src/TAGTEST.EL
index acf0baf82f0..acf0baf82f0 100644
--- a/test/etags/el-src/TAGTEST.EL
+++ b/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
index 4e079200ee0..4e079200ee0 100644
--- a/test/etags/el-src/emacs/lisp/progmodes/etags.el
+++ b/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
index c04ee8be0cd..c04ee8be0cd 100644
--- a/test/etags/erl-src/gs_dialog.erl
+++ b/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
index 52b8a2487c6..52b8a2487c6 100644
--- a/test/etags/f-src/entry.for
+++ b/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
index 5f22edc86bb..5f22edc86bb 100644
--- a/test/etags/f-src/entry.strange.gz
+++ b/test/manual/etags/f-src/entry.strange.gz
Binary files differ
diff --git a/test/etags/f-src/entry.strange_suffix b/test/manual/etags/f-src/entry.strange_suffix
index 52b8a2487c6..52b8a2487c6 100644
--- a/test/etags/f-src/entry.strange_suffix
+++ b/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
index ce4069dfa8f..ce4069dfa8f 100644
--- a/test/etags/forth-src/test-forth.fth
+++ b/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
index becd93a62d0..becd93a62d0 100644
--- a/test/etags/html-src/algrthms.html
+++ b/test/manual/etags/html-src/algrthms.html
diff --git a/test/etags/html-src/index.shtml b/test/manual/etags/html-src/index.shtml
index 6d8cd858855..6d8cd858855 100644
--- a/test/etags/html-src/index.shtml
+++ b/test/manual/etags/html-src/index.shtml
diff --git a/test/etags/html-src/software.html b/test/manual/etags/html-src/software.html
index b5de1e6d686..b5de1e6d686 100644
--- a/test/etags/html-src/software.html
+++ b/test/manual/etags/html-src/software.html
diff --git a/test/etags/html-src/softwarelibero.html b/test/manual/etags/html-src/softwarelibero.html
index 159432908d2..159432908d2 100644
--- a/test/etags/html-src/softwarelibero.html
+++ b/test/manual/etags/html-src/softwarelibero.html
diff --git a/test/etags/lua-src/allegro.lua b/test/manual/etags/lua-src/allegro.lua
index c316b6f26a0..c316b6f26a0 100644
--- a/test/etags/lua-src/allegro.lua
+++ b/test/manual/etags/lua-src/allegro.lua
diff --git a/test/etags/make-src/Makefile b/test/manual/etags/make-src/Makefile
index 016c633d791..016c633d791 100644
--- a/test/etags/make-src/Makefile
+++ b/test/manual/etags/make-src/Makefile
diff --git a/test/etags/objc-src/PackInsp.h b/test/manual/etags/objc-src/PackInsp.h
index 0e3643c8281..0e3643c8281 100644
--- a/test/etags/objc-src/PackInsp.h
+++ b/test/manual/etags/objc-src/PackInsp.h
diff --git a/test/etags/objc-src/PackInsp.m b/test/manual/etags/objc-src/PackInsp.m
index 41cc876850f..41cc876850f 100644
--- a/test/etags/objc-src/PackInsp.m
+++ b/test/manual/etags/objc-src/PackInsp.m
diff --git a/test/etags/objc-src/Subprocess.h b/test/manual/etags/objc-src/Subprocess.h
index 7e586a16a12..7e586a16a12 100644
--- a/test/etags/objc-src/Subprocess.h
+++ b/test/manual/etags/objc-src/Subprocess.h
diff --git a/test/etags/objc-src/Subprocess.m b/test/manual/etags/objc-src/Subprocess.m
index 2d8d586507e..2d8d586507e 100644
--- a/test/etags/objc-src/Subprocess.m
+++ b/test/manual/etags/objc-src/Subprocess.m
diff --git a/test/etags/objcpp-src/SimpleCalc.H b/test/manual/etags/objcpp-src/SimpleCalc.H
index 121ae6bada3..121ae6bada3 100644
--- a/test/etags/objcpp-src/SimpleCalc.H
+++ b/test/manual/etags/objcpp-src/SimpleCalc.H
diff --git a/test/etags/objcpp-src/SimpleCalc.M b/test/manual/etags/objcpp-src/SimpleCalc.M
index 34846a7aceb..34846a7aceb 100644
--- a/test/etags/objcpp-src/SimpleCalc.M
+++ b/test/manual/etags/objcpp-src/SimpleCalc.M
diff --git a/test/etags/pas-src/common.pas b/test/manual/etags/pas-src/common.pas
index ec8e80c4a7a..ec8e80c4a7a 100644
--- a/test/etags/pas-src/common.pas
+++ b/test/manual/etags/pas-src/common.pas
diff --git a/test/etags/perl-src/htlmify-cystic b/test/manual/etags/perl-src/htlmify-cystic
index de150a72b8f..de150a72b8f 100644
--- a/test/etags/perl-src/htlmify-cystic
+++ b/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
index 51b66728f1e..51b66728f1e 100644
--- a/test/etags/perl-src/kai-test.pl
+++ b/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
index be9f09c02d4..be9f09c02d4 100644
--- a/test/etags/perl-src/yagrip.pl
+++ b/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
index 65738134593..65738134593 100644
--- a/test/etags/php-src/lce_functions.php
+++ b/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
index 9893839b493..9893839b493 100644
--- a/test/etags/php-src/ptest.php
+++ b/test/manual/etags/php-src/ptest.php
diff --git a/test/etags/php-src/sendmail.php b/test/manual/etags/php-src/sendmail.php
index 1d15e4ad9f6..1d15e4ad9f6 100644
--- a/test/etags/php-src/sendmail.php
+++ b/test/manual/etags/php-src/sendmail.php
diff --git a/test/etags/prol-src/natded.prolog b/test/manual/etags/prol-src/natded.prolog
index f0ee6b41b12..f0ee6b41b12 100644
--- a/test/etags/prol-src/natded.prolog
+++ b/test/manual/etags/prol-src/natded.prolog
diff --git a/test/etags/prol-src/ordsets.prolog b/test/manual/etags/prol-src/ordsets.prolog
index 7192129fdce..7192129fdce 100644
--- a/test/etags/prol-src/ordsets.prolog
+++ b/test/manual/etags/prol-src/ordsets.prolog
diff --git a/test/etags/ps-src/rfc1245.ps b/test/manual/etags/ps-src/rfc1245.ps
index ad2244f1dc0..ad2244f1dc0 100644
--- a/test/etags/ps-src/rfc1245.ps
+++ b/test/manual/etags/ps-src/rfc1245.ps
diff --git a/test/etags/pyt-src/server.py b/test/manual/etags/pyt-src/server.py
index 68aa29abcfd..68aa29abcfd 100644
--- a/test/etags/pyt-src/server.py
+++ b/test/manual/etags/pyt-src/server.py
diff --git a/test/etags/tex-src/gzip.texi b/test/manual/etags/tex-src/gzip.texi
index 07be37187d7..07be37187d7 100644
--- a/test/etags/tex-src/gzip.texi
+++ b/test/manual/etags/tex-src/gzip.texi
diff --git a/test/etags/tex-src/nonewline.tex b/test/manual/etags/tex-src/nonewline.tex
index 8cc01ce9151..8cc01ce9151 100644
--- a/test/etags/tex-src/nonewline.tex
+++ b/test/manual/etags/tex-src/nonewline.tex
diff --git a/test/etags/tex-src/testenv.tex b/test/manual/etags/tex-src/testenv.tex
index efb83cb834f..efb83cb834f 100644
--- a/test/etags/tex-src/testenv.tex
+++ b/test/manual/etags/tex-src/testenv.tex
diff --git a/test/etags/tex-src/texinfo.tex b/test/manual/etags/tex-src/texinfo.tex
index 203dca72c22..203dca72c22 100644
--- a/test/etags/tex-src/texinfo.tex
+++ b/test/manual/etags/tex-src/texinfo.tex
diff --git a/test/etags/y-src/atest.y b/test/manual/etags/y-src/atest.y
index 81087b8d86e..81087b8d86e 100644
--- a/test/etags/y-src/atest.y
+++ b/test/manual/etags/y-src/atest.y
diff --git a/test/etags/y-src/cccp.c b/test/manual/etags/y-src/cccp.c
index 6996705d7cb..6996705d7cb 100644
--- a/test/etags/y-src/cccp.c
+++ b/test/manual/etags/y-src/cccp.c
diff --git a/test/etags/y-src/cccp.y b/test/manual/etags/y-src/cccp.y
index 1cd2111464c..1cd2111464c 100644
--- a/test/etags/y-src/cccp.y
+++ b/test/manual/etags/y-src/cccp.y
diff --git a/test/etags/y-src/parse.c b/test/manual/etags/y-src/parse.c
index 7b1eedc85db..7b1eedc85db 100644
--- a/test/etags/y-src/parse.c
+++ b/test/manual/etags/y-src/parse.c
diff --git a/test/etags/y-src/parse.y b/test/manual/etags/y-src/parse.y
index 75fd7870ff8..75fd7870ff8 100644
--- a/test/etags/y-src/parse.y
+++ b/test/manual/etags/y-src/parse.y
diff --git a/test/indent/Makefile b/test/manual/indent/Makefile
index 83162681d72..83162681d72 100644
--- a/test/indent/Makefile
+++ b/test/manual/indent/Makefile
diff --git a/test/indent/css-mode.css b/test/manual/indent/css-mode.css
index 24166b00282..24166b00282 100644
--- a/test/indent/css-mode.css
+++ b/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
index 536a976e86e..536a976e86e 100644
--- a/test/indent/js-indent-init-dynamic.js
+++ b/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
index bb755420ba7..bb755420ba7 100644
--- a/test/indent/js-indent-init-t.js
+++ b/test/manual/indent/js-indent-init-t.js
diff --git a/test/indent/js-jsx.js b/test/manual/indent/js-jsx.js
index 7401939d282..7401939d282 100644
--- a/test/indent/js-jsx.js
+++ b/test/manual/indent/js-jsx.js
diff --git a/test/indent/js.js b/test/manual/indent/js.js
index 9a1e0dc7ad5..9a1e0dc7ad5 100644
--- a/test/indent/js.js
+++ b/test/manual/indent/js.js
diff --git a/test/indent/latex-mode.tex b/test/manual/indent/latex-mode.tex
index 55c8e7033bd..55c8e7033bd 100644
--- a/test/indent/latex-mode.tex
+++ b/test/manual/indent/latex-mode.tex
diff --git a/test/indent/modula2.mod b/test/manual/indent/modula2.mod
index f8fbcb7f4e5..f8fbcb7f4e5 100644
--- a/test/indent/modula2.mod
+++ b/test/manual/indent/modula2.mod
diff --git a/test/indent/nxml.xml b/test/manual/indent/nxml.xml
index 61b84f270b0..61b84f270b0 100644
--- a/test/indent/nxml.xml
+++ b/test/manual/indent/nxml.xml
diff --git a/test/indent/octave.m b/test/manual/indent/octave.m
index 4758f9933cb..4758f9933cb 100644
--- a/test/indent/octave.m
+++ b/test/manual/indent/octave.m
diff --git a/test/indent/pascal.pas b/test/manual/indent/pascal.pas
index bb2e7002b6b..bb2e7002b6b 100644
--- a/test/indent/pascal.pas
+++ b/test/manual/indent/pascal.pas
diff --git a/test/indent/perl.perl b/test/manual/indent/perl.perl
index f86a09b2733..f86a09b2733 100755
--- a/test/indent/perl.perl
+++ b/test/manual/indent/perl.perl
diff --git a/test/indent/prolog.prolog b/test/manual/indent/prolog.prolog
index 9ac6df1b6c7..9ac6df1b6c7 100644
--- a/test/indent/prolog.prolog
+++ b/test/manual/indent/prolog.prolog
diff --git a/test/indent/ps-mode.ps b/test/manual/indent/ps-mode.ps
index 4b4ee0f10cb..4b4ee0f10cb 100644
--- a/test/indent/ps-mode.ps
+++ b/test/manual/indent/ps-mode.ps
diff --git a/test/indent/ruby.rb b/test/manual/indent/ruby.rb
index dec6de98605..dec6de98605 100644
--- a/test/indent/ruby.rb
+++ b/test/manual/indent/ruby.rb
diff --git a/test/indent/scheme.scm b/test/manual/indent/scheme.scm
index 84d0f6d8786..84d0f6d8786 100644
--- a/test/indent/scheme.scm
+++ b/test/manual/indent/scheme.scm
diff --git a/test/indent/scss-mode.scss b/test/manual/indent/scss-mode.scss
index 7a29929efca..7a29929efca 100644
--- a/test/indent/scss-mode.scss
+++ b/test/manual/indent/scss-mode.scss
diff --git a/test/indent/sgml-mode-attribute.html b/test/manual/indent/sgml-mode-attribute.html
index 4cbec0af2c6..4cbec0af2c6 100644
--- a/test/indent/sgml-mode-attribute.html
+++ b/test/manual/indent/sgml-mode-attribute.html
diff --git a/test/indent/shell.rc b/test/manual/indent/shell.rc
index e5c63e335b9..e5c63e335b9 100755
--- a/test/indent/shell.rc
+++ b/test/manual/indent/shell.rc
diff --git a/test/indent/shell.sh b/test/manual/indent/shell.sh
index b0f69bd9720..b0f69bd9720 100755
--- a/test/indent/shell.sh
+++ b/test/manual/indent/shell.sh
diff --git a/test/redisplay-testsuite.el b/test/manual/redisplay-testsuite.el
index 332eeb1cc9f..332eeb1cc9f 100644
--- a/test/redisplay-testsuite.el
+++ b/test/manual/redisplay-testsuite.el
diff --git a/test/rmailmm.el b/test/manual/rmailmm.el
index a20ae40849f..a20ae40849f 100644
--- a/test/rmailmm.el
+++ b/test/manual/rmailmm.el
diff --git a/test/automated/finalizer-tests.el b/test/src/alloc-tests.el
index 218df05e426..c0fe0f33cb9 100644
--- a/test/automated/finalizer-tests.el
+++ b/test/src/alloc-tests.el
@@ -1,4 +1,4 @@
-;;; finalizer-tests.el --- Finalizer tests -*- lexical-binding: t -*-
+;;; alloc-tests.el --- alloc tests -*- lexical-binding: t -*-
;; Copyright (C) 2015 Free Software Foundation, Inc.
diff --git a/test/automated/buffer-tests.el b/test/src/buffer-tests.el
index bb3c92dd6de..bb3c92dd6de 100644
--- a/test/automated/buffer-tests.el
+++ b/test/src/buffer-tests.el
diff --git a/test/automated/cmds-tests.el b/test/src/cmds-tests.el
index 7e742a1fa8b..7e742a1fa8b 100644
--- a/test/automated/cmds-tests.el
+++ b/test/src/cmds-tests.el
diff --git a/test/automated/data-tests.el b/test/src/data-tests.el
index 252a1410206..252a1410206 100644
--- a/test/automated/data-tests.el
+++ b/test/src/data-tests.el
diff --git a/test/automated/zlib-tests.el b/test/src/decompress-tests.el
index c6c084dd69f..1eea673121c 100644
--- a/test/automated/zlib-tests.el
+++ b/test/src/decompress-tests.el
@@ -1,4 +1,4 @@
-;;; zlib-tests.el --- Test suite for zlib.
+;;; decompress-tests.el --- Test suite for decompress.
;; Copyright (C) 2013-2015 Free Software Foundation, Inc.
@@ -40,6 +40,6 @@
(buffer-string))
"foo\n"))))
-(provide 'zlib-tests)
+(provide 'decompress-tests)
-;;; zlib-tests.el ends here.
+;;; decompress-tests.el ends here.
diff --git a/test/automated/fns-tests.el b/test/src/fns-tests.el
index b5222db3ca1..b5222db3ca1 100644
--- a/test/automated/fns-tests.el
+++ b/test/src/fns-tests.el
diff --git a/test/automated/inotify-test.el b/test/src/inotify-tests.el
index 187b59054cd..187b59054cd 100644
--- a/test/automated/inotify-test.el
+++ b/test/src/inotify-tests.el
diff --git a/test/automated/keymap-tests.el b/test/src/keymap-tests.el
index 524563fea50..524563fea50 100644
--- a/test/automated/keymap-tests.el
+++ b/test/src/keymap-tests.el
diff --git a/test/automated/print-tests.el b/test/src/print-tests.el
index fe8c56553a8..fe8c56553a8 100644
--- a/test/automated/print-tests.el
+++ b/test/src/print-tests.el
diff --git a/test/automated/libxml-tests.el b/test/src/xml-tests.el
index aa97b30f73c..aa97b30f73c 100644
--- a/test/automated/libxml-tests.el
+++ b/test/src/xml-tests.el