Index: archive.scm ================================================================== --- archive.scm +++ archive.scm @@ -231,21 +231,23 @@ (archive-path (if (vector? archive-block-info) (vector-ref archive-block-info 2) ;; look in db.scm for test-get-archive-block-info for the vector record info #f)) ;; no archive found? (archive-internal-path (conc (common:get-testsuite-name) "-" run-id "/latest/" test-partial-path))) - ;; some sanity checks, move an existing path out of the way + ;; some sanity checks, move an existing path out of the way - iif it is not a toplevel with children ;; - (if (and prev-test-physical-path + (if (and (not toplevel/children) ;; special handling needed for toplevel with children + prev-test-physical-path (file-exists? prev-test-physical-path)) ;; what to do? abort or clean up or link it in? (let* ((base (pathname-directory prev-test-physical-path)) (dirn (pathname-file prev-test-physical-path)) (newn (conc base "/." dirn))) (debug:print 0 "ERROR: the old directory " prev-test-physical-path ", still exists! Moving it to " newn) - (file-move prev-test-physical-path newn))) + (rename-file prev-test-physical-path newn))) - (if archive-path ;; no point in proceeding if there is no actual archive + (if (and archive-path ;; no point in proceeding if there is no actual archive + (not toplevel/children)) (begin ;; CREATE WORK AREA ;; test-src-path == #f ==> don't copy in data from tests directory ;; itemdat == string ==> use directly (create-work-area run-id run-name keyvals test-id #f best-disk test-name item-path) ;; #!key (remtries 2))