Overview
Comment: | Made genexample a bit safer |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | extend-test-get-path |
Files: | files | file ages | folders |
SHA1: |
f067e02af4b42f477fc0cbadec8e2c39 |
User & Date: | mrwellan on 2012-04-23 09:58:19 |
Other Links: | branch diff | manifest | tags |
Context
2012-04-23
| ||
11:07 | Merged extend-test-get-path into trunk check-in: 8b3179d059 user: mrwellan tags: trunk | |
09:58 | Made genexample a bit safer Closed-Leaf check-in: f067e02af4 user: mrwellan tags: extend-test-get-path | |
09:27 | Updated path due to move of tests check-in: a24a1b2335 user: mrwellan tags: extend-test-get-path | |
Changes
Modified genexample.scm from [35a0785685] to [2688ae0606].
︙ | ︙ | |||
48 49 50 51 52 53 54 55 56 57 58 59 60 61 | (display "Enter your megatest directory: ") (set! path (read-line)) (if (not (directory? path)) (begin (print "The path " path " does not exist or is not a directory. Attempting to create it now") (create-directory path #t))) ;; first prompt user for fields ;; (print "==================\nNext you must specify fields or keys for your megatest area. These will be used to organise your runs. One field should probably be \"RELEASE\". Other examples of useful fields might be \"PLATFORM\", \"TARGET_OS\" or if you are in the semiconductor business perhaps things like \"TECHNOLOGY_NODE\", \"DESIGN_KIT\" or \"METAL_STACK\". | > > > > > > > > > > | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | (display "Enter your megatest directory: ") (set! path (read-line)) (if (not (directory? path)) (begin (print "The path " path " does not exist or is not a directory. Attempting to create it now") (create-directory path #t))) ;; First check that megatest.config does not exist! (if (file-exists? (conc path "/megatest.config")) (begin (print "WARNING: megatest.config already exists! Do you wish to clobber files in " path "?") (display "Enter y/n: ") (if (not (equal? "y" (read-line))) (begin (print "INFO: Creation of megatest files in " path " aborted") (exit 1))))) ;; first prompt user for fields ;; (print "==================\nNext you must specify fields or keys for your megatest area. These will be used to organise your runs. One field should probably be \"RELEASE\". Other examples of useful fields might be \"PLATFORM\", \"TARGET_OS\" or if you are in the semiconductor business perhaps things like \"TECHNOLOGY_NODE\", \"DESIGN_KIT\" or \"METAL_STACK\". |
︙ | ︙ | |||
136 137 138 139 140 141 142 | (let ((waiton #f) (priority #f) (description #f) (steps '()) (scripts '()) (items '()) (rel-path #f)) | > > > > > > > > > > > > > > > > > > > > > > | | | | | | | < < < < < | 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 | (let ((waiton #f) (priority #f) (description #f) (steps '()) (scripts '()) (items '()) (rel-path #f)) (cond ((file-exists? "megatest.config") (set! rel-path "./")) ((file-exists? "../megatest.config") (set! rel-path "../")) ((file-exists? "../../megatest.config") (set! rel-path "../../")) ((file-exists? "../../../megatest.config")(set! rel-path "../../../"))) ;; good enough dang it. ;; Don't gather data or continue if a) megatest.config can't be found or b) testconfig already exists (if (not rel-path) (begin (print "ERROR: I could not find megatest.config, please run -get-megatest-test in the top dir of your megatest area") (exit 1))) (if (file-exists? (conc rel-path "tests/" testname "/testconfig")) (begin (print "WARNING: You already have a testconfig in " rel-path "tests/" testname ", do you want to clobber your files?") (display "Enter y/n: ") (if (not (equal? "y" (read-line))) (begin (print "INFO: user abort of creation of test " testname) (exit 1))))) (print "We are going to generate a skeleton set of files for your test " testname "\n" " *** Note: do not worry too much about typos, you can edit the files created when you are done.") (print "\n\n==================\nPlease describe this test. The description will be visible in various dialogs and reports") (display "Enter one line description for this test: ") (set! description (read-line)) (print "\n\n==================\nDoes this test, " testname ", require any other test be run prior to launch?") (display (conc "Enter space delimited list of tests which " testname " must wait for: ")) (set! waiton (read-line)) (print "\n\n==================\nDo you wish to prioritize the running of this test over other tests? If so") (print "enter a number greater than zero here") (display "Enter a priority of 0 (default) or higher: ") (set! priority (read-line)) ;; Get the steps (print "\n\n==================\nNow to enter the one or more steps that make up your test, note; you can add more later") (print "Hint; use .sh extension on the script names and we'll create placeholder scripts." (let ((stepname #f) (scriptname #f)) (let loop ((done #f)) (display "Enter the name for this step (blank to stop): ") (set! stepname (read-line)) (if (not (equal? stepname "")) (begin (display "Enter the script or progam to run: ") (set! scriptname (read-line)) (set! steps (append steps (list (list stepname scriptname)))))) (if (not (equal? stepname "")) (loop #f)))) ;; Get the items (print "\n\n==================\nNext we need to get the variables and values you wish to iterate this test over (blank for none)") (let ((varname #f) (values #f)) (let loop ((done #f)) (display "Enter the variable name: ") (set! varname (read-line)) (if (not (equal? varname "")) (begin (display (conc "Enter the space separated list of values for " varname ": ")) (set! values (read-line)) (set! items (append items (list (conc varname " " values)))))) (if (not (equal? varname "")) (loop #f)))) ;; Now create the test (if (not rel-path) (begin (print "ERROR: You must run this command in a megatest area under where the megatest.config file exists.") (exit 1)) (let ((testdir (conc rel-path "tests/" testname))) (create-directory testdir #t) (with-output-to-file (conc testdir "/testconfig") |
︙ | ︙ |