1.0.13.1: Various cleanups and touchups in tests/
* Tests written in shell modified to use shell functions, rather than
variables, so that tests written in shell can run when the build
directory's absolute pathname contains whitespace (as home
directories might tend to on Windows).
* tests/subr.sh: new file, with some shell functions, variables, and
settings to support the above. Files in the test suite written in
shell should source this file.
* Factored code for creating and cleaning up temporary directories for
tests written in shell that touch the file system. Test scripts
written in shell should now call "use_test_subdirectory" to create
and chdir to a test directory, and the shell should clean out the
test directory at exit time.
* Most tests written in shell now quote filenames that derive from the
truename of the current working directory or from an environment
variable, as such names may contain whitespace. (Variables set to
non-offending constant strings in the script itself need not be
quoted this way.)
* tests/filesys.test.sh was not prepared to deal with a TRUENAME that
resolves all symbolic links in a pathname, as a soon-to-be-committed
TRUENAME will; "/tmp" on MacOSX is a symbolic link to
"/private/tmp". POSIX pwd(1) takes a -P option to resolve symbolic
links in the working directory's path, so we'll try that.
* Tests now supply --no-userinit, --no-sysinit arguments, so that we
don't need to conditionalize these for win32.
* Some tests written in shell changed from using --eval <string> to
heredocs, which allows the Lisp code the be formatted nicer and
avoids some shell quotation headaches (not all, of course).
* Minor shell errors corrected in some tests. Notable example:
program; if [ $? != $value ]; then echo failed $?; fi
Because "[" is a child process, after the test $? is set to the exit
status of the "["; the exit status of "program" is lost.
21 files changed: