Specifying when R5RS is required for a benchmark and enabling running from other directories

Enabling running all benchmarks in DrDr
This commit is contained in:
Jay McCarthy 2010-05-26 14:50:06 -06:00
parent 225c08312a
commit 47f6b264a0
15 changed files with 64 additions and 84 deletions

View File

@ -1469,94 +1469,30 @@ path/s is either such a string or a list of them.
"collects/tests/racket/beginner-abbr.rktl" drdr:command-line (racket "-f" *)
"collects/tests/racket/beginner.rktl" drdr:command-line (racket "-f" *)
"collects/tests/racket/benchmarks/common/auto.rkt" drdr:command-line (racket * "--" "racket" "ctak")
"collects/tests/racket/benchmarks/common/conform.rkt" drdr:command-line #f
"collects/tests/racket/benchmarks/common/cpstack-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/cpstack-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/cpstack-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/ctak-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/ctak-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/ctak-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/ctak.rkt" drdr:command-line #f
"collects/tests/racket/benchmarks/common/dderiv-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/dderiv-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/dderiv-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/deriv-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/deriv-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/deriv-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/destruct.rkt" drdr:command-line #f
"collects/tests/racket/benchmarks/common/div-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/div-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/div-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/div.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/dynamic.rkt" drdr:command-line #f
"collects/tests/racket/benchmarks/common/dynamic2.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/fft-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/fft-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/fft-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/graphs-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/graphs-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/graphs-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/graphs.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/lattice.rkt" drdr:command-line #f
"collects/tests/racket/benchmarks/common/lattice2-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/lattice2-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/lattice2-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/maze.rkt" drdr:command-line #f
"collects/tests/racket/benchmarks/common/maze2.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/mazefun-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/mazefun-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/mazefun-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/mazefun.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/mk-bigloo.rktl" drdr:command-line #f
"collects/tests/racket/benchmarks/common/mk-chicken.rktl" drdr:command-line #f
"collects/tests/racket/benchmarks/common/mk-gambit.rktl" drdr:command-line #f
"collects/tests/racket/benchmarks/common/nestedloop-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nestedloop-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nestedloop-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nestedloop.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/nfa-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nfa-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nfa-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nothing-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nothing-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nothing-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nqueens-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nqueens-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nqueens-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/nqueens.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/paraffins-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/paraffins-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/paraffins-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/paraffins.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/peval.rkt" drdr:command-line #f
"collects/tests/racket/benchmarks/common/puzzle-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/puzzle-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/puzzle-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/r5rs-wrap.rktl" drdr:command-line (racket "-f" *)
"collects/tests/racket/benchmarks/common/scheme.rkt" drdr:command-line #f
"collects/tests/racket/benchmarks/common/scheme2.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/sort1.rkt" drdr:command-line #f
"collects/tests/racket/benchmarks/common/tak-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/tak-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/tak-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/tak.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/takl-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/takl-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/takl-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/takl.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/takr-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/takr-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/takr-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/takr.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/takr2-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/takr2-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/takr2-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/takr2.rkt" drdr:command-line (mzc *)
"collects/tests/racket/benchmarks/common/triangle-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/triangle-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/triangle-typed.rktl" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/wrap-typed-non-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/common/wrap-typed-optimizing.rkt" responsible (stamourv) drdr:command-line #f
"collects/tests/racket/benchmarks/mz/expand-class.rktl" drdr:command-line (racket "-f" *)
"collects/tests/racket/benchmarks/mz/parsing.rktl" drdr:command-line (gracket "-f" *)
"collects/tests/racket/benchmarks/mz/redsem.rktl" drdr:command-line (racket "-f" * "--" "--skip-struct-test")

View File

@ -29,8 +29,6 @@ benchmark wasn't run due to an implementation limitation. The
<cpu-msec> and <compile-msec> parts are #f only when the benchmark
wasn't run.
All benchmarks must be run from the directory containing this file.
Most bechmarks were obtained from
http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/scheme/code/bench/gabriel/
http://www.ccs.neu.edu/home/will/GC/sourcecode.html

View File

@ -1,2 +1,2 @@
(module conform "wrap.ss")
(module conform "wrap.ss" r5rs)

View File

@ -1,2 +1,2 @@
(module destruct "wrap.ss")
(module destruct "wrap.ss" r5rs)

View File

@ -1,2 +1,2 @@
(module dynamic "wrap.ss")
(module dynamic "wrap.ss" r5rs)

View File

@ -1,2 +1,2 @@
(module lattice "wrap.ss")
(module lattice "wrap.ss" r5rs)

View File

@ -1,2 +1,2 @@
(module maze "wrap.ss")
(module maze "wrap.ss" r5rs)

View File

@ -1,2 +1,2 @@
(module maze2 "wrap.ss")
(module maze2 "wrap.ss" r5rs)

View File

@ -1,2 +1,2 @@
(module peval "wrap.ss")
(module peval "wrap.ss" r5rs)

View File

@ -1,2 +1,2 @@
(module scheme "wrap.ss")
(module scheme "wrap.ss" r5rs)

View File

@ -1,2 +1,2 @@
(module sort1 "wrap.ss")
(module sort1 "wrap.ss" r5rs)

View File

@ -0,0 +1,26 @@
#lang racket
(require racket/runtime-path
file/gunzip)
(define-runtime-path here ".")
(define files '("input.txt" "dynamic-input.txt"))
(define (copy-input)
(unless (file-exists? (build-path here "dynamic-input.txt"))
(gunzip (build-path here "dynamic-input.txt.gz")
(lambda (file archive-supplied?)
(build-path here "dynamic-input.txt"))))
(for ([file (in-list files)])
(define src (build-path here file))
(define dest (build-path (current-directory) file))
(unless (equal? (simplify-path src #t) (simplify-path dest #t))
(make-file-or-directory-link src dest))))
(define (remove-input)
(for ([file (in-list files)])
(define src (build-path here file))
(define dest (build-path (current-directory) file))
(unless (equal? (simplify-path src #t) (simplify-path dest #t))
(delete-file dest))))
(provide copy-input remove-input)

View File

@ -7,9 +7,15 @@
(define-syntax (module-begin stx)
(let ([name (symbol->string (syntax-property stx 'enclosing-module-name))])
#`(ts:#%module-begin
(ts:require/typed
"wrap-common.rkt"
[copy-input (-> Void)]
[remove-input (-> Void)])
(copy-input)
(include #,(format "~a.rktl"
(substring name
0
(caar (regexp-match-positions
#rx"-non-optimizing"
name)))))))))
name)))))
(remove-input)))))

View File

@ -7,9 +7,15 @@
(define-syntax (module-begin stx)
(let ([name (symbol->string (syntax-property stx 'enclosing-module-name))])
#`(ts:#%module-begin #:optimize
(ts:require/typed
"wrap-common.rkt"
[copy-input (-> Void)]
[remove-input (-> Void)])
(copy-input)
(include #,(format "~a.rktl"
(substring name
0
(caar (regexp-match-positions
#rx"-optimizing"
name)))))))))
name)))))
(remove-input)))))

View File

@ -1,8 +1,16 @@
#lang racket
(provide (rename-out (module-begin #%module-begin)))
(module wrap racket
(provide (rename-out (module-begin #%module-begin)))
(require (lib "include.ss"))
(define-syntax (module-begin stx)
(let ([name (syntax-property stx 'enclosing-module-name)])
#`(#%module-begin
(include #,(format "~a.sch" name))))))
(require racket/include
"wrap-common.rkt"
(for-syntax racket/list))
(define-syntax (module-begin stx)
(define name (syntax-property stx 'enclosing-module-name))
(define tokens (rest (syntax->datum stx)))
(define r5rs? (memq 'r5rs tokens))
#`(#%module-begin
(copy-input)
#,@(if r5rs? #'((require r5rs)) #'())
(include #,(format "~a.sch" name))
(remove-input)))