From 0f76b637dbbf8d357bd1856b388fed66ae5aa0fd Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 18 Jun 2006 01:58:29 +0000 Subject: [PATCH] improved create-executable test suite, fix for Mac OS X MrEd executable with given collection path svn: r3391 original commit: cb7c8232065b7ca82d05cea0aea0bdca2ed91e09 --- collects/tests/mzscheme/embed.ss | 65 ++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/collects/tests/mzscheme/embed.ss b/collects/tests/mzscheme/embed.ss index 2ffa11ba44..2a9685f9f7 100644 --- a/collects/tests/mzscheme/embed.ss +++ b/collects/tests/mzscheme/embed.ss @@ -170,4 +170,69 @@ `("-ZmvqL" "embed-me5.ss" "tests/mzscheme")) (try-exe mr-dest "This is 5: #\n" #t) +;; Try the mzc interface: +(require (lib "dirs.ss" "setup") + (lib "file.ss")) +(define mzc (build-path (find-console-bin-dir) "mzc")) + +(define (mzc-tests mred?) + (parameterize ([current-directory (find-system-path 'temp-dir)]) + + (system* mzc + (if mred? "--gui-exe" "--exe") + (path->string (mk-dest mred?)) + (path->string (build-path (collection-path "tests" "mzscheme") "embed-me1.ss"))) + (try-exe (mk-dest mred?) "This is 1\n" mred?) + + ;; Check that etc.ss isn't found if it's not included: + (system* mzc + (if mred? "--gui-exe" "--exe") + (path->string (mk-dest mred?)) + (path->string (build-path (collection-path "tests" "mzscheme") "embed-me6.ss"))) + (try-exe (mk-dest mred?) "This is 6\nno etc.ss\n" mred?) + + ;; And it is found if it is included: + (system* mzc + (if mred? "--gui-exe" "--exe") + (path->string (mk-dest mred?)) + "++lib" "etc.ss" "mzlib" + (path->string (build-path (collection-path "tests" "mzscheme") "embed-me6.ss"))) + (try-exe (mk-dest mred?) "This is 6\n#t\n" mred?) + + ;; Or, it's found if we set the collection path: + (system* mzc + (if mred? "--gui-exe" "--exe") + (path->string (mk-dest mred?)) + "--collects-path" + (path->string (find-collects-dir)) + (path->string (build-path (collection-path "tests" "mzscheme") "embed-me6.ss"))) + (try-exe (mk-dest mred?) "This is 6\n#t\n" mred?) + + ;; Try --collects-dest mode + (system* mzc + (if mred? "--gui-exe" "--exe") + (path->string (mk-dest mred?)) + "++lib" "etc.ss" "mzlib" + "--collects-dest" "cts" + "--collects-path" "cts" + (path->string (build-path (collection-path "tests" "mzscheme") "embed-me6.ss"))) + (try-exe (mk-dest mred?) "This is 6\n#t\n" mred?) + (delete-directory/files "cts") + (try-exe (mk-dest mred?) "This is 6\nno etc.ss\n" mred?) + + (void))) + +(mzc-tests #t) +(mzc-tests #f) + +;; One MrEd-specific test with mzc: +(parameterize ([current-directory (find-system-path 'temp-dir)]) + (system* mzc + "--gui-exe" + (path->string (mk-dest #t)) + (path->string (build-path (collection-path "tests" "mzscheme") "embed-me5.ss"))) + (try-exe (mk-dest #t) "This is 5: #\n" #t)) + + + (report-errs)