$ cat ~/tmp/test-stats.scm (import (chicken file) (chicken pathname) (chicken process-context)) (let ((egg-files (command-line-arguments)) (eggs-with-tests 0) (depend-on-test 0) (no-test-deps 0)) (for-each (lambda (egg-file) (let* ((egg-data (with-input-from-file egg-file read)) (has-tests? (file-exists? (make-pathname (list (pathname-directory egg-file) "tests") "run.scm"))) (test-deps (alist-ref 'test-dependencies egg-data eq? '()))) (when has-tests? (set! eggs-with-tests (+ eggs-with-tests 1)) (when (memq 'test test-deps) (set! depend-on-test (+ depend-on-test 1))) (when (null? test-deps) (set! no-test-deps (+ no-test-deps 1)))))) egg-files) (print "Eggs with tests: " eggs-with-tests) (print "Eggs with tests that depend on the test egg: " depend-on-test) (print "Eggs with tests that do not depend on the test egg: " (- eggs-with-tests depend-on-test)) (print "Eggs with tests that don't depend on any egg: " no-test-deps) ) $ csi -s ~/tmp/test-stats.scm $(ls */*/*.egg) Eggs with tests: 253 Eggs with tests that depend on the test egg: 200 Eggs with tests that do not depend on the test egg: 53 Eggs with tests that don't depend on any egg: 30