Index: items.scm ================================================================== --- items.scm +++ items.scm @@ -137,26 +137,32 @@ item #f) item))) (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" '()))) + (items (hash-table-ref/default tconfig "items" #f)) + (itemstable (hash-table-ref/default tconfig "itemstable" #f))) (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 items + (set! items (map (lambda (item) + (if (procedure? (cadr item)) + (list (car item)((cadr item))) + item)) + items))) + (if itemstable + (set! itemstable (map (lambda (item) + (if (procedure? (cadr item)) + (list (car item)((cadr item))) + item)) + itemstable))) + (if (and items (null? items)) + (debug:print 0 "ERROR: You have an [items] section in your testconfig but there were no items define!")) + (if (and itemstable (null? itemstable)) + (debug:print 0 "ERROR: You have an [itemstable] section in your testconfig but there were no entries defined!")) (if (or (not (null? items))(not (null? itemstable))) - (append (item-assoc->item-list items) - (item-table->item-list itemstable)) + (append (if items (item-assoc->item-list items) '()) + (if itemstable (item-table->item-list itemstable) '())) '(())))) ;; (pp (item-assoc->item-list itemdat))