diff --git a/collects/meta/drdr/metadata.ss b/collects/meta/drdr/metadata.ss index f9d1428eac..51d29fb333 100644 --- a/collects/meta/drdr/metadata.ss +++ b/collects/meta/drdr/metadata.ss @@ -50,7 +50,7 @@ (define props:get-prop (hash-ref! props-cache rev (lambda () - (define tmp-file (make-temporary-file "props~a.ss")) + (define tmp-file (make-temporary-file "props~a.ss" #f (current-temporary-directory))) (and ; Checkout the props file (scm-export diff --git a/collects/meta/drdr/path-utils.ss b/collects/meta/drdr/path-utils.ss index 2b508d99ab..7259f59eab 100644 --- a/collects/meta/drdr/path-utils.ss +++ b/collects/meta/drdr/path-utils.ss @@ -1,6 +1,9 @@ #lang scheme (require scheme/file) +(define current-temporary-directory + (make-parameter #f)) + (define (directory-list->directory-list* l) (sort (filter-not (compose (lambda (s) @@ -41,6 +44,7 @@ (path->string pth-string))) (provide/contract + [current-temporary-directory (parameter/c (or/c false/c path-string?))] [safely-delete-directory (path-string? . -> . void)] [directory-list->directory-list* ((listof path?) . -> . (listof path?))] [directory-list* (path-string? . -> . (listof path?))] diff --git a/collects/meta/drdr/plt-build.ss b/collects/meta/drdr/plt-build.ss index 10ecd143d9..7477ccb24f 100644 --- a/collects/meta/drdr/plt-build.ss +++ b/collects/meta/drdr/plt-build.ss @@ -230,7 +230,7 @@ (stop-job-queue! test-workers)) (define (make-fresh-home-dir) - (define new-dir (make-temporary-file "home~a" 'directory)) + (define new-dir (make-temporary-file "home~a" 'directory (current-temporary-directory))) (with-handlers ([exn:fail? void]) (copy-directory/files (hash-ref (current-env) "HOME") new-dir)) (path->string new-dir)) @@ -263,6 +263,7 @@ (make-directory* tmp-dir) ; We are running inside of a test directory so that random files are stored there (parameterize ([current-directory test-dir] + [current-temporary-directory tmp-dir] [current-rev rev]) (with-env (["PLTSTDERR" "error"] ["TMPDIR" (path->string tmp-dir)]