Index: launch.scm ================================================================== --- launch.scm +++ launch.scm @@ -410,11 +410,12 @@ (test-path (conc toptest-path (if (equal? item-path "") "" "/") item-path)) ;; ensure this exists first as links to subtests must be created there (linktree (let ((rd (config-lookup *configdat* "setup" "linktree"))) (if rd rd (conc *toppath* "/runs")))) (lnkbase (conc linktree "/" target "/" runname)) - (lnkpath (conc lnkbase "/" testname))) ;; item-path))) + (lnkpath (conc lnkbase "/" testname)) ;; item-path))) + (lnkpathf (conc lnkpath (if (equal? item-path "") "" "/") item-path))) (debug:print 2 "INFO:\n lnkbase=" lnkbase "\n lnkpath=" lnkpath "\n toptest-path=" toptest-path "\n test-path=" test-path) (if (not (file-exists? linktree)) (begin (debug:print 0 "WARNING: linktree did not exist! Creating it now at " linktree) (create-directory linktree #t))) ;; (system (conc "mkdir -p " linktree)))) @@ -456,12 +457,12 @@ (debug:print 2 "Setting up sub test run area") (debug:print 2 " - creating run area in " test-path) (create-directory test-path #t) ;; (system (conc "mkdir -p " test-path)) (debug:print 2 " - creating link from " test-path " to " lnktarget) ;; (create-directory lnkpath #t) ;; (system (conc "mkdir -p " lnkpath)) - - (create-symbolic-link test-path lnktarget))) + (if (not (file-exists? lnktarget)) + (create-symbolic-link test-path lnktarget)))) ;; I suspect this section was deleting test directories under some ;; wierd sitations? This doesn't make sense - reenabling the rm -f ;; I honestly don't remember *why* this chunk was needed... ;; (let ((testlink (conc lnkpath "/" testname))) @@ -474,11 +475,11 @@ (begin (let* ((cmd (conc "rsync -av" (if (> *verbosity* 1) "" "q") " " test-src-path "/ " test-path "/")) (status (system cmd))) (if (not (eq? status 0)) (debug:print 2 "ERROR: problem with running \"" cmd "\""))) - (list test-path toptest-path)) + (list lnkpathf lnkpath)) (list #f #f)))) ;; 1. look though disks list for disk with most space ;; 2. create run dir on disk, path name is meaningful ;; 3. create link from run dir to megatest runs area