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
|
#lang racket/base
|
||||||
(provide (rename-out (module-begin #%module-begin)))
|
(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))
|
(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)
|
(define-syntax (module-begin stx)
|
||||||
(let* ([name (symbol->string (syntax-property stx 'enclosing-module-name))]
|
(let* ([name (symbol->string (syntax-property stx 'enclosing-module-name))]
|
||||||
|
@ -21,4 +21,9 @@
|
||||||
"../wrap-common.rkt"
|
"../wrap-common.rkt"
|
||||||
[copy-input (-> Void)]
|
[copy-input (-> Void)]
|
||||||
[remove-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 tokens (rest (syntax->datum stx)))
|
||||||
(define r5rs? (memq 'r5rs tokens))
|
(define r5rs? (memq 'r5rs tokens))
|
||||||
#`(#%module-begin
|
#`(#%module-begin
|
||||||
|
(define dir (make-temporary-file "input-tmp-~a" 'directory))
|
||||||
|
(current-directory dir)
|
||||||
(copy-input)
|
(copy-input)
|
||||||
#,@(if r5rs? #'((require r5rs)) #'())
|
#,@(if r5rs? #'((require r5rs)) #'())
|
||||||
(include #,(format "~a.sch" name))
|
(include #,(format "~a.sch" name))
|
||||||
(remove-input)))
|
(remove-input)
|
||||||
|
(delete-directory dir)))
|
||||||
|
|
Loading…
Reference in New Issue
Block a user