Megatest

Check-in [c22c4fd813]
Login
Overview
Comment:Fixed handling of test data rollup when status is a null or n/a string
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | v1.25
Files: files | file ages | folders
SHA1: c22c4fd81380414e65f1091a43ac3499ccf22683
User & Date: mrwellan on 2011-09-13 14:09:08
Other Links: manifest | tags
Context
2011-09-14
11:07
corrected typo and wrong var reference in csv handling check-in: 2dea6425cc user: mrwellan tags: trunk
2011-09-13
14:09
Fixed handling of test data rollup when status is a null or n/a string check-in: c22c4fd813 user: mrwellan tags: trunk, v1.25
11:39
Tweak to v1.25, some spreadsheet columns misaligned with the data. check-in: 233acb17b2 user: mrwellan tags: trunk
Changes

Modified db.scm from [3a72bf4fd5] to [4dd82448eb].

527
528
529
530
531
532
533




534

535
536
537
538
539
540
541
527
528
529
530
531
532
533
534
535
536
537

538
539
540
541
542
543
544
545







+
+
+
+
-
+







	      (category    (list-ref padded-row 0))
	      (variable    (list-ref padded-row 1))
	      (value       (any->number-if-possible (list-ref padded-row 2)))
	      (expected    (any->number-if-possible (list-ref padded-row 3)))
	      (tol         (any->number-if-possible (list-ref padded-row 4))) ;; >, <, >=, <=, or a number
	      (units       (list-ref padded-row 5))
	      (comment     (list-ref padded-row 6))
	      (status      (let ((s (list-ref padded-row 7)))
			     (if (and (string? s)(or (string-match (regexp "^\\s*$") s)
						     (string-match (regexp "^n/a$"))))
				 #f
	      (status      (list-ref padded-row 7))) ;; if specified on the input then use, else calculate
				 status)))) ;; if specified on the input then use, else calculate
	 ;; look up expected,tol,units from previous best fit test if they are all either #f or ''
	 (if (and (or (not expected)(equal? expected ""))
		  (or (not tol)     (equal? expected ""))
		  (or (not units)   (equal? expected "")))
	     (let-values (((new-expected new-tol new-units)(db:get-prev-tol-for-test db test-id category variable)))
	       (set! expected new-expected)
	       (set! tol      new-tol)

Modified runs.scm from [94662cef73] to [9b2009f6fd].

217
218
219
220
221
222
223
224


225
226
227
228
229
230
231
232
233
234
235
236

237
238
239
240
241
242
243
217
218
219
220
221
222
223

224
225
226
227
228
229
230
231
232
233
234
235
236

237
238
239
240
241
242
243
244







-
+
+











-
+







	  (sqlite3:execute db "UPDATE tests SET first_warn=? WHERE run_id=? AND testname=? AND item_path=?;" val run-id test-name item-path)))

    (let ((category (hash-table-ref/default otherdat ":category" ""))
	  (variable (hash-table-ref/default otherdat ":variable" ""))
	  (value    (hash-table-ref/default otherdat ":value"    #f))
	  (expected (hash-table-ref/default otherdat ":expected" #f))
	  (tol      (hash-table-ref/default otherdat ":tol"      #f))
	  (units    (hash-table-ref/default otherdat ":units"    "")))
	  (units    (hash-table-ref/default otherdat ":units"    ""))
	  (dcomment (hash-table-ref/default otherdat ":comment"  "")))
      (debug:print 4 
		   "category: " category ", variable: " variable ", value: " value
		   ", expected: " expected ", tol: " tol ", units: " units)
      (if (and value expected tol) ;; all three required
	  (db:csv->test-data db test-id 
			     (conc category ","
				   variable ","
				   value    ","
				   expected ","
				   tol      ","
				   units    ","
				   comment  ","))))
				   dcomment ","))))
				   
    ;; need to update the top test record if PASS or FAIL and this is a subtest
    (if (and (not (equal? item-path ""))
	     (or (equal? status "PASS")
		 (equal? status "WARN")
		 (equal? status "FAIL")
		 (equal? status "WAIVED")