Salmonella -- a tool for testing Chicken eggs

Salmonella is a tool for testing Chicken eggs from the official repository.

Salmonella fetches the eggs repository listing from http://www.call-with-current-continuation.org/eggs and tries to install each egg, reporting failure or success. Each egg is individually tested, that is, salmonella sets the local destination repository empty before testing an egg (it's like installing an egg on a fresh repository, so broken dependencies can be spotted).

Some salmonella features:

Requirements

Usage

Salmonella is a command line tool. Salmonella's command line arguments' syntax is like Scheme's.

 Usage: salmonella -h | -help | --help | -?
           salmonella <conf-file>
           salmonella <options>
 
 <options> are Scheme expressions. <conf-file> is a file which may
 contain the same Scheme expressions as <options>'s. The following
 expressions are recognized:
 
              == Expression ==                   == Default ==
  (chicken-setup "<path to chicken-setup>")    chicken-setup
  (chicken-setup-args "<args>"                 a procedure which returns "-d -destdir (repo-test-dir)" if chicken
                                               version is greater than 2.5 or "-d" otherwise.
  (env-vars "<environment variables settings>" CHICKEN_REPOSITORY=(repo-test-dir) CHICKEN_INCLUDE_PATH=(repo-test-dir)
  (repo-test-dir "<path to repo-test-dir>")    `pwd`/salmonella-repo
  (skip-eggs (list "egg1" "egg2" ...))         '()
  (verbose <bool>)                             #f
  (logfile "filename")                         salmonella.log
  (eggs (lambda () ...))                       a procedure which fetches eggs list from call/cc.org
  (system-deps "filename")                     #f
  (pkg-manager "system pkg manager & args")    #f
  (resume <bool>)                              #f
  (dont-ask <bool>)                            #f
  (progress-file "filename")                   salmonella.progress
  (html-output "dirname")                      salmonella-report.  If #f, no HTML output
  (css-file "filename")                        #f
 Example:
 
  salmonella '(chicken-setup "/usr/local/chicken/bin/chicken-setup") (verbose #t)'

Options

  (egg1 package1 package2 ... packagen)
  (egg2 package1 package2 ... packagen)

This option should be used with the pkg-manager option. Default is #f.