From 5979a424488209dfabc34277d2fb72f57481bcd2 Mon Sep 17 00:00:00 2001 From: Sam Tobin-Hochstadt Date: Wed, 17 Aug 2011 11:24:53 -0400 Subject: [PATCH] Use a temporary directory to eliminate DrDr races in running benchmarks. --- .../tests/racket/benchmarks/common/typed/wrapper.rkt | 11 ++++++++--- collects/tests/racket/benchmarks/common/wrap.rkt | 5 ++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/collects/tests/racket/benchmarks/common/typed/wrapper.rkt b/collects/tests/racket/benchmarks/common/typed/wrapper.rkt index d12118f181..5e01b69697 100644 --- a/collects/tests/racket/benchmarks/common/typed/wrapper.rkt +++ b/collects/tests/racket/benchmarks/common/typed/wrapper.rkt @@ -1,8 +1,8 @@ #lang racket/base (provide (rename-out (module-begin #%module-begin))) -(require (prefix-in ts: typed/scheme/base) +(require (prefix-in ts: typed/racket/base) (for-syntax racket/base (prefix-in r: typed-scheme/typed-reader)) - racket/include typed/scheme/base) + racket/include typed/racket/base racket/file) (define-syntax (module-begin stx) (let* ([name (symbol->string (syntax-property stx 'enclosing-module-name))] @@ -21,4 +21,9 @@ "../wrap-common.rkt" [copy-input (-> Void)] [remove-input (-> Void)]) - (copy-input) (include/reader #,fname r:read-syntax) (remove-input)))) + (define dir (make-temporary-file "input-tmp-~a" 'directory)) + (current-directory dir) + (copy-input) + (include/reader #,fname r:read-syntax) + (remove-input) + (delete-directory dir)))) diff --git a/collects/tests/racket/benchmarks/common/wrap.rkt b/collects/tests/racket/benchmarks/common/wrap.rkt index c59adfc28a..e1cd042e04 100644 --- a/collects/tests/racket/benchmarks/common/wrap.rkt +++ b/collects/tests/racket/benchmarks/common/wrap.rkt @@ -10,7 +10,10 @@ (define tokens (rest (syntax->datum stx))) (define r5rs? (memq 'r5rs tokens)) #`(#%module-begin + (define dir (make-temporary-file "input-tmp-~a" 'directory)) + (current-directory dir) (copy-input) #,@(if r5rs? #'((require r5rs)) #'()) (include #,(format "~a.sch" name)) - (remove-input))) + (remove-input) + (delete-directory dir)))