Megatest

Check-in [8478208080]
Login
Overview
Comment:Added check for non-existant required tests
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.44
Files: files | file ages | folders
SHA1: 84782080807eb0b19c5ec014cd677cd536050811
User & Date: matt on 2012-06-14 23:46:58
Other Links: branch diff | manifest | tags
Context
2012-06-15
12:05
Added additional vars to launch environment and changed dirs check-in: 699412032b user: mrwellan tags: v1.44
2012-06-14
23:46
Added check for non-existant required tests check-in: 8478208080 user: matt tags: v1.44
23:25
Added a linked test check-in: 7022183029 user: matt tags: v1.44
Changes

Modified configf.scm from [09b43df907] to [35e1d07762].

217
218
219
220
221
222
223

224
225
226
227
228
229
230
231









232
233
234
235
236
237
238
217
218
219
220
221
222
223
224








225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240







+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+







	 (configfile (cadr configinfo)))
    (if toppath (change-directory toppath)) 
    (let ((configdat  (if configfile (read-config configfile #f #t environ-patt: environ-patt) #f))) ;; (make-hash-table))))
      (if toppath (change-directory curr-dir))
      (list configdat toppath configfile fname))))

(define (config-lookup cfgdat section var)
  (if (hash-table? cfgdat)
  (let ((sectdat (hash-table-ref/default cfgdat section '())))
    (if (null? sectdat)
	#f
	(let ((match (assoc var sectdat)))
	  (if match ;; (and match (list? match)(> (length match) 1))
	      (cadr match)
	      #f))
	)))
      (let ((sectdat (hash-table-ref/default cfgdat section '())))
	(if (null? sectdat)
	    #f
	    (let ((match (assoc var sectdat)))
	      (if match ;; (and match (list? match)(> (length match) 1))
		  (cadr match)
		  #f))
	    ))
      #f))

(define (configf:section-vars cfgdat section)
  (let ((sectdat (hash-table-ref/default cfgdat section '())))
    (if (null? sectdat)
	'()
	(map car sectdat))))

Modified runs.scm from [b0555ec717] to [0fe79ba1b8].

207
208
209
210
211
212
213
214
215





216
217
218
219
220
221
222
207
208
209
210
211
212
213


214
215
216
217
218
219
220
221
222
223
224
225







-
-
+
+
+
+
+







	  (rdb:set-tests-state-status db run-id test-names #f "FAIL" "NOT_STARTED" "FAIL")))

    ;; now add non-directly referenced dependencies (i.e. waiton)
    (if (not (null? test-names))
	(let loop ((hed (car test-names))
		   (tal (cdr test-names)))         ;; 'return-procs tells the config reader to prep running system but return a proc
	  (let* ((config  (tests:get-testconfig hed 'return-procs))
		 (waitons (string-split (let ((w (config-lookup config "requirements" "waiton")))
					  (if w w "")))))
		 (waitons (if config (string-split (let ((w (config-lookup config "requirements" "waiton")))
						     (if w w "")))
			      (begin
				(debug:print 0 "ERROR: non-existant required test \"" hed "\"")
				(exit 1)))))
	    ;; check for hed in waitons => this would be circular, remove it and issue an
	    ;; error
	    (if (member hed waitons)
		(begin
		  (debug:print 0 "ERROR: test " hed " has listed itself as a waiton, please correct this!")
		  (set! waitons (filter (lambda (x)(not (equal? x hed))) waitons))))
	    

Modified tests/fullrun/tests/all_toplevel/testconfig from [90ed78d278] to [a36e0b7a97].

1
2
3
4
5

6
7
8
1
2
3
4

5
6
7
8




-
+



[ezsteps]
calcresults megatest -list-runs $MT_RUNNAME -target $MT_TARGET

[requirements]
waiton all_toplevel exit_0 exit_1 ez_exit2_fail ez_fail ez_pass ezlog_fail ezlog_fail_then_pass ezlog_pass ezlog_warn lineitem_fail lineitem_pass logpro_required_fail manual_example neverrun priority_1 priority_10 priority_10_waiton_1 priority_2 priority_3 priority_4 priority_5 priority_6 priority_7 priority_8 priority_9 runfirst singletest singletest2 sqlitespeed2 test_mt_vars 
waiton all_toplevel exit_0 exit_1 ez_exit2_fail ez_fail ez_pass ezlog_fail ezlog_fail_then_pass ezlog_pass ezlog_warn lineitem_fail lineitem_pass logpro_required_fail manual_example neverrun priority_1 priority_10 priority_10_waiton_1 priority_2 priority_3 priority_4 priority_5 priority_6 priority_7 priority_8 priority_9 runfirst singletest singletest2 sqlitespeed test_mt_vars 

# This is a "toplevel" test, it does not require waitons to be non-FAIL to run
mode toplevel