Use a temporary directory to eliminate DrDr races in running benchmarks.
This commit is contained in:
parent
9608c0f041
commit
5979a42448
|
@ -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))))
|
||||
|
|
|
@ -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)))
|
||||
|
|
Loading…
Reference in New Issue
Block a user