#!eof (add-tests-with-string-output "tokenizer" [(let () (define test-tokenizer (lambda (p) ;(display (input-port? p) (standard-error-port)) (let ([tok (read-token p)]) (cond [(eof-object? tok) 'ok] [(or (eq? tok 'lparen) (eq? tok 'rparen) (eq? tok 'vparen) (eq? tok 'lbrack) (eq? tok 'rbrack) (eq? tok 'dot) (and (pair? tok) (or (eq? (car tok) 'datum) (eq? (car tok) 'macro)))) (test-tokenizer p)] [else (display tok) (error 'test "Invalid token ~s" tok)])))) (define test-file (lambda (filename) (display "Testing " (standard-error-port)) (display filename (standard-error-port)) (display "..." (standard-error-port)) (let ([p (open-input-file filename)]) ; (display (input-port? p)(standard-error-port)) (test-tokenizer p)))) (define test-files (lambda (files) (unless (null? files) (test-file (car files)) (test-files (cdr files))))) (define filenames '("libsymboltable-3.3.ss" "libhandlers-3.3.ss" "libcore-4.3.ss" "libio-4.2.ss" "libwriter-4.1.ss" "libtokenizer-4.3.ss" "compiler-4.3.ss")) (when (null? filenames) (error 'no-files-provided-in-test "add them")) (test-files filenames) 'ok) => "ok\n"] ) (add-tests-with-string-output "reader" [(let () (define test-reader (lambda (p) (let ([x (read p)]) (cond [(eof-object? x) 'ok] [else (test-reader p)])))) (define test-file (lambda (filename) (display "Testing " (standard-error-port)) (display filename (standard-error-port)) (display "..." (standard-error-port)) (test-reader (open-input-file filename)))) (define test-files (lambda (files) (unless (null? files) (test-file (car files)) (test-files (cdr files))))) (define filenames '("libsymboltable-3.3.ss" "libhandlers-3.3.ss" "libcore-4.3.ss" "libio-4.2.ss" "libwriter-4.1.ss" "libtokenizer-4.3.ss" "compiler-4.3.ss")) (when (null? filenames) (error 'no-files-provided-in-test "add them")) (test-files filenames) 'ok) => "ok\n"] )