Make it possible to run each scribble test file by itself.

original commit: 115a3dfbac711d1ef8de2f52d9d1599bbf708333
This commit is contained in:
Eli Barzilay 2012-04-13 20:13:24 -04:00
parent 9a97f6693f
commit eb02149bb7
4 changed files with 23 additions and 21 deletions

View File

@ -3,7 +3,7 @@
(require tests/eli-tester scribble/text/syntax-utils) (require tests/eli-tester scribble/text/syntax-utils)
(provide begin/collect-tests) (provide begin/collect-tests)
(module+ main (begin/collect-tests))
(define (begin/collect-tests) (define (begin/collect-tests)
(test (test

View File

@ -19,6 +19,7 @@
(send renderer render docs fns r-info))) (send renderer render docs fns r-info)))
(provide docs-tests) (provide docs-tests)
(module+ main (docs-tests))
(define (docs-tests) (define (docs-tests)
(when (or (file-exists? work-dir) (directory-exists? work-dir)) (when (or (file-exists? work-dir) (directory-exists? work-dir))
(delete-directory/files work-dir)) (delete-directory/files work-dir))
@ -26,19 +27,21 @@
(dynamic-wind void (dynamic-wind void
(lambda () (lambda ()
(define files (map path-element->string (directory-list source-dir))) (define files (map path-element->string (directory-list source-dir)))
(for ([scrbl (in-list files)] (test do
#:when (regexp-match? #rx"\\.scrbl$" scrbl) (for ([scrbl (in-list files)]
[txt (in-value (regexp-replace #rx"\\.scrbl$" scrbl ".txt"))] #:when (regexp-match? #rx"\\.scrbl$" scrbl)
#:when (member txt files)) [txt (in-value (regexp-replace #rx"\\.scrbl$" scrbl ".txt"))]
;; (printf "Testing ~s -> ~s\n" scrbl txt) #:when (member txt files))
(define src-file (build-path source-dir scrbl)) ;; (printf "Testing ~s -> ~s\n" scrbl txt)
(define expect-file (build-path source-dir txt)) (define src-file (build-path source-dir scrbl))
(define generated-file (build-path work-dir "gen.txt")) (define expect-file (build-path source-dir txt))
(define (contents file) (define generated-file (build-path work-dir "gen.txt"))
(regexp-replace #rx"\n+$" (file->string file) "")) (define (contents file)
(build-text-doc src-file "gen.txt") (regexp-replace #rx"\n+$" (file->string file) ""))
(test #:failure-message (build-text-doc src-file "gen.txt")
(format "mismatch for: \"~a\", expected text in: \"~a\", got:\n~a" (test #:failure-message
scrbl txt (contents generated-file)) (format
(string=? (contents expect-file) (contents generated-file))))) "mismatch for: \"~a\", expected text in: \"~a\", got:\n~a"
scrbl txt (contents generated-file))
(string=? (contents expect-file) (contents generated-file))))))
(lambda () (delete-directory/files work-dir)))) (lambda () (delete-directory/files work-dir))))

View File

@ -2,8 +2,6 @@
(require tests/eli-tester (prefix-in scr: scribble/reader) racket/list) (require tests/eli-tester (prefix-in scr: scribble/reader) racket/list)
(provide reader-tests)
(define the-tests #<<END-OF-TESTS (define the-tests #<<END-OF-TESTS
;; format: ;; format:
@ -901,7 +899,8 @@ END-OF-TESTS
(define -\\error-> (mk-error-test read/BS)) (define -\\error-> (mk-error-test read/BS))
;; running the tests ;; running the tests
(provide reader-tests)
(module+ main (reader-tests))
(define (reader-tests) (define (reader-tests)
(define (matching? x y) (define (matching? x y)
(cond [(equal? x y) #t] (cond [(equal? x y) #t]

View File

@ -4,10 +4,10 @@
(prefix-in doc: (lib "scribblings/scribble/text.scrbl"))) (prefix-in doc: (lib "scribblings/scribble/text.scrbl")))
(provide text-lang-tests) (provide text-lang-tests)
(module+ main (text-lang-tests))
(define (text-lang-tests) (define (text-lang-tests)
;; (sample-file-tests) ;; (sample-file-tests)
(in-documentation-tests)) (test do (in-documentation-tests)))
;; unused now ;; unused now
(define-runtime-path text-dir "text") (define-runtime-path text-dir "text")