#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)