From 860069247f3f840e8eb79ce5cc9c0176ea86c048 Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Fri, 25 May 2007 17:53:51 +0000 Subject: [PATCH] Rename and use temporaries svn: r6310 --- .../web-server/prototype-web-server/lang.ss | 2 +- .../prototype-web-server/{ => lang}/labels.ss | 21 +++++++++++-------- .../tests/labels-tests.ss | 12 +++++------ 3 files changed, 19 insertions(+), 16 deletions(-) rename collects/web-server/prototype-web-server/{ => lang}/labels.ss (86%) diff --git a/collects/web-server/prototype-web-server/lang.ss b/collects/web-server/prototype-web-server/lang.ss index 641583df72..4718f3f830 100644 --- a/collects/web-server/prototype-web-server/lang.ss +++ b/collects/web-server/prototype-web-server/lang.ss @@ -1,7 +1,7 @@ (module lang mzscheme (require-for-syntax (lib "etc.ss") (lib "list.ss") - "labels.ss" + "lang/labels.ss" "lang/util.ss" "lang/elim-letrec.ss" "lang/anormal.ss" diff --git a/collects/web-server/prototype-web-server/labels.ss b/collects/web-server/prototype-web-server/lang/labels.ss similarity index 86% rename from collects/web-server/prototype-web-server/labels.ss rename to collects/web-server/prototype-web-server/lang/labels.ss index ae962cd2e2..c7b6c18638 100644 --- a/collects/web-server/prototype-web-server/labels.ss +++ b/collects/web-server/prototype-web-server/lang/labels.ss @@ -1,5 +1,6 @@ (module labels mzscheme (require (lib "md5.ss") + (lib "list.ss") (lib "etc.ss")) (provide make-labeling delete-tag-list!) @@ -24,22 +25,24 @@ (integer->char (add1 (char->integer (string-ref str 0)))) (substring str 1))])) - (define tag-file-path (this-expression-source-directory)) - (define default-file-name ".tag-list") + (define default-file-name (build-path (this-expression-source-directory) ".tag-list")) (define file-system-mutex (make-semaphore 1)) ;; read-tag-list: string -> (listof (list bytes string)) ;; read the tag list from the file system (define (read-tag-list filename) - (if (file-exists? (build-path tag-file-path filename)) - (call-with-input-file (build-path tag-file-path filename) - read) - '())) + (if (file-exists? filename) + (let ([v (call-with-input-file filename + read)]) + (if (eof-object? v) + empty + v)) + empty)) ;; save-tag-list!: (listof (list bytes string)) string -> (listof (list bytes string)) ;; save the tag list in the file system (define (save-tag-list! new-list filename) - (call-with-output-file (build-path tag-file-path filename) + (call-with-output-file filename (lambda (o-port) (write new-list o-port)) 'replace)) @@ -49,8 +52,8 @@ (define delete-tag-list! (case-lambda [(filename) - (when (file-exists? (build-path tag-file-path filename)) - (delete-file (build-path tag-file-path filename)))] + (when (file-exists? filename) + (delete-file filename))] [() (delete-tag-list! default-file-name)])) ;; lookup-tag: bytes string -> string diff --git a/collects/web-server/prototype-web-server/tests/labels-tests.ss b/collects/web-server/prototype-web-server/tests/labels-tests.ss index 2902e8f28c..98ff6a3a3e 100644 --- a/collects/web-server/prototype-web-server/tests/labels-tests.ss +++ b/collects/web-server/prototype-web-server/tests/labels-tests.ss @@ -2,12 +2,12 @@ (require (planet "test.ss" ("schematics" "schemeunit.plt" 2)) (planet "util.ss" ("schematics" "schemeunit.plt" 2)) (lib "etc.ss") - "../labels.ss") - + (lib "file.ss") + "../lang/labels.ss") + + (require/expose (lib "labels.ss" "web-server" "prototype-web-server" "lang") (add1/string)) - (require/expose (lib "labels.ss" "web-server" "prototype-web-server") (add1/string)) - - (define THE-TEST-FILENAME "labels-test-file") + (define THE-TEST-FILENAME (make-temporary-file)) (provide labels-tests-suite) @@ -16,7 +16,7 @@ (define l3 (make-labeling #"bar" THE-TEST-FILENAME)) (define l4 (make-labeling #"baz" THE-TEST-FILENAME)) - (define race-test-file "race-test-file") + (define race-test-file (make-temporary-file)) (define (genbytes) (string->bytes/utf-8