Megatest

Check-in [bc2d2738d3]
Login
Overview
Comment:Added more error checking for bad items specs
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.55
Files: files | file ages | folders
SHA1: bc2d2738d35f7e0a04b2c7d2094e202bb987e174
User & Date: matt on 2013-11-03 09:21:47
Other Links: branch diff | manifest | tags
Context
2013-11-03
10:05
Added error messages to item calculations but can't seem to trigger them. check-in: f7c2939894 user: matt tags: v1.55
09:21
Added more error checking for bad items specs check-in: bc2d2738d3 user: matt tags: v1.55
07:25
Added test case for cascading failed dependencies check-in: c1101b6bec user: matt tags: v1.55
Changes

Modified items.scm from [efb067b49e] to [8ea3260641].

135
136
137
138
139
140
141
142
143
144

145
146
147
148
149

150
151
152
153
154




155
156
157
158
159
160
161
162
163
    (if valid-values
	(if (member item valid-values)
	    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" '())))
    (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))
	'(()))))

;; (pp (item-assoc->item-list itemdat))


	







|
|

>
|
|
|
|
|
>
|
|
|
|
|
>
>
>
>

|
|






135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
    (if valid-values
	(if (member item valid-values)
	    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" #f))
	 (itemstable  (hash-table-ref/default tconfig "itemstable" #f)))
    (debug:print 5 "items: " items " itemstable: " 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 (if items      (item-assoc->item-list items)      '())
		(if itemstable (item-table->item-list itemstable) '()))
	'(()))))

;; (pp (item-assoc->item-list itemdat))