Commit 22bbf7ca authored by Phillip Lord's avatar Phillip Lord

Rename all test files to reflect source layout.

 * CONTRIBUTE,Makefile.in,configure.ac: Update to reflect
   test directory moves.
 * test/file-organisation.org: New file.
 * test/automated/Makefile.in
   test/automated/data/decompress/foo.gz
   test/automated/data/epg/pubkey.asc
   test/automated/data/epg/seckey.asc
   test/automated/data/files-bug18141.el.gz
   test/automated/data/flymake/test.c
   test/automated/data/flymake/test.pl
   test/automated/data/package/archive-contents
   test/automated/data/package/key.pub
   test/automated/data/package/key.sec
   test/automated/data/package/multi-file-0.2.3.tar
   test/automated/data/package/multi-file-readme.txt
   test/automated/data/package/newer-versions/archive-contents
   test/automated/data/package/newer-versions/new-pkg-1.0.el
   test/automated/data/package/newer-versions/simple-single-1.4.el
   test/automated/data/package/package-test-server.py
   test/automated/data/package/signed/archive-contents
   test/automated/data/package/signed/archive-contents.sig
   test/automated/data/package/signed/signed-bad-1.0.el
   test/automated/data/package/signed/signed-bad-1.0.el.sig
   test/automated/data/package/signed/signed-good-1.0.el
   test/automated/data/package/signed/signed-good-1.0.el.sig
   test/automated/data/package/simple-depend-1.0.el
   test/automated/data/package/simple-single-1.3.el
   test/automated/data/package/simple-single-readme.txt
   test/automated/data/package/simple-two-depend-1.1.el
   test/automated/abbrev-tests.el
   test/automated/auto-revert-tests.el
   test/automated/calc-tests.el
   test/automated/icalendar-tests.el
   test/automated/character-fold-tests.el
   test/automated/comint-testsuite.el
   test/automated/descr-text-test.el
   test/automated/electric-tests.el
   test/automated/cl-generic-tests.el
   test/automated/cl-lib-tests.el
   test/automated/eieio-test-methodinvoke.el
   test/automated/eieio-test-persist.el
   test/automated/eieio-tests.el
   test/automated/ert-tests.el
   test/automated/ert-x-tests.el
   test/automated/generator-tests.el
   test/automated/let-alist.el
   test/automated/map-tests.el
   test/automated/advice-tests.el
   test/automated/package-test.el
   test/automated/pcase-tests.el
   test/automated/regexp-tests.el
   test/automated/seq-tests.el
   test/automated/subr-x-tests.el
   test/automated/tabulated-list-test.el
   test/automated/thunk-tests.el
   test/automated/timer-tests.el
   test/automated/epg-tests.el
   test/automated/eshell.el
   test/automated/faces-tests.el
   test/automated/file-notify-tests.el
   test/automated/auth-source-tests.el
   test/automated/gnus-tests.el
   test/automated/message-mode-tests.el
   test/automated/help-fns.el
   test/automated/imenu-test.el
   test/automated/info-xref.el
   test/automated/mule-util.el
   test/automated/isearch-tests.el
   test/automated/json-tests.el
   test/automated/bytecomp-tests.el
   test/automated/coding-tests.el
   test/automated/core-elisp-tests.el
   test/automated/decoder-tests.el
   test/automated/files.el
   test/automated/font-parse-tests.el
   test/automated/lexbind-tests.el
   test/automated/occur-tests.el
   test/automated/process-tests.el
   test/automated/syntax-tests.el
   test/automated/textprop-tests.el
   test/automated/undo-tests.el
   test/automated/man-tests.el
   test/automated/completion-tests.el
   test/automated/dbus-tests.el
   test/automated/newsticker-tests.el
   test/automated/sasl-scram-rfc-tests.el
   test/automated/tramp-tests.el
   test/automated/obarray-tests.el
   test/automated/compile-tests.el
   test/automated/elisp-mode-tests.el
   test/automated/f90.el
   test/automated/flymake-tests.el
   test/automated/python-tests.el
   test/automated/ruby-mode-tests.el
   test/automated/subword-tests.el
   test/automated/replace-tests.el
   test/automated/simple-test.el
   test/automated/sort-tests.el
   test/automated/subr-tests.el
   test/automated/reftex-tests.el
   test/automated/sgml-mode-tests.el
   test/automated/tildify-tests.el
   test/automated/thingatpt.el
   test/automated/url-future-tests.el
   test/automated/url-util-tests.el
   test/automated/add-log-tests.el
   test/automated/vc-bzr.el
   test/automated/vc-tests.el
   test/automated/xml-parse-tests.el
   test/BidiCharacterTest.txt
   test/biditest.el
   test/cedet/cedet-utests.el
   test/cedet/ede-tests.el
   test/cedet/semantic-ia-utest.el
   test/cedet/semantic-tests.el
   test/cedet/semantic-utest-c.el
   test/cedet/semantic-utest.el
   test/cedet/srecode-tests.el
   test/cedet/tests/test.c
   test/cedet/tests/test.el
   test/cedet/tests/test.make
   test/cedet/tests/testdoublens.cpp
   test/cedet/tests/testdoublens.hpp
   test/cedet/tests/testfriends.cpp
   test/cedet/tests/testjavacomp.java
   test/cedet/tests/testnsp.cpp
   test/cedet/tests/testpolymorph.cpp
   test/cedet/tests/testspp.c
   test/cedet/tests/testsppcomplete.c
   test/cedet/tests/testsppreplace.c
   test/cedet/tests/testsppreplaced.c
   test/cedet/tests/testsubclass.cpp
   test/cedet/tests/testsubclass.hh
   test/cedet/tests/testtypedefs.cpp
   test/cedet/tests/testvarnames.c
   test/etags/CTAGS.good
   test/etags/ETAGS.good_1
   test/etags/ETAGS.good_2
   test/etags/ETAGS.good_3
   test/etags/ETAGS.good_4
   test/etags/ETAGS.good_5
   test/etags/ETAGS.good_6
   test/etags/a-src/empty.zz
   test/etags/a-src/empty.zz.gz
   test/etags/ada-src/2ataspri.adb
   test/etags/ada-src/2ataspri.ads
   test/etags/ada-src/etags-test-for.ada
   test/etags/ada-src/waroquiers.ada
   test/etags/c-src/a/b/b.c
   test/etags/c-src/abbrev.c
   test/etags/c-src/c.c
   test/etags/c-src/dostorture.c
   test/etags/c-src/emacs/src/gmalloc.c
   test/etags/c-src/emacs/src/keyboard.c
   test/etags/c-src/emacs/src/lisp.h
   test/etags/c-src/emacs/src/regex.h
   test/etags/c-src/etags.c
   test/etags/c-src/exit.c
   test/etags/c-src/exit.strange_suffix
   test/etags/c-src/fail.c
   test/etags/c-src/getopt.h
   test/etags/c-src/h.h
   test/etags/c-src/machsyscalls.c
   test/etags/c-src/machsyscalls.h
   test/etags/c-src/sysdep.h
   test/etags/c-src/tab.c
   test/etags/c-src/torture.c
   test/etags/cp-src/MDiagArray2.h
   test/etags/cp-src/Range.h
   test/etags/cp-src/burton.cpp
   test/etags/cp-src/c.C
   test/etags/cp-src/clheir.cpp.gz
   test/etags/cp-src/clheir.hpp
   test/etags/cp-src/conway.cpp
   test/etags/cp-src/conway.hpp
   test/etags/cp-src/fail.C
   test/etags/cp-src/functions.cpp
   test/etags/cp-src/screen.cpp
   test/etags/cp-src/screen.hpp
   test/etags/cp-src/x.cc
   test/etags/el-src/TAGTEST.EL
   test/etags/el-src/emacs/lisp/progmodes/etags.el
   test/etags/erl-src/gs_dialog.erl
   test/etags/f-src/entry.for
   test/etags/f-src/entry.strange.gz
   test/etags/f-src/entry.strange_suffix
   test/etags/forth-src/test-forth.fth
   test/etags/html-src/algrthms.html
   test/etags/html-src/index.shtml
   test/etags/html-src/software.html
   test/etags/html-src/softwarelibero.html
   test/etags/lua-src/allegro.lua
   test/etags/objc-src/PackInsp.h
   test/etags/objc-src/PackInsp.m
   test/etags/objc-src/Subprocess.h
   test/etags/objc-src/Subprocess.m
   test/etags/objcpp-src/SimpleCalc.H
   test/etags/objcpp-src/SimpleCalc.M
   test/etags/pas-src/common.pas
   test/etags/perl-src/htlmify-cystic
   test/etags/perl-src/kai-test.pl
   test/etags/perl-src/yagrip.pl
   test/etags/php-src/lce_functions.php
   test/etags/php-src/ptest.php
   test/etags/php-src/sendmail.php
   test/etags/prol-src/natded.prolog
   test/etags/prol-src/ordsets.prolog
   test/etags/ps-src/rfc1245.ps
   test/etags/pyt-src/server.py
   test/etags/tex-src/gzip.texi
   test/etags/tex-src/nonewline.tex
   test/etags/tex-src/testenv.tex
   test/etags/tex-src/texinfo.tex
   test/etags/y-src/atest.y
   test/etags/y-src/cccp.c
   test/etags/y-src/cccp.y
   test/etags/y-src/parse.c
   test/etags/y-src/parse.y
   test/indent/css-mode.css
   test/indent/js-indent-init-dynamic.js
   test/indent/js-indent-init-t.js
   test/indent/js-jsx.js
   test/indent/js.js
   test/indent/latex-mode.tex
   test/indent/modula2.mod
   test/indent/nxml.xml
   test/indent/octave.m
   test/indent/pascal.pas
   test/indent/perl.perl
   test/indent/prolog.prolog
   test/indent/ps-mode.ps
   test/indent/ruby.rb
   test/indent/scheme.scm
   test/indent/scss-mode.scss
   test/indent/sgml-mode-attribute.html
   test/indent/shell.rc
   test/indent/shell.sh
   test/redisplay-testsuite.el
   test/rmailmm.el
   test/automated/buffer-tests.el
   test/automated/cmds-tests.el
   test/automated/data-tests.el
   test/automated/finalizer-tests.el
   test/automated/fns-tests.el
   test/automated/inotify-test.el
   test/automated/keymap-tests.el
   test/automated/print-tests.el
   test/automated/libxml-tests.el
   test/automated/zlib-tests.el: Files Moved.
parent c378d6c3
...@@ -251,9 +251,9 @@ for more information on writing and running tests. ...@@ -251,9 +251,9 @@ for more information on writing and running tests.
To run tests on the entire Emacs tree, run "make check" from the To run tests on the entire Emacs tree, run "make check" from the
top-level directory. Most tests are in the directory top-level directory. Most tests are in the directory
"test/automated". From the "test/automated" directory, run "make "test/". From the "test/" directory, run "make
<filename>" to run the tests for <filename>.el(c). See <filename>" to run the tests for <filename>.el(c). See
"test/automated/Makefile" for more information. "test/Makefile" for more information.
** Understanding Emacs Internals. ** Understanding Emacs Internals.
......
...@@ -922,11 +922,11 @@ TAGS tags: lib lib-src src ...@@ -922,11 +922,11 @@ TAGS tags: lib lib-src src
$(MAKE) -C src tags $(MAKE) -C src tags
check: all check: all
@if test ! -d test/automated; then \ @if test ! -d test; then \
echo "You do not seem to have the test/ directory."; \ echo "You do not seem to have the test/ directory."; \
echo "Maybe you are using a release tarfile, rather than a repository checkout."; \ echo "Maybe you are using a release tarfile, rather than a repository checkout."; \
else \ else \
$(MAKE) -C test/automated check; \ $(MAKE) -C test check; \
fi fi
dist: dist:
......
...@@ -4147,7 +4147,7 @@ else ...@@ -4147,7 +4147,7 @@ else
SEPCHAR=':' SEPCHAR=':'
fi fi
AC_DEFINE_UNQUOTED(SEPCHAR, ['$SEPCHAR'], [Character that separates PATH elements.]) AC_DEFINE_UNQUOTED(SEPCHAR, ['$SEPCHAR'], [Character that separates PATH elements.])
dnl This is for MinGW, and is used in test/automated/Makefile.in. dnl This is for MinGW, and is used in test/Makefile.in.
dnl The MSYS Bash has heuristics for replacing ':' with ';' when it dnl The MSYS Bash has heuristics for replacing ':' with ';' when it
dnl decides that a command-line argument to be passed to a MinGW program dnl decides that a command-line argument to be passed to a MinGW program
dnl is a PATH-style list of directories. But that heuristics plays it dnl is a PATH-style list of directories. But that heuristics plays it
...@@ -5298,13 +5298,13 @@ AC_CONFIG_FILES([Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile \ ...@@ -5298,13 +5298,13 @@ AC_CONFIG_FILES([Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile \
leim/Makefile nextstep/Makefile nt/Makefile]) leim/Makefile nextstep/Makefile nt/Makefile])
dnl test/ is not present in release tarfiles. dnl test/ is not present in release tarfiles.
opt_makefile=test/automated/Makefile opt_makefile=test/Makefile
if test -f "$srcdir/$opt_makefile.in"; then if test -f "$srcdir/$opt_makefile.in"; then
SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile" SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile"
dnl Again, it's best not to use a variable. Though you can add dnl Again, it's best not to use a variable. Though you can add
dnl ", [], [opt_makefile='$opt_makefile']" and it should work. dnl ", [], [opt_makefile='$opt_makefile']" and it should work.
AC_CONFIG_FILES([test/automated/Makefile]) AC_CONFIG_FILES([test/Makefile])
fi fi
......
# Makefile for flymake tests
CC_OPTS = -Wall
## Recent gcc (e.g. 4.8.2 on RHEL7) can automatically colorize their output,
## which can confuse flymake. Set GCC_COLORS to disable that.
## This only seems to be an issue in batch mode, where you would not
## normally use flymake, so it seems like just avoiding the issue
## in this test is fine. Set flymake-log-level to 3 to investigate.
check-syntax:
GCC_COLORS= $(CC) $(CC_OPTS) ${CHK_SOURCES}
# eof
ADASRC=$(addprefix ./ada-src/,etags-test-for.ada 2ataspri.adb 2ataspri.ads waroquiers.ada)
ASRC=$(addprefix ./a-src/,empty.zz empty.zz.gz)
CSRC=$(addprefix ./c-src/,abbrev.c .//c.c torture.c getopt.h etags.c\
exit.c exit.strange_suffix sysdep.h tab.c dostorture.c\
emacs/src/gmalloc.c emacs/src/regex.h emacs/src/keyboard.c emacs/src/lisp.h\
machsyscalls.c machsyscalls.h fail.c a/b/b.c) ../etags/c-src/h.h
CPSRC=$(addprefix ./cp-src/,c.C x.cc burton.cpp burton.cpp\
functions.cpp MDiagArray2.h Range.h\
screen.cpp screen.hpp conway.cpp conway.hpp clheir.cpp.gz clheir.hpp.gz fail.C)
ELSRC=$(addprefix ./el-src/,TAGTEST.EL emacs/lisp/progmodes/etags.el)
ERLSRC=$(addprefix ./erl-src/,gs_dialog.erl)
FORTHSRC=$(addprefix ./forth-src/,test-forth.fth)
FSRC=$(addprefix ./f-src/,entry.for entry.strange_suffix entry.strange)
HTMLSRC=$(addprefix ./html-src/,softwarelibero.html index.shtml algrthms.html software.html)
#JAVASRC=$(addprefix ./java-src/, )
LUASRC=$(addprefix ./lua-src/,allegro.lua)
MAKESRC=$(addprefix ./make-src/,Makefile)
OBJCSRC=$(addprefix ./objc-src/,Subprocess.h Subprocess.m PackInsp.h PackInsp.m)
OBJCPPSRC=$(addprefix ./objcpp-src/,SimpleCalc.H SimpleCalc.M)
PASSRC=$(addprefix ./pas-src/,common.pas)
PERLSRC=$(addprefix ./perl-src/,htlmify-cystic yagrip.pl kai-test.pl)
PHPSRC=$(addprefix ./php-src/,lce_functions.php ptest.php sendmail.php)
PSSRC=$(addprefix ./ps-src/,rfc1245.ps)
PROLSRC=$(addprefix ./prol-src/,ordsets.prolog natded.prolog)
PYTSRC=$(addprefix ./pyt-src/,server.py)
TEXSRC=$(addprefix ./tex-src/,testenv.tex gzip.texi texinfo.tex nonewline.tex)
YSRC=$(addprefix ./y-src/,parse.y parse.c atest.y cccp.c cccp.y)
SRCS=${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\
${FORTHSRC} ${HTMLSRC} ${JAVASRC} ${LUASRC} ${MAKESRC} ${OBJCSRC}\
${OBJCPPSRC} ${PASSRC} ${PHPSRC} ${PERLSRC} ${PSSRC} ${PROLSRC} ${PYTSRC}\
${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
REGEX=/[ \t]*DEFVAR_[A-Z_ \t\n(]+"\([^"]+\)"/
xx="this line is here because of a fontlock bug
RUN=
OPTIONS=--members --declarations --regex=@regexfile
ARGS=- < srclist
infiles = $(filter-out ${NONSRCS},${SRCS}) srclist regexfile
.PHONY: check cdiff ETAGS CTAGS
# Can't make ediff_1 through ediff_5 .PHONY, as they're implicit.
check:
@$(MAKE) OPTIONS='--no-members' ediff_1
@$(MAKE) OPTIONS='--declarations --no-members' ediff_2
@$(MAKE) OPTIONS='--members' ediff_3
@$(MAKE) OPTIONS='--regex=@regexfile --no-members' ediff_4
@$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ediff_5
@$(MAKE) OPTIONS='--class-qualify --members --declarations --regex=@regexfile' ediff_6
@$(MAKE) cdiff
ediff%: ETAGS.good% ETAGS ${infiles}
diff -u --suppress-common-lines --width=80 ETAGS.good$* ETAGS
cdiff: CTAGS.good CTAGS ${infiles}
diff -u --suppress-common-lines --width=80 CTAGS.good CTAGS
ETAGS: ${infiles}
${RUN} ${ETAGS_PROG} ${OPTIONS} -o $@ ${ARGS}
CTAGS: ${infiles}
${RUN} ${CTAGS_PROG} -o $@ --regex=@regexfile ${ARGS}
srclist: Makefile
@for i in $(SRCS); do echo $$i; done > srclist
@echo "srclist remade"
regexfile: Makefile
@echo ' -- This is for GNU Emacs source files' > regexfile
@printf '%s\n' '${REGEX}' >> regexfile
@printf '%s\n' '{c}${REGEX}\\1/m' >> regexfile
@echo "regexfile remade"
LATEST=17
RELEASELIST=pot@gnu.org xemacs-review@xemacs.org jcwren@jcwren.com sxemacs-devel@sxemacs.org
ADASRC=etags-test-for.ada 2ataspri.adb 2ataspri.ads waroquiers.ada
ASRC=empty.zz empty.zz.gz
CSRC=abbrev.c ../etags/h.h .//c.c torture.c getopt.h etags.c\
exit.c exit.strange_suffix sysdep.h tab.c\
emacs/src/gmalloc.c emacs/src/regex.h emacs/src/keyboard.c dostorture.c\
machsyscalls.c machsyscalls.h fail.c a/b/b.c
CPSRC=c.C abstract.C abstract.H cfront.H burton.cpp burton.cpp\
functions.cpp MDiagArray2.h Pctest.h Range.h\
screen.cpp screen.hpp conway.cpp conway.hpp clheir.cpp.gz clheir.hpp.gz fail.C
ELSRC=TAGTEST.EL emacs/lisp/progmodes/etags.el
ERLSRC=gs_dialog.erl lines.erl lists.erl
FORTHSRC=test-forth.fth
FSRC=entry.for entry.strange_suffix entry.strange
HTMLSRC=softwarelibero.html index.shtml algrthms.html software.html
JAVASRC=AWTEMul.java KeyEve.java SMan.java SysCol.java TG.java
LUASRC=allegro.lua
MAKESRC=Makefile
OBJCSRC=Subprocess.h Subprocess.m PackInsp.h PackInsp.m
OBJCPPSRC=SimpleCalc.H SimpleCalc.M
PASSRC=common.pas
PERLSRC=htlmify-cystic yagrip.pl kai-test.pl mirror.pl
PHPSRC=lce_functions.php ptest.php sendmail.php
PSSRC=rfc1245.ps
PROLSRC=ordsets.prolog natded.prolog
PYTSRC=server.py
TEXSRC=testenv.tex gzip.texi texinfo.tex nonewline.tex
YSRC=parse.y parse.c atest.y cccp.c cccp.y
SRCS=Makefile ${ADASRC} ${ASRC} ${CSRC} ${CPSRC} ${ELSRC} ${ERLSRC} ${FSRC}\
${FORTHSRC} ${HTMLSRC} ${JAVASRC} ${LUASRC} ${MAKESRC} ${OBJCSRC}\
${OBJCPPSRC} ${PASSRC} ${PHPSRC} ${PERLSRC} ${PSSRC} ${PROLSRC} ${PYTSRC}\
${TEXSRC} ${YSRC}
NONSRCS=entry.strange lists.erl clheir.hpp.gz
VHDLFLAGS=--language=none --regex='/[ \t]*\(ARCHITECTURE\|CONFIGURATION\) +[^ ]* +OF/' --regex='/[ \t]*\(ATTRIBUTE\|ENTITY\|FUNCTION\|PACKAGE\( BODY\)?\|PROCEDURE\|PROCESS\|TYPE\)[ \t]+\([^ \t(]+\)/\3/'
COBOLFLAGS=--language=none --regex='/.......[a-zA-Z0-9-]+\./'
POSTSCRIPTFLAGS=--language=none --regex='#/[^ \t{]+#'
TCLFLAGS=--lang=none --regex='/proc[ \t]+\([^ \t]+\)/\1/'
GETOPTOBJS= #getopt.o getopt1.o
RXINCLUDE=-Iemacs/src
REGEXOBJS=regex.o
CHECKOBJS=chkmalloc.o chkxm.o
CHECKFLAGS=-DDEBUG -Wno-unused-function
OBJS=${GETOPTOBJS} ${REGEXOBJS} ${CHECKOBJS}
CPPFLAGS=${CHECKFLAGS} -DSTDC_HEADERS -DHAVE_GETCWD ${RXINCLUDE} -I.
LDFLAGS=#-static -lc_p
WARNINGS=-pedantic -Wall -Wpointer-arith -Winline -Wmissing-prototypes -Wmissing-declarations -Wunused -Wformat -Wno-switch -Wsign-compare -Wpointer-arith -Wshadow -Wstrict-prototypes
CFLAGS=${WARNINGS} -ansi -g3 # -pg -O
#CC=gcc-3.0
#TARGET_ARCH=
FASTCFLAGS=-O3 -finline-functions -ffast-math -funroll-loops
FASTCFLAGSWARN=${WARNINGS} -Werror ${FASTCFLAGS}
FILTER=grep -v '\.[Cchefy][lor]*,[1-9][0-9]*' || true
REGEX=/[ \t]*DEFVAR_[A-Z_ \t\n(]+"\([^"]+\)"/
xx="this line is here because of a fontlock bug
MAKE:=$(MAKE) --no-print-directory
RUN=time --quiet --format '%U + %S: %E'
RUN=
OPTIONS=--members --declarations --regex=@regexfile
ARGS=- < srclist
infiles = $(filter-out ${NONSRCS},${SRCS}) srclist regexfile
quiettest:
@rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc
@-$(MAKE) OPTIONS='--no-members' ${LATEST}ediff
@-$(MAKE) OPTIONS='--declarations --no-members' ${LATEST}ediff
@-$(MAKE) OPTIONS='--members' ${LATEST}ediff
@-$(MAKE) OPTIONS='--regex=@regexfile --no-members' ${LATEST}ediff
@-$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ${LATEST}ediff
@-$(MAKE) ${LATEST}cdiff
test:
@rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc
@$(MAKE) OPTIONS='--no-members' ${LATEST}ediff
@$(MAKE) OPTIONS='--declarations --no-members' ${LATEST}ediff
@$(MAKE) OPTIONS='--members' ${LATEST}ediff
@$(MAKE) OPTIONS='--regex=@regexfile --no-members' ${LATEST}ediff
@$(MAKE) OPTIONS='nonexistent --members --declarations --regex=@regexfile' ${LATEST}ediff
@$(MAKE) ${LATEST}cdiff
${CHECKOBJS}: CFLAGS=-g3 -DNULLFREECHECK=0
checker:
@rm -f /tmp/[0-9][0-9][0-9][0-9][0-9][0-9]malloc ${REGEXOBJS}
@env CHECKEROPTS="--trace --profile --Wfree-null" \
$(MAKE) CFLAGS= CHECKOBJS= CHECKFLAGS= CC=checkergcc ${LATEST}ediff
rm -f $REGEXOBJS
standalone:
rm -f etags ctags
@$(MAKE) etags "CPPFLAGS=-UVERSION"
@$(MAKE) ctags "CPPFLAGS=-UVERSION"
prof: ETAGS
prof -xgs etags
fastetags:
rm -f etags ${GETOPTOBJS} ${REGEXOBJS}
@$(MAKE) CHECKOBJS= CHECKFLAGS= etags "CFLAGS=-ansi ${FASTCFLAGSWARN}"
fastctags:
rm -f ctags ${GETOPTOBJS} ${REGEXOBJS}
@$(MAKE) CHECKOBJS= CHECKFLAGS= ctags "CFLAGS=-ansi ${FASTCFLAGSWARN}"
staticetags:
rm -f etags ${GETOPTOBJS} ${REGEXOBJS}
@$(MAKE) etags CHECKOBJS= CHECKFLAGS= REGEXOBJS= GETOPTOBJS= RXINCLUDE= "CFLAGS=${FASTCFLAGSWARN} -static"
rsynctofly:
rsync --exclude "*~" --exclude core --exclude etags -zauRv . fly:gnu/etags/
rsyncfromfly:
rsync --exclude "*~" --exclude core --exclude etags -zauRv fly:gnu/etags/ ../..
web ftp publish:
@-printf '\ttesting with debugging enabled...\n'; $(MAKE) quiettest
@-printf '\ttesting standalone...\n'; $(MAKE) standalone quiettest
@-printf '\ttesting fast versions...\n'; $(MAKE) fastetags fastctags quiettest
@$(MAKE) /home/www/pub/etags.c.gz
@$(MAKE) /home/www/pub/software/unix/etags.tar.gz
release distrib: web
cat xemacs-mail | /usr/sbin/sendmail -f pot@gnu.org ${RELEASELIST}
mv etags etags${LATEST}
mv ctags ctags${LATEST}
tags: TAGS
clean:
rm -f ${OBJS} etags ETAGS
srclist: Makefile
@for i in $(SRCS); do echo $$i; done > srclist
@echo srclist remade
regexfile: Makefile
@echo ' -- This is for GNU Emacs source files' > regexfile
@echo '${REGEX}' >> regexfile
@echo '{c}${REGEX}\\1/m' >> regexfile
@echo regexfile remade
/home/www/pub/etags.c.gz: etags.c
co -kv etags.c
gzip --best -c etags.c > $@
#/home/www/pub/software/unix/etags.tar.gz: Makefile staticetags etags.1.man ETAGS.EBNF ETAGS.README
# tar -hzcf $@ COPYING ChangeLog ETAGS.EBNF etags.c etags.1 etags.1.man etags
/home/www/pub/software/unix/etags.tar.gz: Makefile etags.1.man ETAGS.EBNF ETAGS.README maintaining.texi
tar -hzcf $@ COPYING ChangeLog ETAGS.EBNF ETAGS.README etags.c etags.1 etags.1.man maintaining.texi
regex.o: emacs/src/regex.c
$(CC) ${FASTCFLAGS} -c $?
getopt.o: emacs/lib-src/getopt.c
$(CC) ${FASTCFLAGS} -c $?
getopt1.o: emacs/lib-src/getopt1.c
$(CC) ${FASTCFLAGS} -c $?
etags: etags.c ${OBJS}
$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o etags etags.c ${OBJS}
ctags: etags.c ${OBJS}
$(CC) $(CFLAGS) $(CPPFLAGS) -DCTAGS $(LDFLAGS) -o ctags etags.c ${OBJS}
man manpage: etags.1.man
etags.1.man: etags.1
nroff -man -Tman etags.1 > $@
maintaining.info: maintaining.texi
makeinfo --force --no-split maintaining.texi
TAGS: etags.c
etags etags.c
%ediff: ETAGS% ETAGS ${infiles}
sdiff --suppress-common-lines --width=103 ETAGS$* ETAGS
oediff: OTAGS ETAGS ${infiles}
sdiff --suppress-common-lines --width=103 OTAGS ETAGS
%cdiff: CTAGS% CTAGS ${infiles}
sdiff --suppress-common-lines --width=103 CTAGS$* CTAGS
xdiff: ETAGS EXTAGS ${infiles}
sdiff --suppress-common-lines --width=103 ETAGS EXTAGS
ETAGS: FRC etags ${infiles}
${RUN} ./etags ${OPTIONS} -o $@ ${ARGS}
ETAGS%: FRC etags% ${infiles}
${RUN} etags$* ${OPTIONS} -o $@ ${ARGS}
ETAGS13 ETAGS14 ETAGS15: etags% ${infiles}
TEXTAGS=def:newcommand:newenvironment ${RUN} etags$* --regex=@regexfile} -o $@ ${ARGS}
ETAGS12: etags12 ${infiles}
${RUN} etags12 --members -o $@ --regex='${REGEX}' ${ARGS}
OTAGS: oetags ${SRCS} srclist
${RUN} ./oetags -o $@ -t ${ARGS}
CTAGS: ctags ${infiles}
${RUN} ./ctags -o $@ --regex=@regexfile ${ARGS}
CTAGS%: ctags% ${infiles}
${RUN} ctags$* -wtTd --globals --members -o $@ --regex=@regexfile ${ARGS}
CTAGS13 CTAGS14 CTAGS15: ctags% ${infiles}
TEXTAGS=def:newcommand:newenvironment ${RUN} ctags$* -wt -o $@ --regex='${REGEX}' ${ARGS}
EXTAGS: extags ${infiles} Makefile
${RUN} ./extags -e --regex-c='${REGEX}' --c++-types=+x --c-types=+x --if0=yes --line-directives=yes -o $@ -L - < srclist
.PRECIOUS: ETAGS CTAGS ETAGS16 CTAGS16 ETAGS17 CTAGS17
FRC:;
#+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.
RM=rm
EMACS=../../src/emacs
all: clean $(addsuffix .test,$(wildcard *.*))
clean:
-$(RM) -f *.new
# TODO:
# - mark the places where the indentation is known to be incorrect,
# and allow either ignoring those errors or not.
%.test: %
$(EMACS) --batch $< \
--eval '(indent-region (point-min) (point-max) nil)' \
--eval '(write-region (point-min) (point-max) "$<.new")'
diff -u -B $< $<.new