test-ex.rkt
#lang racket
(require "unit-test.rkt")
(require racket/snip)
(require racket/list)
(define (get-ref-file-name file-name)
  (path-replace-suffix file-name ".ref.mp"))
(define (file-newer f1 f2)
  (< (file-or-directory-modify-seconds f1)
     (file-or-directory-modify-seconds f2)))
(define (ref-file-up-to-date file-name)
  (let ((ref (get-ref-file-name file-name)))
    (and (file-readable ref)
         (file-newer file-name ref))))
(define (make-it file-name)
  (display (string-append "------------------ " file-name " begin -----\n"))
  (when (test-it file-name)
    (print (make-object image-snip% 
                        (path-replace-suffix 
                         (build-path "results" file-name)
                         ".png") 'png)) 
    file-name)
  (display (string-append "\n------------------ " file-name " begin -----\n")))
(define (my-main)
  (parameterize ((developping? #t)
                 (current-directory "examples"))
    (stream->list
     (stream-map 
      make-it
      (stream-filter
       (lambda (x) x)
       (stream-map
        (compose
         (lambda (file-name)
           (and (file-readable file-name)
                (not (ref-file-up-to-date file-name))
                file-name))
         (lambda (x) (string-append "ex-" x ".rkt"))
         number->string)
        (in-range 1 400)))))
    (void)))
(my-main)