From 1b3843bd9cb6e4cb8fe79e4daf6742633f5c7360 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Mon, 30 Aug 2010 09:17:21 -0600 Subject: [PATCH] fix yet more ss<->rkt problems that interfered with *SL executables Closes PR 11106 original commit: 76c3c7621405d189993fa8935de2c6688567700f --- collects/tests/racket/embed-me12-rd.ss | 15 +++++++++++++ collects/tests/racket/embed.rktl | 30 ++++++++++++++++++++------ 2 files changed, 38 insertions(+), 7 deletions(-) create mode 100644 collects/tests/racket/embed-me12-rd.ss diff --git a/collects/tests/racket/embed-me12-rd.ss b/collects/tests/racket/embed-me12-rd.ss new file mode 100644 index 0000000000..682396a20b --- /dev/null +++ b/collects/tests/racket/embed-me12-rd.ss @@ -0,0 +1,15 @@ +(module embed-me11-rd mzscheme + (provide (rename *read-syntax read-syntax) + (rename *read read)) + + (define (*read port) + `(module embed-me11 mzscheme + (with-output-to-file "stdout" + (lambda () + (printf ,(read port) + ;; Use `getenv' at read time!!! + ,(getenv "ELEVEN"))) + 'append))) + + (define (*read-syntax src port) + (*read port))) diff --git a/collects/tests/racket/embed.rktl b/collects/tests/racket/embed.rktl index f959ec7031..25924e8f06 100644 --- a/collects/tests/racket/embed.rktl +++ b/collects/tests/racket/embed.rktl @@ -397,23 +397,36 @@ ;; Try including source that needs a reader extension -(define (try-reader-test mred?) +(define (try-reader-test 12? mred? ss-file? ss-reader?) + ;; actual "11" files use ".rkt", actual "12" files use ".ss" (define dest (mk-dest mred?)) - (define filename "embed-me11.rkt") + (define filename (format (if ss-file? + "embed-me~a.ss" + "embed-me~a.rkt") + (if 12? "12" "11"))) (define (flags s) (string-append "-" s)) + (printf "Trying ~s ~s ~s ~s...\n" (if 12? "12" "11") mred? ss-file? ss-reader?) + (create-embedding-executable dest #:modules `((#t (lib ,filename "tests" "racket"))) #:cmdline `(,(flags "l") ,(string-append "tests/racket/" filename)) #:src-filter (lambda (f) (let-values ([(base name dir?) (split-path f)]) - (equal? name (string->path filename)))) + (equal? name (path-replace-suffix (string->path filename) + (if 12? #".ss" #".rkt"))))) #:get-extra-imports (lambda (f code) (let-values ([(base name dir?) (split-path f)]) - (if (equal? name (string->path filename)) - '((lib "embed-me11-rd.rkt" "tests" "racket")) + (if (equal? name (path-replace-suffix (string->path filename) + (if 12? #".ss" #".rkt"))) + `((lib ,(format (if ss-reader? + "embed-me~a-rd.ss" + "embed-me~a-rd.rkt") + (if 12? "12" "11")) + "tests" + "racket")) null))) #:mred? mred?) @@ -422,8 +435,11 @@ (putenv "ELEVEN" "done")) (define (try-reader) - (try-reader-test #f) - (try-reader-test #t)) + (for ([12? (in-list '(#f #t))]) + (try-reader-test 12? #f #f #f) + (try-reader-test 12? #t #f #f) + (try-reader-test 12? #f #t #f) + (try-reader-test 12? #f #f #t))) ;; ----------------------------------------