diff --git a/pkgs/plt-services/meta/drdr/good-init.sh b/pkgs/plt-services/meta/drdr/good-init.sh index 547ee019fd..d50f8bc389 100755 --- a/pkgs/plt-services/meta/drdr/good-init.sh +++ b/pkgs/plt-services/meta/drdr/good-init.sh @@ -27,7 +27,7 @@ run_loop () { # echo "$1: compiling" "$PLTROOT/bin/raco" make "$1.rkt" echo "$1: running" - "$R" -t "$1.rkt" 2>&1 >> "$LOGS/$1.log" & + "$R" -t "$1.rkt" & echo "$!" > "$LOGS/$1.pid" wait "$!" echo "$1: died" @@ -39,7 +39,7 @@ run_loop () { # done } -exec 2>&1 >> "$LOGS/meta.log" +exec run_loop render & run_loop main yes & diff --git a/pkgs/plt-services/meta/drdr/main.rkt b/pkgs/plt-services/meta/drdr/main.rkt index c5e67b716e..aa8e269b4f 100644 --- a/pkgs/plt-services/meta/drdr/main.rkt +++ b/pkgs/plt-services/meta/drdr/main.rkt @@ -62,7 +62,7 @@ (path->string (build-path (drdr-directory) "make-archive.rkt")) "--" - "--many" (number->string 100)))))) + "--many" (number->string 45)))))) (notify! "Last revision is r~a" cur-rev) (handle-revision prev-rev cur-rev) diff --git a/pkgs/plt-services/meta/drdr/make-archive-lib.rkt b/pkgs/plt-services/meta/drdr/make-archive-lib.rkt index 8cec1545c4..cda1273fb8 100644 --- a/pkgs/plt-services/meta/drdr/make-archive-lib.rkt +++ b/pkgs/plt-services/meta/drdr/make-archive-lib.rkt @@ -8,14 +8,16 @@ (define (make-archive rev) (define archive-path (revision-archive rev)) (if (file-exists? archive-path) - (printf "r~a is already archived\n" rev) - (local [(define tmp-path (make-temporary-file))] - (printf "Archiving r~a\n" rev) - (safely-delete-directory (revision-trunk.tgz rev)) - (safely-delete-directory (revision-trunk.tar.7z rev)) - (create-archive tmp-path (revision-dir rev)) - (rename-file-or-directory tmp-path archive-path) - (safely-delete-directory (revision-log-dir rev)) - (safely-delete-directory (revision-analyze-dir rev))))) + (begin (printf "r~a is already archived\n" rev) + #t) + (begin (local [(define tmp-path (make-temporary-file))] + (printf "Archiving r~a\n" rev) + (safely-delete-directory (revision-trunk.tgz rev)) + (safely-delete-directory (revision-trunk.tar.7z rev)) + (create-archive tmp-path (revision-dir rev)) + (rename-file-or-directory tmp-path archive-path) + (safely-delete-directory (revision-log-dir rev)) + (safely-delete-directory (revision-analyze-dir rev))) + #f))) (provide make-archive) diff --git a/pkgs/plt-services/meta/drdr/make-archive.rkt b/pkgs/plt-services/meta/drdr/make-archive.rkt index b8ae8e8d84..8ecbac180d 100644 --- a/pkgs/plt-services/meta/drdr/make-archive.rkt +++ b/pkgs/plt-services/meta/drdr/make-archive.rkt @@ -16,11 +16,11 @@ ["--many" "Archive many revisions" (mode 'many)] #:args (ns) (local [(define n (string->number ns))] - (case (mode) - [(many) - (local [(define all-revisions - (sort revisions >=))] - (for ([rev (in-list (list-tail all-revisions n))]) - (make-archive rev)))] - [(single) - (make-archive n)]))) + (case (mode) + [(many) + (local [(define all-revisions + (sort revisions >=))] + (for/or ([rev (in-list (list-tail all-revisions n))]) + (make-archive rev)))] + [(single) + (make-archive n)]))) diff --git a/pkgs/plt-services/meta/drdr/time-check.rkt b/pkgs/plt-services/meta/drdr/time-check.rkt new file mode 100755 index 0000000000..7e7dbd46e1 --- /dev/null +++ b/pkgs/plt-services/meta/drdr/time-check.rkt @@ -0,0 +1,18 @@ +#lang racket/base + +(define (check f) + (with-handlers ([exn:fail? (λ (x) x)]) + (with-input-from-file f + (λ () + (for ([e (in-port)]) + (void)))) + #f)) + +(for ([f (in-directory)] + #:when (file-exists? f) + #:when (regexp-match #rx"timing$" f)) + (define c (check f)) + (printf "~a\n" f) + (when c + (printf "\t~a\n" c) + (exit 1)))