Megatest

Check-in [36fddc6e10]
Login
Overview
Comment:Fixed dashboard filtering broken by reqlen queue changes.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.55 | v1.5504
Files: files | file ages | folders
SHA1: 36fddc6e101096624c7f0f1ed553e9697fef0d2b
User & Date: mrwellan on 2013-06-14 18:45:18
Other Links: branch diff | manifest | tags
Context
2013-06-18
15:43
The big numbers of items run is working (and exposes a few bugs). Upped timeout so server stalls don't kill the test run check-in: ea8419fe80 user: mrwellan tags: v1.55
2013-06-14
18:45
Fixed dashboard filtering broken by reqlen queue changes. check-in: 36fddc6e10 user: mrwellan tags: v1.55, v1.5504
17:30
Fixed in/not-in logic on get-tests-for-run check-in: 3b30783a4a user: mrwellan tags: v1.55
Changes

Modified megatest-version.scm from [cd5fa4252f] to [76cd76582a].

1
2
3
4
5
6

7
1
2
3
4
5

6
7





-
+

;; Always use two digit decimal
;; 1.01, 1.02...1.10,1.11 ... 1.99,2.00..

(declare (unit megatest-version))

(define megatest-version 1.5503)
(define megatest-version 1.5504)

Modified run-tests-queue-new.scm from [d6f3c96faf] to [d727672fd0].

1
2
3

4
5
6
7
8
9
10
11
12
13
14
15
16
17


18
19
20
21
22
23
24
1
2

3
4
5
6
7
8
9
10
11
12
13
14
15
16

17
18
19
20
21
22
23
24
25


-
+













-
+
+








;; test-records is a hash table testname:item_path => vector < testname testconfig waitons priority items-info ... >
(define (runs:run-tests-queue-new run-id runname test-records keyvals flags test-patts required-tests reglen)
(define (runs:run-tests-queue-new run-id runname test-records keyvals flags test-patts required-tests reglen-in)
  ;; 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 ", flags: " (hash-table->alist flags))
  (let ((run-info              (cdb:remote-run db:get-run-info #f run-id))
	(tests-info            (mt:get-tests-for-run run-id #f '() '())) ;;  qryvals: "id,testname,item_path"))
	(sorted-test-names     (tests:sort-by-priority-and-waiton test-records))
	(test-registry         (make-hash-table))
	(registry-mutex        (make-mutex))
	(num-retries           0)
	(max-retries           (config-lookup *configdat* "setup" "maxretries"))
	(max-concurrent-jobs   (let ((mcj (config-lookup *configdat* "setup"     "max_concurrent_jobs")))
				 (if (and mcj (string->number mcj))
				     (string->number mcj)
				     1)))) ;; length of the register queue ahead
				     1))) ;; length of the register queue ahead
	(reglen                (if (number? reglen-in) reglen-in 1)))
    ;; Initialize the test-registery hash with tests that already have a record
    (for-each (lambda (trec)
		(let ((id (db:test-get-id        trec))
		      (tn (db:test-get-testname  trec))
		      (ip (db:test-get-item-path trec))
		      (st (db:test-get-state     trec)))
		  (hash-table-set! test-registry (runs:make-full-test-name tn ip) (string->symbol st))))

Modified runs.scm from [98372ec4c4] to [0e03774c2e].

344
345
346
347
348
349
350
351
352
353
354




355
356
357
358
359
360
361
344
345
346
347
348
349
350




351
352
353
354
355
356
357
358
359
360
361







-
-
-
-
+
+
+
+







	      (if (not (null? remtests))
		  (loop (car remtests)(cdr remtests)))))))

    (if (not (null? required-tests))
	(debug:print-info 1 "Adding " required-tests " to the run queue"))
    ;; NOTE: these are all parent tests, items are not expanded yet.
    (debug:print-info 4 "test-records=" (hash-table->alist test-records))
    (let ((reglen (any->number  (configf:lookup *configdat* "setup" "runqueue"))))
      (if reglen
	  (runs:run-tests-queue-new     run-id runname test-records keyvals flags test-patts required-tests reglen)
	  (runs:run-tests-queue-classic run-id runname test-records keyvals flags test-patts required-tests)))
    (let ((reglen (configf:lookup *configdat* "setup" "runqueue")))
      (if (equal? reglen "classic")
	  (runs:run-tests-queue-classic run-id runname test-records keyvals flags test-patts required-tests)
	  (runs:run-tests-queue-new     run-id runname test-records keyvals flags test-patts required-tests (any->number reglen))))
    (debug:print-info 4 "All done by here")))

(define (runs:calc-fails prereqs-not-met)
  (filter (lambda (test)
	    (and (vector? test) ;; not (string? test))
		 (equal? (db:test-get-state test) "COMPLETED")
		 (not (member (db:test-get-status test)

Modified tests/fullrun/megatest.config from [485bc46598] to [627d897d64].

11
12
13
14
15
16
17
18
19

20
21



22
23
24
25
26
27
28
11
12
13
14
15
16
17


18


19
20
21
22
23
24
25
26
27
28







-
-
+
-
-
+
+
+







[include config/mt_include_1.config]

[setup]
# Set launchwait to yes to use the old launch run code that waits for the launch process to return before 
# proceeding.
# launchwait yes

# If defined the runs:run-tests-queue-new queue code is used with the register test depth
# given. Otherwise the old code is used. The old code will be removed in the future and 
# If set to "default" the old code is used. Otherwise defaults to 200 or uses
# a default of 10 used.
runqueue 2
# numeric value given.
#
# runqueue 2

# It is possible (but not recommended) to override the rsync command used
# to populate the test directories. For test development the following 
# example can be useful
#
# testcopycmd cp --remove-destination -rsv TEST_SRC_PATH/. TEST_TARG_PATH/. >> TEST_TARG_PATH/mt_launch.log 2>> TEST_TARG_PATH/mt_launch.log