Overview
Comment: | Prepped unit tests for adding basicserver tests. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.6584-ck5 |
Files: | files | file ages | folders |
SHA1: |
2d521969912363cde1b1cdb99da237a6 |
User & Date: | matt on 2021-05-05 05:45:01 |
Other Links: | branch diff | manifest | tags |
Context
2021-05-08
| ||
22:47 | Unit test coming along. check-in: 51225a42e5 user: matt tags: v1.6584-ck5 | |
2021-05-05
| ||
05:45 | Prepped unit tests for adding basicserver tests. check-in: 2d52196991 user: matt tags: v1.6584-ck5 | |
2021-05-03
| ||
23:33 | wip check-in: 064cde8cf9 user: matt tags: v1.6584-ck5 | |
Changes
Modified tests/Makefile from [66f2b4083e] to [9ee0726286].
︙ | ︙ | |||
38 39 40 41 42 43 44 | # The NEWTARGET causes some tests to fail. Do not use until this is fixed. NEWTARGET = "$(OS)/$(FS)/$(VER)" TARGET = "ubuntu/nfs/none" all : build unit test4 # test1 test2 test3 test4 test5 test6 test7 test8 test9 | | | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | # The NEWTARGET causes some tests to fail. Do not use until this is fixed. NEWTARGET = "$(OS)/$(FS)/$(VER)" TARGET = "ubuntu/nfs/none" all : build unit test4 # test1 test2 test3 test4 test5 test6 test7 test8 test9 unit : basicserver.log all-rmt.log all-api.log # basicserver.log runs.log misc.log tests.log # inter dependencies on the unit tests, I wish these could be "suggestions" all-rmt.log : all-api.log rel : cd release;dashboard -rows 25 & |
︙ | ︙ |
Modified tests/tests.scm from [b91fa9e96d] to [5559385436].
︙ | ︙ | |||
13 14 15 16 17 18 19 | ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with Megatest. If not, see <http://www.gnu.org/licenses/>. ;; ;; strftime('%m/%d/%Y %H:%M:%S','now','localtime') | < < < < < < < | | | | | | < < < < < < | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with Megatest. If not, see <http://www.gnu.org/licenses/>. ;; ;; strftime('%m/%d/%Y %H:%M:%S','now','localtime') (import srfi-18) (define test-work-dir (current-directory)) ;; given list of lists ;; ( ( msg expected param1 param2 ...) ;; ( ... ) ) ;; apply test to all ;; (define (test-batch proc pname inlst #!key (post-proc #f)) (for-each (lambda (spec) (let ((msg (conc pname " " (car spec))) (result (cadr spec)) (params (cddr spec))) (if post-proc (test msg result (post-proc (apply proc params))) (test msg result (apply proc params))))) inlst)) ;; read in all the _record files ;; (let ((files (glob "*_records.scm"))) ;; (for-each ;; (lambda (file) ;; (print "Loading " file) ;; (load file)) ;; files)) (let* ((unit-test-name (list-ref (argv) 4)) (fname (conc "../unittests/" unit-test-name ".scm"))) (if (file-exists? fname) (load fname) (print "ERROR: Unit test " unit-test-name " not found in unittests directory"))) |
Modified tests/unittests/basicserver.scm from [6dbaa79db6] to [1ad757cf41].
︙ | ︙ | |||
19 20 21 22 23 24 25 | ;; along with Megatest. If not, see <http://www.gnu.org/licenses/>. ;; Run like this: ;; ;; ./rununittest.sh server 1;(cd simplerun;megatest -stop-server 0) (delete-file* "logs/1.log") | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | < > | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 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 | ;; along with Megatest. If not, see <http://www.gnu.org/licenses/>. ;; Run like this: ;; ;; ./rununittest.sh server 1;(cd simplerun;megatest -stop-server 0) (delete-file* "logs/1.log") ;; (define run-id 1) ;; (test "setup for run" #t (begin (launch:setup) ;; (string? (getenv "MT_RUN_AREA_HOME")))) ;; ;; (test #f #t (and (server:kind-run *toppath*) #t)) ;; ;; ;; (define user (current-user-name)) ;; (define runname "mytestrun") ;; (define keys (rmt:get-keys)) ;; (define runinfo #f) ;; (define keyvals '(("SYSTEM" "abc")("RELEASE" "def"))) ;; (define header (list "SYSTEM" "RELEASE" "id" "runname" "state" "status" "owner" "event_time")) ;; ;; ;; Setup ;; ;; ;; ;; (test #f #f (not (client:setup run-id))) ;; ;; (test #f #f (not (hash-table-ref/default *runremote* run-id #f))) ;; ;; ;; Login ;; ;; ;; (test #f'(#t "successful login") ;; (rmt:login run-id)) ;; ;; ;; Keys ;; ;; ;; (test #f '("SYSTEM" "RELEASE") (rmt:get-keys)) ;; ;; ;; No data in db ;; ;; ;; (test #f '() (rmt:get-all-run-ids)) ;; (test #f #f (rmt:get-run-name-from-id run-id)) ;; (test #f ;; (vector ;; header ;; (vector #f #f #f #f)) ;; (rmt:get-run-info run-id)) ;; ;; ;; Insert data into db ;; ;; ;; (test #f 1 (rmt:register-run keyvals runname "new" "n/a" user)) ;; ;; (test #f #f (rmt:get-runs-by-patt keys runname)) ;; (test #f #t (rmt:general-call 'register-test run-id run-id "test-one" "")) ;; (define test-one-id #f) ;; (test #f 1 (let ((test-id (rmt:get-test-id run-id "test-one" ""))) ;; (set! test-one-id test-id) ;; test-id)) ;; (define test-one-rec #f) ;; (test #f "test-one" (let ((test-rec (rmt:get-test-info-by-id run-id test-one-id))) ;; (set! test-one-rec test-rec) ;; (vector-ref test-rec 2))) ;; ;; ;; With data in db ;; ;; ;; (print "Using runame=" runname) ;; (test #f '(1) (rmt:get-all-run-ids)) ;; (test #f runname (rmt:get-run-name-from-id run-id)) ;; (test #f ;; runname ;; (let ((run-info (rmt:get-run-info run-id))) ;; (db:get-value-by-header (db:get-rows run-info) ;; (db:get-header run-info) ;; "runname"))) ;; ;; ;; test killing server ;; ;; ;; (for-each ;; (lambda (run-id) ;; (test #f #t (and (tasks:kill-server-run-id run-id) #t)) ;; (test #f #f (tasks:server-running-or-starting? (db:delay-if-busy (tasks:open-db)) run-id))) ;; (list 0 1)) ;; ;; ;; Tests to assess reading/writing while servers are starting/stopping ;; ;; NO LONGER APPLICABLE ;; ;; ;; Server tests go here ;; (define (server-tests-dont-run-right-now) ;; (for-each ;; (lambda (run-id) ;; (test #f #f (tasks:server-running-or-starting? (db:delay-if-busy (tasks:open-db)) run-id)) ;; (server:kind-run run-id) ;; (test "did server start within 20 seconds?" ;; #t ;; (let loop ((remtries 20) ;; (running (tasks:server-running-or-starting? (db:delay-if-busy ;; (tasks:open-db)) ;; run-id))) ;; (if running ;; (> running 0) ;; (if (> remtries 0) ;; (begin ;; (thread-sleep! 1) ;; (loop (- remtries 1) ;; (tasks:server-running-or-starting? (db:delay-if-busy ;; (tasks:open-db)) ;; run-id))))))) ;; ;; (test "did server become available" #t ;; (let loop ((remtries 10) ;; (res (tasks:get-server (db:delay-if-busy (tasks:open-db)) run-id))) ;; (if res ;; (vector? res) ;; (begin ;; (if (> remtries 0) ;; (begin ;; (thread-sleep! 1.1) ;; (loop (- remtries 1)(tasks:get-server (db:delay-if-busy (tasks:open-db)) run-id))) ;; res))))) ;; ) ;; (list 0 1))) ;; ;; (define start-time (current-seconds)) ;; (define (reading-writing-while-server-starting-stopping-dont-run-now) ;; (let loop ((test-state 'start)) ;; (let* ((server-dats (tasks:get-server-records (db:delay-if-busy (tasks:open-db)) run-id)) ;; (first-dat (if (not (null? server-dats)) ;; (car server-dats) ;; #f))) ;; (map (lambda (dat) ;; (apply print (intersperse (vector->list dat) ", "))) ;; server-dats) ;; (test #f test-one-rec (rmt:get-test-info-by-id run-id test-one-id)) ;; (thread-sleep! 1) ;; (case test-state ;; ((start) ;; (print "Trying to start server") ;; (server:kind-run run-id) ;; (loop 'server-started)) ;; ((server-started) ;; (case (if first-dat (vector-ref first-dat 0) 'blah) ;; ((running) ;; (print "Server appears to be running. Now ask it to shutdown") ;; (rmt:kill-server run-id) ;; (loop 'server-shutdown)) ;; ((shutting-down) ;; (loop test-state)) ;; (else (print "Don't know what to do if get here")))) ;; ((server-shutdown) ;; (loop test-state))))) ;; ) ;;====================================================================== ;; END OF TESTS ;;====================================================================== ;; (test #f #f (client:setup run-id)) |
︙ | ︙ |