Megatest

Diff
Login

Differences From Artifact [0f128aa628]:

To Artifact [0f7631a253]:


38
39
40
41
42
43
44
45
46


47



48


49
50
51
52
53
54
55
38
39
40
41
42
43
44


45
46
47
48
49
50

51
52
53
54
55
56
57
58
59







-
-
+
+

+
+
+
-
+
+







	files
	ports

	commonmod
	debugprint
	)

(define keep-age-param (make-parameter 10)) ;; qif file age, if over move to attic
(define num-run-dbs    (make-parameter 10))     ;; number of db's in .megatest
;; parameters
;;
(define dbfile:testsuite-name (make-parameter #f))

(define keep-age-param        (make-parameter 10))      ;; qif file age, if over move to attic
(define num-run-dbs           (make-parameter 10))      ;; number of db's in .megatest
(define dbfile:sync-method (make-parameter 'attach)) ;; 'attach or 'original
(define dbfile:sync-method    (make-parameter 'attach)) ;; 'attach or 'original
(define dbfile:cache-method   (make-parameter 'inmem))  ;; 'direct

;; 'original     - use old condition code
;; 'suicide-mode - create mtrah/stop-the-train with info on what went wrong
;; else use no condition code (should be production mode)
;;
(define no-condition-db-with-db (make-parameter 'suicide-mode))

440
441
442
443
444
445
446

447

448
449
450
451
452







453
454
455
456
457
458
459
444
445
446
447
448
449
450
451
452
453





454
455
456
457
458
459
460
461
462
463
464
465
466
467







+

+
-
-
-
-
-
+
+
+
+
+
+
+








(define (dbfile:with-no-sync-db dbpath proc)
  (let* ((db  (dbfile:raw-open-no-sync-db dbpath))
	 (res (proc db)))
    (sqlite3:finalize! db)
    res))

(define *no-sync-db-mutex* (make-mutex))
(define (dbfile:open-no-sync-db dbpath)
  (mutex-lock! *no-sync-db-mutex*)
  (if *no-sync-db*
      *no-sync-db*
      (let* ((db (dbfile:raw-open-no-sync-db dbpath)))
	(set! *no-sync-db* db)
	db)))
  (let* ((res (if *no-sync-db*
		  *no-sync-db*
		  (let* ((db (dbfile:raw-open-no-sync-db dbpath)))
		    (set! *no-sync-db* db)
		    db))))
    (mutex-unlock! *no-sync-db-mutex*)
    res))

(define (db:no-sync-set db var val)
  (sqlite3:execute db "INSERT OR REPLACE INTO no_sync_metadat (var,val) VALUES (?,?);" var val))

(define (db:no-sync-del! db var)
  (sqlite3:execute db "DELETE FROM no_sync_metadat WHERE var=?;" var))