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.
To run tests on the entire Emacs tree, run "make check" from the
top-level directory. Most tests are in the directory
"test/automated". From the "test/automated" directory, run "make
"test/". From the "test/" directory, run "make
<filename>" to run the tests for <filename>.el(c). See
"test/automated/Makefile" for more information.
"test/Makefile" for more information.
** Understanding Emacs Internals.
......
......@@ -922,11 +922,11 @@ TAGS tags: lib lib-src src
$(MAKE) -C src tags
check: all
@if test ! -d test/automated; then \
@if test ! -d test; then \
echo "You do not seem to have the test/ directory."; \
echo "Maybe you are using a release tarfile, rather than a repository checkout."; \
else \
$(MAKE) -C test/automated check; \
$(MAKE) -C test check; \
fi
dist:
......
......@@ -4147,7 +4147,7 @@ else
SEPCHAR=':'
fi
AC_DEFINE_UNQUOTED(SEPCHAR, ['$SEPCHAR'], [Character that separates PATH elements.])
dnl This is for MinGW, and is used in test/automated/Makefile.in.
dnl This is for MinGW, and is used in test/Makefile.in.
dnl The MSYS Bash has heuristics for replacing ':' with ';' when it
dnl decides that a command-line argument to be passed to a MinGW program
dnl is a PATH-style list of directories. But that heuristics plays it
......@@ -5298,13 +5298,13 @@ AC_CONFIG_FILES([Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile \
leim/Makefile nextstep/Makefile nt/Makefile])
dnl test/ is not present in release tarfiles.
opt_makefile=test/automated/Makefile
opt_makefile=test/Makefile
if test -f "$srcdir/$opt_makefile.in"; then
SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile"
dnl Again, it's best not to use a variable. Though you can add
dnl ", [], [opt_makefile='$opt_makefile']" and it should work.
AC_CONFIG_FILES([test/automated/Makefile])
AC_CONFIG_FILES([test/Makefile])
fi
......
# 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