Megatest

Check-in [3c6e3ca6c4]
Login
Overview
Comment:Brutally fixed refusal to exit with a call to exit :)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 3c6e3ca6c4206a820ef15b578dfb736dfc5b0298
User & Date: matt on 2011-12-05 22:52:50
Other Links: manifest | tags
Context
2011-12-06
18:38
Fixed case where dependent item was kicked off before prior items had fully completed check-in: 2de3c08fbd user: mrwellan tags: trunk, v1.36a
2011-12-05
22:52
Brutally fixed refusal to exit with a call to exit :) check-in: 3c6e3ca6c4 user: matt tags: trunk
22:46
Partial fix, now all run but won't stop check-in: 7bbcfa08c8 user: matt tags: trunk
Changes

Modified runs.scm from [08123e62ac] to [dff7b1b281].

265
266
267
268
269
270
271
272


273
274
275
276
277
278
279
265
266
267
268
269
270
271

272
273
274
275
276
277
278
279
280







-
+
+







	    (let ((remtests (delete-duplicates (append waitons tal))))
	      (if (not (null? remtests))
		  (loop (car remtests)(cdr remtests)))))))

    (if (not (null? required-tests))
	(debug:print 1 "INFO: Adding " required-tests " to the run queue"))
    ;; NOTE: these are all parent tests, items are not expanded yet.
    (runs:run-tests-queue db run-id runname test-records keyvallst flags)))
    (runs:run-tests-queue db run-id runname test-records keyvallst flags)
    (debug:print 4 "INFO: All done by here")))

(define (runs:run-tests-queue db run-id runname test-records keyvallst flags)
    ;; At this point the list of parent tests is expanded 
    ;; NB// Should expand items here and then insert into the run queue.
  (debug:print 5 "test-records: " test-records ", keyvallst: " keyvallst)
  (let ((sorted-test-names (tests:sort-by-priority-and-waiton test-records))
	(item-patts        (hash-table-ref/default flags "-itempatt" #f)))
361
362
363
364
365
366
367


368


369
370
371
372
373
374
375
362
363
364
365
366
367
368
369
370

371
372
373
374
375
376
377
378
379







+
+
-
+
+







	 ;; this case should not happen, added to help catch any bugs
	 ((and (list? items) itemdat)
	  (debug:print 0 "ERROR: Should not have a list of items in a test and the itemspath set - please report this")
	  (exit 1))))
	
      ;; we get here on "drop through" - loop for next test in queue
      (if (null? tal)
	  (begin
	    ;; FIXME!!!! THIS SHOULD NOT REQUIRE AN EXIT!!!!!!!
	  (debug:print 1 "INFO: All tests launched")
	    (debug:print 1 "INFO: All tests launched, exiting")
	    (exit 0))
	  (loop (car tal)(cdr tal))))))

;; parent-test is there as a placeholder for when parent-tests can be run as a setup step
(define (run:test db run-id runname keyvallst test-record flags parent-test)
  ;; All these vars might be referenced by the testconfig file reader
  (let* ((test-name    (tests:testqueue-get-testname   test-record))
	 (test-waitons (tests:testqueue-get-waitons    test-record))