[asdf-install-devel] Portability/reliability patches

Dan Muller pikdj2002 at sneakemail.com
Sat Jan 5 19:13:34 UTC 2008



Available to be pulled from

          http://danm.homelinux.org/darcs/asdf-install/submitted

Most, but not all, are for the unit tests. Descriptions follow.

With these patches, I can run the unit tests cleanly with CLISP on
Windows, Lispworks on Windows, and CLISP on Debian. The only other
platform I'm trying to test right now is SBCL on Debian, and I'm
having some difficulties there, probably because it has its own
version of ASDF and ASDF-INSTALL preloaded.

---------------------------------------------------------------

Sat Dec 29 20:36:43 Eastern Standard Time 2007  Dan Muller<pikdj2002 at sneakemail.com>
  * Untabified .asdf file, removed ref to deprecated.lisp.

Sat Dec 29 23:37:53 Eastern Standard Time 2007  Dan Muller<pikdj2002 at sneakemail.com>
  * Fixes for gpg when running CLISP.

  SHELL-COMMAND for Cygwin was badly broken, I didn't feel like fixing
  it, and it differs from RETURN-OUTPUT-FROM-PROGRAM minimally in
  purpose. So I changed GPG-RESULTS to call RETURN-OUTPUT-FROM-PROGRAM
  instead of SHELL-COMMAND. This requires calling FIND-PROGRAM, since
  RETURN-OUTPUT-FROM-PROGRAM doesn't guarantee running the program
  through the shell, and thus needs the fully-qualified name of the
  program to run.

  Since FIND-PROGRAM was in installer.lisp and GPG-RESULTS was in
  port.lisp, which goes against existing code dependencies, I moved
  GPG-RESULTS (which is not platform specific) to installer.lisp.

  Since FIND-PROGRAM needs an actual file name, I added
  *GPG-PROGRAM*, and initialize it similarly to *GNU-TAR-PROGRAM*,
  adding the .exe extension on Windows platforms. It might be
  useful to document and export this at some point.

  This change has the potential to cause breakage in some environments,
  since *PROGRAM-DIRECTORIES* is initialized only to /bin and /usr/bin
  on Unix systems. The SHELL-COMMAND implementations generally run the
  requested activity via the shell, where the PATH might be different.

  On the plus side, there is only one remaining place that uses
  SHELL-COMMAND, namely SYMLINK-FILES, and that doesn't even care about
  the command's output. Makes one think that SHELL-COMMAND might be able
  to go away someday soon ... all eight versions of it.

Sun Dec 30 10:28:15 Eastern Standard Time 2007  Dan Muller<pikdj2002 at sneakemail.com>
  * Added binding of ASDF::*DEFINED-SYSTEMS* to tests.

  This is similar to code that I took out of ASDF-INSTALL itself, where
  it was unnecessary (or so I still believe). Here in the test setup
  it's an expedient method of isolating the tests' ASDF state from each
  other and from the surrounding environment.

  * Corrected "expected result" data for two tests.

  When installing MOPTILITIES, we also expect MOPTILITIES-TEST,
  CLOSER-MOP, LIFT, LIFT-TEST, and LW-COMPAT to be installed. The first
  of these was already being tested for. The last is omitted if we're
  testing under Lispworks.

  These mistakes were discovered after applying the previous patch that
  binds ASDF::*DEFINED-SYSTEMS*.

Sat Jan  5 11:36:23 Eastern Standard Time 2008  Dan Muller <pikdj2002 at sneakemail.com>
  * Resolving conflicts with Gary's changes.

Sat Jan  5 13:57:18 Eastern Standard Time 2008  Dan Muller <pikdj2002 at sneakemail.com>
  * Unit test portability & reliability improvements.

  Adjusted eval-time *WORKING-DIRECTORY*. Needed w/ CLISP.

  Use external "rm" to set up working directory.

  Disabled one test due to failure on CLISP. See comments in code.

  Adjusted expected results in numerous places. Binding
  ASDF::*DEFINED-SYSTEMS* forces each test's results to be
  independent both of other tests and of the surrounding
  environment.

  Adjusted "two words" to be under the "scratch" directory. Removed
  directory cleanup in suite space-in-working-directory, since it's
  then no longer needed.

  Changed the way *WORKING-DIRECTORY* is initialized in that same
  suite, since binding ASDF::*DEFINED-SYSTEMS* makes
  ASDF:SYSTEM-RELATIVE-PATHNAME inappropriate at that point.


-- 
Dan Muller



More information about the asdf-install-devel mailing list