Megatest

Check-in [a91345f8e2]
Login
Overview
Comment:Changes to fix remove-keep
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.65
Files: files | file ages | folders
SHA1: a91345f8e232d8d120a1ba2a6959cf9b3009edaf
User & Date: ritikaag on 2017-12-20 17:15:36
Other Links: branch diff | manifest | tags
Context
2017-12-28
11:20
enabled remove-run to propagate to subruns check-in: 2e121e3655 user: bjbarcla tags: v1.65
2017-12-20
17:15
Changes to fix remove-keep check-in: a91345f8e2 user: ritikaag tags: v1.65
2017-12-18
15:39
Added couple lines of helpful hints in the mem allocation script check-in: 596110698a user: mrwellan tags: v1.65
Changes

Modified common.scm from [933bab82d3] to [7e22939ef4].

1852
1853
1854
1855
1856
1857
1858
1859

1860
1861
1862

1863
1864
1865

1866
1867
1868
1869
1870
1871
1872
1852
1853
1854
1855
1856
1857
1858

1859
1860
1861

1862
1863
1864

1865
1866
1867
1868
1869
1870
1871
1872







-
+


-
+


-
+







		  (if match
		      (let ((val (string->number (cadr match)))
			    (unt (caddr match)))
			(if val 
			    (set! time-secs (+ time-secs (* val
							    (case (string->symbol unt)
							      ((s) 1)
							      ((m) 60)
							      ((m) 60) ;; minutes
							      ((h) 3600)
							      ((d) 86400)
							      ((2) 604800)
							      ((w) 604800)
							      ((M) 2628000) ;; aproximately one month
							      ((y) 31536000)
							      (else 0))))))))))
							      (else #f))))))))))
	      parts)
    time-secs))
		       
(define (seconds->hr-min-sec secs)
  (let* ((hrs (quotient secs 3600))
	 (min (quotient (- secs (* hrs 3600)) 60))
	 (sec (- secs (* hrs 3600)(* min 60))))

Modified megatest.scm from [665b5b9f41] to [c08f51dcf7].

113
114
115
116
117
118
119
120

121
122

123

124

125
126
127
128
129
130
131
113
114
115
116
117
118
119

120


121
122
123

124
125
126
127
128
129
130
131







-
+
-
-
+

+
-
+







  -set-run-status status  : sets status for run to status, requires -target and -runname
  -get-run-status         : gets status for run specified by target and runname
  -run-wait               : wait on run specified by target and runname
  -preclean               : remove the existing test directory before running the test
  -clean-cache            : remove the cached megatest.config and runconfigs.config files
  -no-cache               : do not use the cached config files. 
  -one-pass               : launch as many tests as you can but do not wait for more to be ready
  -remove-keep N action   : remove all but N most recent runs per target
  -remove-keep N          : remove all but N most recent runs per target; use '-actions, -age, -precmd'
                            * Use -actions print,remove-runs,archive to specify action to take
                            * Add param -age 120d,3h,20m to apply only to runs older than the 
  -age <age>              : 120d,3h,20m to apply only to runs older than the 
                                 specified age. NB// M=month, m=minute
  -actions <action>       : print,remove-runs,archive to specify action to take
                            * Add -precmd to insert a wrapper command in front of the commands run
  -precmd                 : insert a wrapper command in front of the commands run

Selectors (e.g. use for -runtests, -remove-runs, -set-state-status, -list-runs etc.)
  -target key1/key2/...   : run for key1, key2, etc.
  -reqtarg key1/key2/...  : run for key1, key2, etc. but key1/key2 must be in runconfigs
  -testpatt patt1/patt2,patt3/...  : % is wildcard
  -runname                : required, name for this particular test run
  -state                  : Applies to runs, tests or steps depending on context

Modified runs.scm from [b0c63a44c5] to [b272222fa5].

1900
1901
1902
1903
1904
1905
1906
1907

1908
1909
1910
1911
1912
1913
1914
1900
1901
1902
1903
1904
1905
1906

1907
1908
1909
1910
1911
1912
1913
1914







-
+







	 (age      (if (args:get-arg "-age")(common:hms-string->seconds (args:get-arg "-age")) #f))
	 (age-mark (if age (- (current-seconds) age) (+ (current-seconds) 86400)))
	 (precmd   (or (args:get-arg "-precmd") "")))
    (print "Actions: " actions)
    (for-each
     (lambda (target)
       (let* ((runs      (hash-table-ref runs-ht target))
	      (sorted    (sort runs (lambda (a b)(> (simple-run-event_time a)(simple-run-event_time b)))))
	      (sorted    (sort runs (lambda (a b)(< (simple-run-event_time a)(simple-run-event_time b)))))
	      (to-remove (let* ((len      (length sorted))
                                (trim-amt (- len num-to-keep)))
                           (if (> trim-amt 0)
                               (take sorted trim-amt)
                               '()))))
	 (hash-table-set! runs-ht target to-remove)
         (print target ":")