Index: items.scm ================================================================== --- items.scm +++ items.scm @@ -129,14 +129,21 @@ (define (items:get-items-from-config tconfig) (let* (;; db is always at *toppath*/db/megatest.db (items (hash-table-ref/default tconfig "items" '())) (itemstable (hash-table-ref/default tconfig "itemstable" '()))) - (if (procedure? items) - (set! items (items))) - (if (procedure? itemstable) - (set! itemstable (itemstable))) + (debug:print 5 "items: " items " itemstable: " itemstable) + (set! items (map (lambda (item) + (if (procedure? (cadr item)) + (list (car item)((cadr item))) + item)) + items)) + (set! itemstable (map (lambda (item) + (if (procedure? (cadr item)) + (list (car item)((cadr item))) + item)) + itemstable)) (if (or (not (null? items))(not (null? itemstable))) (append (item-assoc->item-list items) (item-table->item-list itemstable)) '(())))) Index: runs.scm ================================================================== --- runs.scm +++ runs.scm @@ -265,11 +265,10 @@ (waitons (tests:testqueue-get-waitons test-record)) (priority (tests:testqueue-get-priority test-record)) (itemdat (tests:testqueue-get-itemdat test-record)) (items (tests:testqueue-get-items test-record)) (item-path (item-list->path itemdat))) - (debug:print 0 "WHERE TO DO: (items:get-items-from-config config)") (debug:print 6 "itemdat: " itemdat "\n items: " items "\n item-path: " item-path) (cond @@ -355,29 +354,30 @@ (test-conf (tests:testqueue-get-testconfig test-record)) (itemdat (tests:testqueue-get-itemdat test-record)) (test-path (conc *toppath* "/tests/" test-name)) ;; could use test:get-testconfig here ... (force (hash-table-ref/default flags "-force" #f)) (rerun (hash-table-ref/default flags "-rerun" #f)) - (keepgoing (hash-table-ref/default flags "-keepgoing" #f))) - (debug:print 1 "Launching test " test-name) + (keepgoing (hash-table-ref/default flags "-keepgoing" #f)) + (item-path "")) (debug:print 5 "test-config: " (hash-table->alist test-conf) "\n itemdat: " itemdat ) ;; setting itemdat to a list if it is #f (if (not itemdat)(set! itemdat '())) + (set! item-path (item-list->path itemdat)) + (debug:print 1 "Attempting to launch test " test-name "/" item-path) (setenv "MT_TEST_NAME" test-name) ;; (setenv "MT_RUNNAME" runname) (set-megatest-env-vars db run-id) ;; these may be needed by the launching process (change-directory *toppath*) ;; Here is where the test_meta table is best updated (runs:update-test_meta db test-name test-conf) ;; (lambda (itemdat) ;;; ((ripeness "overripe") (temperature "cool") (season "summer")) - (let* ((item-path (item-list->path itemdat)) ;; (string-intersperse (map cadr itemdat) "/")) - (new-test-path (string-intersperse (cons test-path (map cadr itemdat)) "/")) + (let* ((new-test-path (string-intersperse (cons test-path (map cadr itemdat)) "/")) (new-test-name (if (equal? item-path "") test-name (conc test-name "/" item-path))) ;; just need it to be unique (testdat (db:get-test-info db run-id test-name item-path))) (if (not testdat) (begin (register-test db run-id test-name item-path)