Changes In Branch v1.65-newbuild Through [23c3e9a0ba] Excluding Merge-Ins
This is equivalent to a diff from 156279118f to 23c3e9a0ba
2020-05-26
| ||
18:35 | Cherrypicked caed2ec check-in: 3bc8aefeaf user: mrwellan tags: v1.65-newbuild | |
18:33 | Cherrypicked 2c225 and b82fd, syscheck stuff check-in: 23c3e9a0ba user: mrwellan tags: v1.65-newbuild | |
18:30 | Merged f02d97 and 55a9a, mostly syscheck stuff check-in: 88b411ff1e user: mrwellan tags: v1.65-newbuild | |
17:49 | Pushed build related changes 23a58, 68152, 3d4fba to separate branch check-in: 7115833fe9 user: mrwellan tags: v1.65-newbuild | |
2020-04-06
| ||
06:18 | Pulled external modules that are not offical eggs into Megatest to make building easier check-in: 23a58a862f user: matt tags: v1.65-newview | |
05:36 | Minor cleanup check-in: 156279118f user: matt tags: v1.65-newview | |
2020-03-03
| ||
05:43 | fixed get-tests-for-run-state-status check-in: 8b3c7571c1 user: matt tags: v1.65-newview | |
Modified Makefile from [e6e63de436] to [9f4f0d8369].
︙ | |||
28 29 30 31 32 33 34 | 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 | - + + - - - - + + + + + + + - + + + + + + - - - + + + + | http-transport.scm filedb.scm tdb.scm \ client.scm mt.scm \ ezsteps.scm lock-queue.scm sdb.scm \ rmt.scm api.scm subrun.scm \ portlogger.scm archive.scm env.scm diff-report.scm cgisetup/models/pgdb.scm # module source files |
︙ | |||
70 71 72 73 74 75 76 | 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 | + + - - + + | # ARCHSTR=$(shell bash -c "echo \$$MACHTYPE") PNGFILES = $(shell cd docs/manual;ls *png) #all : $(PREFIX)/bin/.$(ARCHSTR) mtest dboard mtut ndboard all : $(PREFIX)/bin/.$(ARCHSTR) mtest dboard mtut tcmt # megatest.o : ducttape-lib.import.o |
︙ | |||
120 121 122 123 124 125 126 | 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | - + | tasks.o \ tdb.o \ tests.o \ subrun.o \ tcmt : $(TCMTOBJS) tcmt.scm |
︙ | |||
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 | 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 | + + + + + + + + + + + + + + + + + + + + + + + + + - + + | # csc $(CSCOPTS) $(OFILES) $(GOFILES) multi-dboard.scm -o multi-dboard # # $(PREFIX)/bin/revtagfsl : utils/revtagfsl.scm # csc utils/revtagfsl.scm -o $(PREFIX)/bin/revtagfsl # Special dependencies for the includes common.o : commonmod.o tests.o db.o launch.o runs.o dashboard-tests.o dashboard-context-menu.o dashboard-guimonitor.o dashboard-main.o monitor.o dashboard.o \ archive.o megatest.o : db_records.scm tests.o runs.o dashboard.o dashboard-tests.o dashboard-context-menu.o dashboard-main.o : run_records.scm db.o ezsteps.o keys.o launch.o megatest.o monitor.o runs-for-ref.o runs.o tests.o : key_records.scm tests.o tasks.o dashboard-tasks.o : task_records.scm runs.o : test_records.scm megatest.o : megatest-fossil-hash.scm rmt.scm client.scm common.scm configf.scm dashboard-guimonitor.scm dashboard-tests.scm dashboard.scm db.scm dcommon.scm ezsteps.scm fs-transport.scm http-transport.scm index-tree.scm items.scm keys.scm launch.scm megatest.scm monitor.scm mt.scm newdashboard.scm runconfig.scm runs.scm server.scm tdb.scm tests.scm tree.scm : common_records.scm common_records.scm : altdb.scm mofiles/stml2.o : mofiles/cookie.o vg.o dashboard.o : vg_records.scm dcommon.o : run_records.scm mofiles/stml2.o : mofiles/cookie.o # special include based modules mofiles/pkts.o : pkts/pkts.scm # mofiles/mtargs.o : mtargs/mtargs.scm # mofiles/mtconfigf.o : mtconfigf/mtconfigf.scm # mofiles/ulex.o : ulex/ulex.scm mofiles/mutils.o : mutils/mutils.scm mofiles/cookie.o : stml2/cookie.scm mofiles/stml2.o : stml2/stml2.scm # Temporary while transitioning to new routine # runs.o : run-tests-queue-classic.scm run-tests-queue-new.scm # for the modularized stuff |
︙ | |||
324 325 326 327 328 329 330 | 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 | - + + + + + + + | mkdir -p ext-tests cd ext-tests;fossil open --nested $(MTQA_FOSSIL) $(MTQA_FOSSIL) : fossil clone https://www.kiatoa.com/fossils/megatest_qa $(MTQA_FOSSIL) clean : |
︙ |
Modified TODO from [21c315d3f7] to [d6857e4403].
︙ | |||
11 12 13 14 15 16 17 18 19 20 | 11 12 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 54 55 56 57 58 59 60 61 | + + + + + - - + + + + + + + + + + + + + + + + + + + + + + + - - | # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # 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/>. NOTE: This file gets copied occasionally into the wiki as "Roadmap". Do not make changes in the wiki, they will be lost! TODO ==== WW14 . Streamline compilation - DONE, all non-official egg modules are now bundled. |
Modified common.scm from [4d4a2441c8] to [79eab84e44].
︙ | |||
20 21 22 23 24 25 26 | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | - + - - + + + | (use srfi-1 data-structures posix regex-case (prefix base64 base64:) format dot-locking csv-xml z3 udp ;; sql-de-lite hostinfo md5 message-digest typed-records directory-utils stack matchable regex posix (srfi 18) extras ;; tcp (prefix nanomsg nmsg:) (prefix sqlite3 sqlite3:) |
︙ | |||
1730 1731 1732 1733 1734 1735 1736 | 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 | - + + + + + + + + + | (fullpath (conc fulldir "/" key "-" dtype ".log"))) (if (not (file-exists? fulldir))(create-directory fulldir #t)) (handle-exceptions exn #f (with-output-to-file fullpath (lambda ()(pp dat))))) #f)) |
︙ |
Added cookie.scm version [93f6026f72].
|
Modified dashboard.scm from [f69a7b566e] to [0930c846ee].
︙ | |||
21 22 23 24 25 26 27 | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | - + | (use format) (require-library iup) (import (prefix iup iup:)) (use canvas-draw) (import canvas-draw-iup) |
︙ | |||
2682 2683 2684 2685 2686 2687 2688 | 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 | - + | (define (new-runs-updater commondat rdat) (let* ((runnum (dboard:rdat-runnum rdat)) (start-time (current-milliseconds)) (tot-runs #f)) (if (eq? runnum 0)(dashboard:update-runs-data rdat)) (set! tot-runs (vector-length (dboard:rdat-runsbynum rdat))) (let loop ((rn runnum)) |
︙ |
Modified diff-report.scm from [722e4fdcd5] to [1eae9c3686].
︙ | |||
19 20 21 22 23 24 25 | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | - + | (declare (unit diff-report)) (declare (uses common)) (declare (uses rmt)) (include "common_records.scm") (use matchable) (use fmt) |
︙ |
Modified docs/manual/megatest_manual.html from [3974acbb23] to [2cca53be9f].
︙ | |||
898 899 900 901 902 903 904 905 906 907 908 909 910 911 | 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | which can launch jobs on local and remote Linux hosts. Currently megatest uses the network filesystem to call home to your master sqlite3 database. Megatest has been used with the Intel Netbatch and lsf (also known as openlava) batch systems and it should be straightforward to use it with other similar systems.</p></div> </div> </div> </div> <div class="sect1"> <h2 id="_overview">Overview</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_stand_alone_megatest_area">Stand-alone Megatest Area</h3> <div class="paragraph"><p>A single, stand-alone, Megatest based testsuite or "area" is sufficient for most validation, automation and build problems.</p></div> <div class="imageblock"> <div class="content"> <img src="megatest-stand-alone-area.png" alt="Static"> </div> </div> <div class="paragraph"><p>Megatest is designed as a distributed or decoupled system. This means you can run the areas stand-alone with no additional infrastructure. I.e. there are no databases, web servers or other centralized resources needed. However as your needs grow you can integrate multiple areas into a bigger system.</p></div> <div class="sect3"> <h4 id="_component_descriptions">Component Descriptions</h4> <div class="olist arabic"><ol class="arabic"> <li> <p> Multi-area dashboard and xterm. A gui (the dashboard) is usually the best option for controlling and launching runs but all operations can also be done from the commandline. Note: The not yet released multi-area dashboard replaces the old dashboard for browsing and controlling runs but for managing a single area the old dashboard works very well. </p> </li> <li> <p> Area/testsuite. This is your testsuite or automation definition and consists of the information in megatest.config, runconfigs.config and your testconfigs along with any custom scripting that can’t be done with the native Megatest features. </p> </li> <li> <p> If your testsuite or build automation is too large to run on a single instance you can distribute your jobs into a compute server pool. The only current requirements are password-less ssh access and a network filesystem. </p> </li> </ol></div> </div> </div> <div class="sect2"> <h3 id="_full_system_architecture">Full System Architecture</h3> <div class="imageblock"> <div class="content"> <img src="megatest-system-architecture.png" alt="Static"> </div> </div> </div> </div> </div> <div class="sect1"> <h2 id="_installation">Installation</h2> <div class="sectionbody"> <div class="sect2"> <h3 id="_dependencies">Dependencies</h3> <div class="paragraph"><p>Chicken scheme and a number of "eggs" are required for building |
︙ | |||
2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 | 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | </div></div> <div class="paragraph"><p>To transfer the environment to the next step you can do the following:</p></div> <div class="listingblock"> <div class="title">Propagate environment to next step</div> <div class="content monospaced"> <pre>$MT_MEGATEST -env2file .ezsteps/${stepname}</pre> </div></div> <div class="listingblock"> <div class="title">Full example with ezsteps, logpro rules, scripts etc.</div> <div class="content monospaced"> <pre># You can include a common file # [include #{getenv MT_RUN_AREA_HOME}/global-testconfig.inc] # Use "var" for a scratch pad # [var] dumpsql select * from data; sepstr ..................................... # NOT IMPLEMENTED YET! # [ezsteps-addendum] prescript something.sh postscript something2.sh # Add additional steps here. Format is "stepname script" [ezsteps] importdb loaddb prod.db prod.sql dumpprod dumpdata prod.db "#{get var dumpsql}" diff (echo "prod#{get var sepstr}test";diff --side-by-side \ dumpprod.log reference.log ;echo DIFFDONE) [scripts] loaddb #!/bin/bash sqlite3 $1 <<EOF .mode tabs .import $2 data .q EOF dumpdata #!/bin/bash sqlite3 $1 <<EOF .separator , $2 .q EOF # Test requirements are specified here [requirements] waiton setup priority 0 # Iteration for your test is controlled by the items section # The complicated if is needed to allow processing of the config for the dashboard when there are no actual runs. [items] THINGNAME [system generatethings.sh | sort -u] # Logpro rules for each step can be captured here in the testconfig # note: The ;; after the stepname and the leading whitespace are required # [logpro] inputdb ;; (expect:ignore in "LogFileBody" < 99 "Ignore error in comments" #/^\/\/.*error/) (expect:warning in "LogFileBody" = 0 "Any warning" #/warn/) (expect:required in "LogFileBody" > 0 "Some data found" #/^[a-z]{3,4}[0-9]+_r.*/) diff ;; (expect:ignore in "LogFileBody" < 99 "Ignore error in comments" #/^\/\/.*error/) (expect:warning in "LogFileBody" = 0 "Any warning" #/warn/) (expect:error in "LogFileBody" = 0 "< or > indicate missing entry" (list #/(<|>)/ #/error/i)) (expect:error in "LogFileBody" = 0 "Difference in data" (list #/\s+\|\s+/ #/error/i)) (expect:required in "LogFileBody" > 0 "DIFFDONE Marker found" #/DIFFDONE/) (expect:required in "LogFileBody" > 0 "Some things found" #/^[a-z]{3,4}[0-9]+_r.*/) # NOT IMPLEMENTED YET! # ## Also: enhance logpro to take list of command files: file1,file2... [waivers] createprod{target=%78/%/%/%} ;; (disable:required "DIFFDONE Marker found") (disable:error "Some error") (expect:waive in "LogFileBody" < 99 "Waive if failed due to version" #/\w+3\.6.*/) # test_meta is a section for storing additional data on your test [test_meta] author matt owner matt description Compare things tags tagone,tagtwo reviewed never</pre> </div></div> </div> <div class="sect2"> <h3 id="_triggers">Triggers</h3> <div class="paragraph"><p>In your testconfig or megatest.config triggers can be specified</p></div> <div class="listingblock"> <div class="title">Triggers spec</div> <div class="content monospaced"> |
︙ | |||
2988 2989 2990 2991 2992 2993 2994 | 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 | - + | </div> </div> </div> <div id="footnotes"><hr></div> <div id="footer"> <div id="footer-text"> Version 1.0<br> |
Added docs/manual/overview.txt version [79d741067f].
|
Modified docs/manual/reference.txt from [ae6c9c2e3a] to [41ce966733].
︙ | |||
649 650 651 652 653 654 655 656 657 658 659 660 661 662 | 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | To transfer the environment to the next step you can do the following: .Propagate environment to next step ---------------------------- $MT_MEGATEST -env2file .ezsteps/${stepname} ---------------------------- .Full example with ezsteps, logpro rules, scripts etc. ----------------- # You can include a common file # [include #{getenv MT_RUN_AREA_HOME}/global-testconfig.inc] # Use "var" for a scratch pad # [var] dumpsql select * from data; sepstr ..................................... # NOT IMPLEMENTED YET! # [ezsteps-addendum] prescript something.sh postscript something2.sh # Add additional steps here. Format is "stepname script" [ezsteps] importdb loaddb prod.db prod.sql dumpprod dumpdata prod.db "#{get var dumpsql}" diff (echo "prod#{get var sepstr}test";diff --side-by-side \ dumpprod.log reference.log ;echo DIFFDONE) [scripts] loaddb #!/bin/bash sqlite3 $1 <<EOF .mode tabs .import $2 data .q EOF dumpdata #!/bin/bash sqlite3 $1 <<EOF .separator , $2 .q EOF # Test requirements are specified here [requirements] waiton setup priority 0 # Iteration for your test is controlled by the items section # The complicated if is needed to allow processing of the config for the dashboard when there are no actual runs. [items] THINGNAME [system generatethings.sh | sort -u] # Logpro rules for each step can be captured here in the testconfig # note: The ;; after the stepname and the leading whitespace are required # [logpro] inputdb ;; (expect:ignore in "LogFileBody" < 99 "Ignore error in comments" #/^\/\/.*error/) (expect:warning in "LogFileBody" = 0 "Any warning" #/warn/) (expect:required in "LogFileBody" > 0 "Some data found" #/^[a-z]{3,4}[0-9]+_r.*/) diff ;; (expect:ignore in "LogFileBody" < 99 "Ignore error in comments" #/^\/\/.*error/) (expect:warning in "LogFileBody" = 0 "Any warning" #/warn/) (expect:error in "LogFileBody" = 0 "< or > indicate missing entry" (list #/(<|>)/ #/error/i)) (expect:error in "LogFileBody" = 0 "Difference in data" (list #/\s+\|\s+/ #/error/i)) (expect:required in "LogFileBody" > 0 "DIFFDONE Marker found" #/DIFFDONE/) (expect:required in "LogFileBody" > 0 "Some things found" #/^[a-z]{3,4}[0-9]+_r.*/) # NOT IMPLEMENTED YET! # ## Also: enhance logpro to take list of command files: file1,file2... [waivers] createprod{target=%78/%/%/%} ;; (disable:required "DIFFDONE Marker found") (disable:error "Some error") (expect:waive in "LogFileBody" < 99 "Waive if failed due to version" #/\w+3\.6.*/) # test_meta is a section for storing additional data on your test [test_meta] author matt owner matt description Compare things tags tagone,tagtwo reviewed never ----------------- Triggers ~~~~~~~~ In your testconfig or megatest.config triggers can be specified .Triggers spec |
︙ |
Added ducttape-lib.scm version [ee2ef474af].
|
Added ducttape/Makefile version [9efb623beb].
|
Added ducttape/README version [bc9be285fc].
|
Added ducttape/ducttape-lib.meta version [a22283c9d8].
|
Added ducttape/ducttape-lib.scm version [59b0a2f94a].