Megatest

Check-in [65e8ba3d33]
Login
Overview
Comment:Incremental improvement with itemwait and run queue logic.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.55
Files: files | file ages | folders
SHA1: 65e8ba3d33e4fdd5a1f2aff294b9f0740369cb50
User & Date: matt on 2014-04-21 01:30:09
Other Links: branch diff | manifest | tags
Context
2014-04-22
00:53
Fixed itemwait with itempatt and issues in the run queue check-in: bc27cf381e user: matt tags: v1.55
2014-04-21
01:30
Incremental improvement with itemwait and run queue logic. check-in: 65e8ba3d33 user: matt tags: v1.55
2014-04-15
12:25
Added perl, python and ruby for dump check-in: 9417d2df60 user: mrwellan tags: v1.55
Changes

Modified runs.scm from [b746e7df77] to [dcd06d6df4].

733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749

750














751
752
753
754

755

756






757
758




759
760
761
762
763
764
765
766
767
768
769
770
	    (debug:print-info 0 "Waiting for more work to do...")
	    (thread-sleep! 1)
	    (list (car newtal)(cdr newtal) reg reruns))
	  ;; the waiton is FAIL so no point in trying to run hed ever again
	  (if (or (not (null? reg))(not (null? tal)))
	      (if (vector? hed)
		  (begin 
		    (debug:print 1 "WARN: Dropping test " (db:test-get-testname hed) "/" (db:test-get-item-path hed)
				 " from the launch list as it has prerequistes that are FAIL")
		    (runs:shrink-can-run-more-tests-count) ;; DELAY TWEAKER (still needed?)
		    ;; (thread-sleep! *global-delta*)
		    (hash-table-set! test-registry (runs:make-full-test-name test-name item-path) 'removed)
		    (list (runs:queue-next-hed tal reg reglen regfull)
			  (runs:queue-next-tal tal reg reglen regfull)
			  (runs:queue-next-reg tal reg reglen regfull)
			  reruns ;; WAS: (cons hed reruns) ;; but that makes no sense?
			  ))

		  (begin














		    (debug:print 0 "WARNING: Test may not have processed correctly. Could be a race condition in your test implementation? Dropping test " hed) ;;  " as it has prerequistes that are FAIL. (NOTE: hed is not a vector)")
		    (runs:shrink-can-run-more-tests-count) ;; DELAY TWEAKER (still needed?)
		    ;; (list hed tal reg reruns)
		    ;; (list (car newtal)(cdr newtal) reg reruns)

		    (list (runs:queue-next-hed tal reg reglen regfull)

			  (runs:queue-next-tal tal reg reglen regfull)






			  (runs:queue-next-reg tal reg reglen regfull)
			  reruns) ;; (cons hed reruns))




		    ;;(list (if (null? tal)(car newtal)(car tal))
		    ;;      tal
		    ;;      reg
		    ;;      reruns)
		    ))
	      ;; can't drop this - maybe running? Just keep trying
	      (list hed
		    tal
		    reg
		    reruns)))))))

;; every time though the loop increment the test/itempatt val.







|









>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
|
|
|
>
|
>
|
>
>
>
>
>
>
|
|
>
>
>
>
|
|
|
|
<







733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789

790
791
792
793
794
795
796
	    (debug:print-info 0 "Waiting for more work to do...")
	    (thread-sleep! 1)
	    (list (car newtal)(cdr newtal) reg reruns))
	  ;; the waiton is FAIL so no point in trying to run hed ever again
	  (if (or (not (null? reg))(not (null? tal)))
	      (if (vector? hed)
		  (begin 
		    (debug:print 1 "WARNING: Dropping test " (db:test-get-testname hed) "/" (db:test-get-item-path hed)
				 " from the launch list as it has prerequistes that are FAIL")
		    (runs:shrink-can-run-more-tests-count) ;; DELAY TWEAKER (still needed?)
		    ;; (thread-sleep! *global-delta*)
		    (hash-table-set! test-registry (runs:make-full-test-name test-name item-path) 'removed)
		    (list (runs:queue-next-hed tal reg reglen regfull)
			  (runs:queue-next-tal tal reg reglen regfull)
			  (runs:queue-next-reg tal reg reglen regfull)
			  reruns ;; WAS: (cons hed reruns) ;; but that makes no sense?
			  ))
		  (let ((nth-try (hash-table-ref/default test-registry hed 0)))
		    (cond
		     ((member "RUNNING" (map db:test-get-state prereqs-not-met))
		      (debug:print 0 "WARNING: test " hed " has possible RUNNING prerequisites, don't give up on it yet.")
		      (thread-sleep! 4)
		      (list (runs:queue-next-hed newtal reg reglen regfull)
			    (runs:queue-next-tal newtal reg reglen regfull)
			    (runs:queue-next-reg newtal reg reglen regfull)
			    reruns))
		     ((or (not nth-try)
			  (and (number? nth-try)
			       (< nth-try 10)))
		      (hash-table-set! test-registry hed (if (number? nth-try)
							     (+ nth-try 1)
							     0))
		      (debug:print 0 "WARNING: not removing test " hed " from queue although it may not be runnable due to FAILED prerequisites")
		      ;; may not have processed correctly. Could be a race condition in your test implementation? Dropping test " hed) ;;  " as it has prerequistes that are FAIL. (NOTE: hed is not a vector)")
		      (runs:shrink-can-run-more-tests-count) ;; DELAY TWEAKER (still needed?)
		      ;; (list hed tal reg reruns)
		      ;; (list (car newtal)(cdr newtal) reg reruns)
		      ;; (hash-table-set! test-registry hed 'removed)
		      (list (runs:queue-next-hed newtal reg reglen regfull)
			    (runs:queue-next-tal newtal reg reglen regfull)
			    (runs:queue-next-reg newtal reg reglen regfull)
			    reruns))
		     ((symbol? nth-try)
		      (debug:print 0 "WARNING: test " hed " has FAILED prerequisites or other issue. Internal state " nth-try " will be overridden and we'll retry.")
		      (hash-table-set! test-registry hed 0)
		      (list (runs:queue-next-hed newtal reg reglen regfull)
			    (runs:queue-next-tal newtal reg reglen regfull)
			    (runs:queue-next-reg newtal reg reglen regfull)
			    reruns))
		     (else
		      (debug:print 0 "WARNING: test " hed " has FAILED prerequitests and we've tried at least 10 times to run it. Giving up now.")
		      ;; (debug:print 0 "         prereqs: " prereqs-not-met)
		      (hash-table-set! test-registry hed 'removed)
		      (list (if (null? tal)(car newtal)(car tal))
			    tal
			    reg
			    reruns)))))

	      ;; can't drop this - maybe running? Just keep trying
	      (list hed
		    tal
		    reg
		    reruns)))))))

;; every time though the loop increment the test/itempatt val.

Modified tests/fdktestqa/testqa/Makefile from [4f03b5f50e] to [6c9750395d].

24
25
26
27
28
29
30
31
32
33
34
35
36
bigrun3 :
	$(MEGATEST) -runtests bigrun3 -target a/bigrun3 :runname $(RUNNAME)

dashboard : 
	$(DASHBOARD) -rows 20 &

compile :
	$(MEGATEST) -stop-server 0
	(cd ../../..;make && make install)

clean :
	rm -rf ../simple*/*/* megatest.db monitor.db








<
|




24
25
26
27
28
29
30

31
32
33
34
35
bigrun3 :
	$(MEGATEST) -runtests bigrun3 -target a/bigrun3 :runname $(RUNNAME)

dashboard : 
	$(DASHBOARD) -rows 20 &

compile :

	(cd ../../..;make -j && make install)

clean :
	rm -rf ../simple*/*/* megatest.db monitor.db

Modified tests/fdktestqa/testqa/tests/bigrun/testconfig from [a953628936] to [edca99e35e].

1



2
3
4
5
6
7
8
9
10
# Add additional steps here. Format is "stepname script"



[ezsteps]
step1 step1.sh

# Test requirements are specified here
[requirements]
# waiton setup
priority 0

# Iteration for your tests are controlled by the items section

>
>
>

|







1
2
3
4
5
6
7
8
9
10
11
12
13
# Add additional steps here. Format is "stepname script"
[vars]
step1var step1.sh

[ezsteps]
step1 #{get vars step1var}

# Test requirements are specified here
[requirements]
# waiton setup
priority 0

# Iteration for your tests are controlled by the items section

Modified utils/Makefile_latest.installall from [1a0ad0a0fd] to [760f9ebc7d].

33
34
35
36
37
38
39
40

41
42
43
44
45
46
47
CHICKEN_VERSION=4.8.0
SQLITE3_VERSION=3071401

# Eggs to install (straightforward ones)
EGGS=matchable readline apropos base64 regex-literals format regex-case test coops trace csv \
     dot-locking posix-utils posix-extras directory-utils hostinfo tcp-server rpc csv-xml fmt \
     json md5 awful http-client spiffy uri-common intarweb spiffy-request-vars \
     spiffy-directory-listing ssax sxml-serializer sxml-modifications sqlite3


#
# Derived variables
#

ifeq ($(PROXY),)
PROX=







|
>







33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
CHICKEN_VERSION=4.8.0
SQLITE3_VERSION=3071401

# Eggs to install (straightforward ones)
EGGS=matchable readline apropos base64 regex-literals format regex-case test coops trace csv \
     dot-locking posix-utils posix-extras directory-utils hostinfo tcp-server rpc csv-xml fmt \
     json md5 awful http-client spiffy uri-common intarweb spiffy-request-vars \
     spiffy-directory-listing ssax sxml-serializer sxml-modifications sqlite3 sql-de-lite \
     srfi-19

#
# Derived variables
#

ifeq ($(PROXY),)
PROX=