1.0.13.1: Various cleanups and touchups in tests/
commita42922aef908a1b45ae5420d51b2ca7ee1bafb9e
authorRichard M Kreuter <kreuter@users.sourceforge.net>
Fri, 28 Dec 2007 19:46:57 +0000 (28 19:46 +0000)
committerRichard M Kreuter <kreuter@users.sourceforge.net>
Fri, 28 Dec 2007 19:46:57 +0000 (28 19:46 +0000)
treed944b3bdabd6a7b4383f2ea7a65e6271e759b08a
parentbb4a4dd1cb4ddd79fafbc6dabc0cb987d44c326d
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:
sbcl-pwd.sh
tests/clocc-ansi.test.sh
tests/clos.test.sh
tests/compiler.test.sh
tests/core.test.sh
tests/expect.sh
tests/filesys.test.sh
tests/finalize.test.sh
tests/foreign.test.sh
tests/init.test.sh
tests/room.test.sh
tests/run-program.test.sh
tests/run-tests.lisp
tests/run-tests.sh
tests/side-effectful-pathnames.test.sh
tests/stress-gc.sh
tests/subr.sh [new file with mode: 0644]
tests/threads.test.sh
tests/toplevel.sh
tests/undefined-classoid-bug.test.sh
version.lisp-expr