diff --git a/quad/qtest/all-tests.rkt b/quad/qtest/all-tests.rkt new file mode 100644 index 00000000..062359de --- /dev/null +++ b/quad/qtest/all-tests.rkt @@ -0,0 +1,15 @@ +#lang racket +(require quadwriter + pitfall/check-pdf + racket/runtime-path + "paths-to-test.rkt") + +(for ([test-path (in-list (test-paths))]) + (define pdf-path (path-replace-extension test-path #".pdf")) + (define-values (dir name _) (split-path test-path)) + (displayln (path->string name)) + (check-pdfs-equal? (time (parameterize ([quadwriter-test-mode #t] + [current-output-port (open-output-nowhere)]) + (render-pdf (dynamic-require test-path 'doc) pdf-path test-path) + pdf-path)) + (test-pdf-name test-path))) \ No newline at end of file diff --git a/quad/qtest/all.rkt b/quad/qtest/all.rkt deleted file mode 100644 index 482c82c4..00000000 --- a/quad/qtest/all.rkt +++ /dev/null @@ -1,43 +0,0 @@ -#lang racket -(require quadwriter pitfall/check-pdf racket/runtime-path) - -(define-for-syntax (test-pdf-name path) - (path-add-extension (path-replace-extension path #".pdf") #"" #"-tester.")) - -(define-syntax (make-test-pdf stx) - (syntax-case stx () - [(_) #'(begin)] - [(_ PATH . REST) - (with-syntax ([PDF-NAME (test-pdf-name (syntax-e #'PATH))]) - #'(begin - (define-runtime-path rp PATH) - (time - (parameterize ([quadwriter-test-mode #t]) - (render-pdf (dynamic-require PATH 'doc) PDF-NAME rp))) - (make-test-pdf . REST)))])) - -(define-syntax (test-each stx) - (syntax-case stx () - [(_) #'(begin)] - [(_ MOD-PATH . REST) - (with-syntax ([PDF-NAME (test-pdf-name (syntax-e #'MOD-PATH))]) - #'(begin - (define-runtime-path path-to-test MOD-PATH) - (define-runtime-path test-base PDF-NAME) - (println MOD-PATH) - (define-runtime-path path (path-replace-extension MOD-PATH #".pdf")) - (check-pdfs-equal? (time (parameterize ([quadwriter-test-mode #t] - [current-output-port (open-output-nowhere)]) - (render-pdf (dynamic-require path-to-test 'doc) path path-to-test) - path)) test-base) - (test-each . REST)))])) - -(test-each "test-docs.rkt" - "test-emoji.rkt" - "test-fallback-mini.rkt" - "test-fallback-super.rkt" - "test-hello.rkt" - "test-kafka.rkt" - "test-sections.rkt" - "test-symbol.rkt" - "test-image.rkt") diff --git a/quad/qtest/paths-to-test.rkt b/quad/qtest/paths-to-test.rkt new file mode 100644 index 00000000..0370ba3c --- /dev/null +++ b/quad/qtest/paths-to-test.rkt @@ -0,0 +1,14 @@ +#lang racket/base +(require racket/runtime-path) +(provide (all-defined-out)) + +(define-runtime-path here ".") + +(define (test-paths) + (for/list ([test-path (in-directory here)] + #:when (regexp-match #rx"test-.*.rkt$" (path->string test-path))) + test-path)) + + +(define (test-pdf-name path) + (path-add-extension (path-replace-extension path #".pdf") #"" #"-tester.")) \ No newline at end of file diff --git a/quad/qtest/raco.rkt b/quad/qtest/raco.rkt index c3b185f5..ef4b7f18 100644 --- a/quad/qtest/raco.rkt +++ b/quad/qtest/raco.rkt @@ -8,7 +8,8 @@ (λ () (match (with-handlers ([exn:fail? (λ (exn) #f)]) (vector-ref (current-command-line-arguments) 0)) - ["test" (dynamic-require 'qtest/all #f)] + ["test" (dynamic-require 'qtest/all-tests #f)] + ["update" (dynamic-require 'qtest/update-tests #f)] [_ (displayln "no cmd given")])) #:logger qtest-logger 'info diff --git a/quad/qtest/test-baseline-shift-tester.pdf b/quad/qtest/test-baseline-shift-tester.pdf new file mode 100644 index 00000000..866043b0 Binary files /dev/null and b/quad/qtest/test-baseline-shift-tester.pdf differ diff --git a/quad/qtest/test-docs-tester.pdf b/quad/qtest/test-docs-tester.pdf index 7d28a589..40e2fa78 100644 Binary files a/quad/qtest/test-docs-tester.pdf and b/quad/qtest/test-docs-tester.pdf differ diff --git a/quad/qtest/test-emoji-tester.pdf b/quad/qtest/test-emoji-tester.pdf index 8b23fef8..21a1a029 100644 Binary files a/quad/qtest/test-emoji-tester.pdf and b/quad/qtest/test-emoji-tester.pdf differ diff --git a/quad/qtest/test-fallback-mini-tester.pdf b/quad/qtest/test-fallback-mini-tester.pdf index c8db0113..c4ddbef7 100644 Binary files a/quad/qtest/test-fallback-mini-tester.pdf and b/quad/qtest/test-fallback-mini-tester.pdf differ diff --git a/quad/qtest/test-fallback-super-tester.pdf b/quad/qtest/test-fallback-super-tester.pdf index d38b086a..04af30ef 100644 Binary files a/quad/qtest/test-fallback-super-tester.pdf and b/quad/qtest/test-fallback-super-tester.pdf differ diff --git a/quad/qtest/test-hello-tester.pdf b/quad/qtest/test-hello-tester.pdf index e1d95059..4356b5b5 100644 Binary files a/quad/qtest/test-hello-tester.pdf and b/quad/qtest/test-hello-tester.pdf differ diff --git a/quad/qtest/test-image-tester.pdf b/quad/qtest/test-image-tester.pdf index 49fa2cc6..5528257f 100644 Binary files a/quad/qtest/test-image-tester.pdf and b/quad/qtest/test-image-tester.pdf differ diff --git a/quad/qtest/test-kafka-tester.pdf b/quad/qtest/test-kafka-tester.pdf index 338e2750..fc844095 100644 Binary files a/quad/qtest/test-kafka-tester.pdf and b/quad/qtest/test-kafka-tester.pdf differ diff --git a/quad/qtest/test-ot-features-tester.pdf b/quad/qtest/test-ot-features-tester.pdf new file mode 100644 index 00000000..4b15d9b8 Binary files /dev/null and b/quad/qtest/test-ot-features-tester.pdf differ diff --git a/quad/qtest/test-sections-tester.pdf b/quad/qtest/test-sections-tester.pdf index 09cfe610..dfa9f6ea 100644 Binary files a/quad/qtest/test-sections-tester.pdf and b/quad/qtest/test-sections-tester.pdf differ diff --git a/quad/qtest/test-symbol-tester.pdf b/quad/qtest/test-symbol-tester.pdf index a6a4de76..926c34f9 100644 Binary files a/quad/qtest/test-symbol-tester.pdf and b/quad/qtest/test-symbol-tester.pdf differ diff --git a/quad/qtest/update-tests.rkt b/quad/qtest/update-tests.rkt new file mode 100644 index 00000000..8cf2ab85 --- /dev/null +++ b/quad/qtest/update-tests.rkt @@ -0,0 +1,9 @@ +#lang racket/base +(require quadwriter + "paths-to-test.rkt") + +(for ([test-path (in-list (test-paths))]) + (define-values (dir name _) (split-path test-path)) + (displayln (path->string name)) + (time (parameterize ([quadwriter-test-mode #t]) + (render-pdf (dynamic-require test-path 'doc) (test-pdf-name test-path) test-path)))) \ No newline at end of file