I have the following macro: (define-syntax (define/test stx) (syntax-parse stx [(_ (id arg ...) body ... #:test test-body ...) (with-syntax ([id-str (symbol->string (syntax->datum #'id))]) #'(begin (define (id arg ...) body ...) (print id-str) (module+ test (require rackunit) (test-case id-str test-body ...))))]))
Which handles some testing boilerplate and allows me to use it like so: (define/test (my-fn a b c) (print a) (print b) (print c) #:test (check-true #t) (check-false #t)) The problem is that the (require rackunit) expression inside of (module+ test) is not being picked up after macro expansion. Running either the code or the tests (via raco test) results in: unbound identifier check-true. Adding (module+ (require rackunit)) to the top of the file solves the problem and both the file and tests run as expected. What am I missing? Thanks. -- Talk to you soon, Scott Klarenbach PointyHat Software Corp. www.pointyhat.ca p 604-568-4280 e sc...@pointyhat.ca 200-1575 W. Georgia Vancouver, BC V6G2V3 _______________________________________ To iterate is human; to recur, divine
____________________ Racket Users list: http://lists.racket-lang.org/users