Index: Makefile ================================================================== --- Makefile +++ Makefile @@ -29,12 +29,16 @@ client.scm mt.scm \ ezsteps.scm lock-queue.scm sdb.scm \ rmt.scm api.scm subrun.scm \ portlogger.scm archive.scm env.scm diff-report.scm cgisetup/models/pgdb.scm +OPENSRC_DIR=../opensrc +MTUTILS_DIR=$(OPENSRC_DIR)/mtutils + # module source files -MSRCFILES = ftail.scm +MSRCFILES = ftail.scm mtconfigf.scm +# mtcommon.scm mtdb.scm # Eggs to install (straightforward ones) EGGS=matchable readline apropos base64 regex-literals format regex-case test coops trace csv \ dot-locking posix-utils posix-extras directory-utils hostinfo tcp-server rpc csv-xml fmt \ json md5 awful http-client spiffy uri-common intarweb spiffy-request-vars \ @@ -45,11 +49,11 @@ OFILES = $(SRCFILES:%.scm=%.o) GOFILES = $(GUISRCF:%.scm=%.o) MOFILES = $(addprefix mofiles/,$(MSRCFILES:%.scm=%.o)) -mofiles/%.o : %.scm +mofiles/%.o : %.scm ../adat.scm mkdir -p mofiles csc $(CSCOPTS) -J -c $< -o mofiles/$*.o ADTLSCR=mt_laststep mt_runstep mt_ezstep HELPERS=$(addprefix $(PREFIX)/bin/,$(ADTLSCR)) @@ -85,10 +89,23 @@ ndboard : newdashboard.scm $(OFILES) $(GOFILES) csc $(CSCOPTS) $(OFILES) $(GOFILES) newdashboard.scm -o ndboard mtut: $(OFILES) megatest-fossil-hash.scm mtut.scm csc $(CSCOPTS) $(OFILES) mtut.scm -o mtut + +# # stuff for handling external files from opensrc package +# mtcommon.scm : $(MTUTILS_DIR)/mtcommon/mtcommon.scm +# ln -sf $< $@ +# +# mtdb.scm : $(MTUTILS_DIR)/mtdb/mtdb.scm +# ln -sf $< $@ +# +# mtconfigf.scm : $(MTUTILS_DIR)/mtconfigf/mtconfigf.scm +# ln -sf $< $@ +# +../adat.scm : $(MTUTILS_DIR)/adat.scm + ln -sf $(PWD)/$< $@ TCMTOBJS = \ api.o \ archive.o \ cgisetup/models/pgdb.o \ Index: TODO ================================================================== --- TODO +++ TODO @@ -18,15 +18,51 @@ TODO ==== . Dashboard should resist running from non-homehost - - Migration to inmem db plus per run db ------------------------------------- . Re-work the dbstruct data structure? .. Move main.db to global? .. [ run-id.db inmemdb last-mod last-read last-sync inuse ] . Re-work all queries to use run-id to dereference server . Open main.db directly in calls to -runtests etc. No need to talk remote? + +archive.scm:(declare (uses common)) +client.scm:(declare (uses common)) +dashboard-context-menu.scm:(declare (uses common)) +dashboard-guimonitor.scm:(declare (uses common)) +dashboard-tests.scm:(declare (uses common)) +dashboard.scm:(declare (uses common)) +db.scm:(declare (uses common)) +diff-report.scm:(declare (uses common)) +ezsteps.scm:(declare (uses common)) +fs-transport.scm:(declare (uses common)) +http-transport.scm:(declare (uses common)) +index-tree.scm:(declare (uses common)) +items.scm:(declare (uses common)) +keys.scm:(declare (uses common)) +launch.scm:(declare (uses common)) +lock-queue.scm:(declare (uses common)) +margs.scm:;; (declare (uses common)) +megatest.scm:(declare (uses common)) +mlaunch.scm:(declare (uses common)) +monitor.scm:(declare (uses common)) +mt.scm:(declare (uses common)) +mtut-dunno.scm:(declare (uses common)) +mtut.scm:(declare (uses common)) +newdashboard.scm:(declare (uses common)) +ods.scm:(declare (uses common)) +old-tcmt.scm:(declare (uses common)) +rpc-transport.scm:(declare (uses common)) +runconfig.scm:(declare (uses common)) +runs.scm:(declare (uses common)) +sauthorize.scm:;(declare (uses common)) +server.scm:(declare (uses common)) +sretrieve.scm:;(declare (uses common)) +subrun.scm:(declare (uses common)) +tasks.scm:(declare (uses common)) +tcmt.scm:(declare (uses common)) +tdb.scm:(declare (uses common)) +tests.scm:(declare (uses common)) Index: ftail.scm ================================================================== --- ftail.scm +++ ftail.scm @@ -17,10 +17,11 @@ ;; along with Megatest. If not, see . ;;====================================================================== (declare (unit ftail)) + (module ftail ( open-tail-db tail-write Index: launch.scm ================================================================== --- launch.scm +++ launch.scm @@ -21,11 +21,11 @@ ;; ;;====================================================================== (use regex regex-case base64 sqlite3 srfi-18 directory-utils posix-extras z3 call-with-environment-variables csv) (use typed-records pathname-expand matchable) -(use (prefix mtconfigf configf:)) +;; (use (prefix mtconfigf configf:)) (import (prefix base64 base64:)) (import (prefix sqlite3 sqlite3:)) (declare (unit launch)) @@ -32,10 +32,13 @@ (declare (uses subrun)) (declare (uses common)) ;; (declare (uses configf)) (declare (uses db)) +(declare (uses mtconfigf)) +(import (prefix mtconfigf configf:)) + (include "common_records.scm") (include "key_records.scm") (include "db_records.scm") ;;====================================================================== Index: megatest.scm ================================================================== --- megatest.scm +++ megatest.scm @@ -1888,11 +1888,16 @@ (run-id (assoc/default 'run-id cmdinfo)) (test-id (assoc/default 'test-id cmdinfo)) (itemdat (assoc/default 'itemdat cmdinfo)) (work-area (assoc/default 'work-area cmdinfo)) (db #f)) - (change-directory testpath) + (handle-exceptions + exn + (begin + (debug:print 0 *default-log-port* "ERROR: the work directory " testpath " has disappeared or become unreadable! Cannot proceed, exiting now.") + (exit 1)) + (change-directory testpath)) (if (not (launch:setup)) (begin (debug:print 0 *default-log-port* "Failed to setup, exiting") (exit 1))) (if (and state status)