Overview
Comment: | Updated the documentation |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
a526d7ade5dbba6b58c7514f119003dc |
User & Date: | matt on 2011-05-17 00:50:32 |
Other Links: | manifest | tags |
Context
2011-05-17
| ||
00:57 | Updated the documentation check-in: 0860f72b77 user: matt tags: trunk | |
00:50 | Updated the documentation check-in: a526d7ade5 user: matt tags: trunk | |
2011-05-16
| ||
23:59 | Updated the documentation check-in: 4a356a51e5 user: matt tags: trunk | |
Changes
Modified docs/megatest.html from [342589359c] to [ba30631ac8].
︙ | ︙ | |||
98 99 100 101 102 103 104 | <a class="Link" href="#toc-Subsection-3.1.3">Subsection 3.1.3: Create your main.csh script</a> </div> </div> <div class="toc"> <a class="Link" href="#toc-Section-3.2">Section 3.2: Simple Test with Multiple Steps </a> </div> <div class="toc"> | | | 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | <a class="Link" href="#toc-Subsection-3.1.3">Subsection 3.1.3: Create your main.csh script</a> </div> </div> <div class="toc"> <a class="Link" href="#toc-Section-3.2">Section 3.2: Simple Test with Multiple Steps </a> </div> <div class="toc"> <a class="Link" href="#toc-Section-3.3">Section 3.3: Simple Test with Multiple Steps, Some in Parallel </a> </div> <div class="tocindent"> <div class="toc"> <a class="Link" href="#toc-Subsection-3.3.1">Subsection 3.3.1: The Makefile</a> </div> <div class="toc"> <a class="Link" href="#toc-Subsection-3.3.2">Subsection 3.3.2: The main.csh file</a> |
︙ | ︙ | |||
216 217 218 219 220 221 222 | <h2 class="Section"> <a class="toc" name="toc-Section-2.2">2.2</a> Setup </h2> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-2.2.1">2.2.1</a> Create megatest.config </h3> <div class="Unindented"> | | > > > | | 216 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 245 246 247 248 249 250 251 252 | <h2 class="Section"> <a class="toc" name="toc-Section-2.2">2.2</a> Setup </h2> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-2.2.1">2.2.1</a> Create megatest.config </h3> <div class="Unindented"> Create the file megatest.config using the megatest.config template from the tests directory. At a minimum you need the following: </div> <div class="Paragraph"> <a class="toc" name="toc-Paragraph-1"></a><div class="listing"> <pre class="listing"># Fields are the keys under which your test runs are organized [fields] field1 TEXT field2 TEXT [jobtools] # The launcher launches jobs to the local or remote hosts, # the job is managed on the target host by megatest, # comment out launcher to run local only. An example launcher # "nbfake" can be found in the utils directory. launcher nbfake # The disks section specifies where the tests will be run. As you # run out of space in a partition you can add additional disks # entries. # Format is: # name /path/to/area [disks] disk1 /tmp </pre> </div> </div> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-2.2.2">2.2.2</a> Create runconfigs.config </h3> |
︙ | ︙ | |||
257 258 259 260 261 262 263 | </div> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-2.2.3">2.2.3</a> Create the tests directory and your first test </h3> <div class="Unindented"> The structure should look like this: </div> | | | | | | | | | | 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 | </div> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-2.2.3">2.2.3</a> Create the tests directory and your first test </h3> <div class="Unindented"> The structure should look like this: </div> <div class="Paragraph"> <a class="toc" name="toc-Paragraph-2"></a><div class="listing"> <pre class="listing">../tests ├── megatest.config ├── runconfigs.config └── tests └── mytest ├── main.sh └── testconfig </pre> </div> </div> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-2.2.4">2.2.4</a> Create the testconfig file for your test </h3> <div class="Paragraph"> <a class="toc" name="toc-Paragraph-3"></a><div class="listing"> <pre class="listing">[setup] runscript main.sh </pre> </div> </div> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-2.2.5">2.2.5</a> Create your test running script, main.sh </h3> <div class="Paragraph"> <a class="toc" name="toc-Paragraph-4"></a><div class="listing"> <pre class="listing">#!/bin/bash megatest -runstep mystep1 "sleep 20;echo Done" -m "mystep1 is done" megatest -test-status :state COMPLETED :status PASS -m "This is a comment" </pre> </div> </div> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-2.2.6">2.2.6</a> Run megatest and watch your run progress </h3> <div class="Paragraph"> <a class="toc" name="toc-Paragraph-5"></a><div class="listing"> <pre class="listing">megatest :field1 abc :field2 def :runname 2011week08.4a -runall watch megatest -list-runs % # OR use the dashboard dashboard & |
︙ | ︙ | |||
323 324 325 326 327 328 329 | </h1> <h2 class="Section"> <a class="toc" name="toc-Section-3.1">3.1</a> A Simple Test with one Step </h2> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-3.1.1">3.1.1</a> Create your test directory. The directory name will be the name of the test </h3> | | | | | > > | > | | 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 | </h1> <h2 class="Section"> <a class="toc" name="toc-Section-3.1">3.1</a> A Simple Test with one Step </h2> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-3.1.1">3.1.1</a> Create your test directory. The directory name will be the name of the test </h3> <div class="Paragraph"> <a class="toc" name="toc-Paragraph-6"></a><div class="listing"> <pre class="listing">mkdir simpletest cd simpletest </pre> </div> </div> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-3.1.2">3.1.2</a> Create your testconfig file. This file contains various specifications for your test. For our example the test author has chosen to write the test using csh scripting. </h3> <div class="Paragraph"> <a class="toc" name="toc-Paragraph-7"></a><div class="listing"> <pre class="listing"># testconfig [setup] runscript main.csh </pre> </div> </div> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-3.1.3">3.1.3</a> Create your main.csh script </h3> <div class="Unindented"> Note: Using csh is NOT recommended. Use bash, perl, ruby, zsh or anything other than csh. We use csh here because it is popular in some industries. </div> <div class="Paragraph"> <a class="toc" name="toc-Paragraph-8"></a><div class="listing"> <pre class="listing">#!/bin/tcsh -x # run the cpu1 simulation. # The step name is "run_simulation" # The commandline being run for this step is "runsim cpu1" # The logpro file to validate the output from the run is "runsim.logpro" $MEGATEST -runstep run_simulation -logpro runsim.logpro "runsim cpu1" </pre> </div> </div> <div class="Unindented"> You can now run megatest and the created test directory will contain the new files “run_simulation.html” and “run_simulation.log”. If you are using the dashboard you can click on the run and then push the “View log” button to view the log file in firefox. </div> <h2 class="Section"> <a class="toc" name="toc-Section-3.2">3.2</a> Simple Test with Multiple Steps </h2> <div class="Unindented"> To run multiple steps simply add them to the main.csh file. Here we add a step to test “cpu2”. The second step that tests cpu2 will only run after the step that tested “cpu1” completes. |
︙ | ︙ | |||
386 387 388 389 390 391 392 | $MEGATEST -runstep run_simulation_cpu1 -logpro runsim.logpro "runsim cpu1" $MEGATEST -runstep run_simulation_cpu2 -logpro runsim.logpro "runsim cpu2" </pre> </div> </div> <h2 class="Section"> | | | 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 | $MEGATEST -runstep run_simulation_cpu1 -logpro runsim.logpro "runsim cpu1" $MEGATEST -runstep run_simulation_cpu2 -logpro runsim.logpro "runsim cpu2" </pre> </div> </div> <h2 class="Section"> <a class="toc" name="toc-Section-3.3">3.3</a> Simple Test with Multiple Steps, Some in Parallel </h2> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-3.3.1">3.3.1</a> The Makefile </h3> <div class="Unindented"> A good way to run steps in parallel within a single test, especially when there are following steps, is to use the Unix Make utility. Writing Makefiles is beyond the scope of this document but here is a minimal example that will run “runsim cpu1” and “runsim cpu2” in parallel. For more information on make try “info make” at the Linux command prompt. </div> |
︙ | ︙ | |||
418 419 420 421 422 423 424 | <div class="listing"> <pre class="listing">#!/bin/tcsh -x # run the cpu1 and cpu2 simulations in parallel. # The -j parameter tells make how many jobs it may run in parallel make -j 2 | < | | | | | | 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 | <div class="listing"> <pre class="listing">#!/bin/tcsh -x # run the cpu1 and cpu2 simulations in parallel. # The -j parameter tells make how many jobs it may run in parallel make -j 2 </pre> </div> </div> <h2 class="Section"> <a class="toc" name="toc-Section-3.4">3.4</a> Simple Test with Iteration </h2> <div class="Unindented"> Since no jobs run after the cpu1 and cpu2 simulations in this test it is possible to use iterated mode. </div> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-3.4.1">3.4.1</a> Update you testconfig file for iteration </h3> <div class="Paragraph"> <a class="toc" name="toc-Paragraph-9"></a><div class="listing"> <pre class="listing">[setup] runscript main.csh [items] CPU cpu1 cpu2 </pre> </div> </div> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-3.4.2">3.4.2</a> Rewrite your main.csh for iteration </h3> <div class="Paragraph"> <a class="toc" name="toc-Paragraph-10"></a><div class="listing"> <pre class="listing">#!/bin/tcsh -x # run the cpu simulation but now use the environment variable $CPU # to select what cpu to run the simulation against $MEGATEST -runstep run_simulation -logpro runsim.logpro "runsim $CPU" </pre> |
︙ | ︙ | |||
504 505 506 507 508 509 510 | </blockquote> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-4.1.3">4.1.3</a> Includes </h3> <div class="Unindented"> [include filename] </div> | | | | 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 | </blockquote> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-4.1.3">4.1.3</a> Includes </h3> <div class="Unindented"> [include filename] </div> <blockquote class="Quotation"> The file named “filename” will be included as if part of the calling file. NOTE: This means no section can be named “include “ (with the whitespace). </blockquote> <h3 class="Subsection"> <a class="toc" name="toc-Subsection-4.1.4">4.1.4</a> Setting a variable by running a command </h3> <div class="Unindented"> VARNAME [system ls /tmp] </div> <blockquote class="Quotation"> |
︙ | ︙ | |||
1374 1375 1376 1377 1378 1379 1380 | </table> </div> <hr class="footer"/> <div class="footer" id="generated-by"> | | | 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 | </table> </div> <hr class="footer"/> <div class="footer" id="generated-by"> Document generated by <a href="http://elyxer.nongnu.org/">eLyXer 1.0.0 (2010-07-21)</a> on <span class="create-date">2011-05-16T23:50:25.969569</span> </div> </div> </body> </html> |
Modified docs/megatest.lyx from [902c5a499e] to [52db388105].
︙ | ︙ | |||
173 174 175 176 177 178 179 180 181 182 183 184 185 186 | Create megatest.config \end_layout \begin_layout Standard Create the file megatest.config using the megatest.config template from the tests directory. At a minimum you need the following: \begin_inset listings inline false status open \begin_layout Plain Layout # Fields are the keys under which your test runs are organized | > > > | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | Create megatest.config \end_layout \begin_layout Standard Create the file megatest.config using the megatest.config template from the tests directory. At a minimum you need the following: \end_layout \begin_layout Paragraph \begin_inset listings inline false status open \begin_layout Plain Layout # Fields are the keys under which your test runs are organized |
︙ | ︙ | |||
270 271 272 273 274 275 276 | \begin_layout Plain Layout [disks] \end_layout \begin_layout Plain Layout | | | 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 | \begin_layout Plain Layout [disks] \end_layout \begin_layout Plain Layout disk1 /tmp \end_layout \end_inset \end_layout |
︙ | ︙ | |||
311 312 313 314 315 316 317 | Create the tests directory and your first test \end_layout \begin_layout Standard The structure should look like this: \end_layout | | | 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 | Create the tests directory and your first test \end_layout \begin_layout Standard The structure should look like this: \end_layout \begin_layout Paragraph \begin_inset listings inline false status open \begin_layout Plain Layout ../tests |
︙ | ︙ | |||
360 361 362 363 364 365 366 | \end_layout \begin_layout Subsection Create the testconfig file for your test \end_layout | | | 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 | \end_layout \begin_layout Subsection Create the testconfig file for your test \end_layout \begin_layout Paragraph \begin_inset listings inline false status open \begin_layout Plain Layout [setup] |
︙ | ︙ | |||
384 385 386 387 388 389 390 | \end_layout \begin_layout Subsection Create your test running script, main.sh \end_layout | | | 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 | \end_layout \begin_layout Subsection Create your test running script, main.sh \end_layout \begin_layout Paragraph \begin_inset listings inline false status open \begin_layout Plain Layout #!/bin/bash |
︙ | ︙ | |||
421 422 423 424 425 426 427 | \end_layout \begin_layout Subsection Run megatest and watch your run progress \end_layout | | | 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 | \end_layout \begin_layout Subsection Run megatest and watch your run progress \end_layout \begin_layout Paragraph \begin_inset listings inline false status open \begin_layout Plain Layout megatest :field1 abc :field2 def :runname 2011week08.4a -runall |
︙ | ︙ | |||
480 481 482 483 484 485 486 | \end_layout \begin_layout Subsection Create your test directory. The directory name will be the name of the test \end_layout | | | 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 | \end_layout \begin_layout Subsection Create your test directory. The directory name will be the name of the test \end_layout \begin_layout Paragraph \begin_inset listings inline false status open \begin_layout Plain Layout mkdir simpletest |
︙ | ︙ | |||
507 508 509 510 511 512 513 | \begin_layout Subsection Create your testconfig file. This file contains various specifications for your test. For our example the test author has chosen to write the test using csh scripting. \end_layout | | | 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 | \begin_layout Subsection Create your testconfig file. This file contains various specifications for your test. For our example the test author has chosen to write the test using csh scripting. \end_layout \begin_layout Paragraph \begin_inset listings inline false status open \begin_layout Plain Layout # testconfig |
︙ | ︙ | |||
541 542 543 544 545 546 547 548 549 550 551 552 553 554 | \end_layout \begin_layout Subsection Create your main.csh script \end_layout \begin_layout Standard \begin_inset listings inline false status open \begin_layout Plain Layout #!/bin/tcsh -x | > > > > > > > | 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 | \end_layout \begin_layout Subsection Create your main.csh script \end_layout \begin_layout Standard Note: Using csh is NOT recommended. Use bash, perl, ruby, zsh or anything other than csh. We use csh here because it is popular in some industries. \end_layout \begin_layout Paragraph \begin_inset listings inline false status open \begin_layout Plain Layout #!/bin/tcsh -x |
︙ | ︙ | |||
700 701 702 703 704 705 706 | \end_inset \end_layout \begin_layout Section | | | 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 | \end_inset \end_layout \begin_layout Section Simple Test with Multiple Steps, Some in Parallel \end_layout \begin_layout Subsection The Makefile \end_layout \begin_layout Standard |
︙ | ︙ | |||
821 822 823 824 825 826 827 | \end_layout \begin_layout Plain Layout make -j 2 \end_layout | < < < < | | | | 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 | \end_layout \begin_layout Plain Layout make -j 2 \end_layout \end_inset \end_layout \begin_layout Section Simple Test with Iteration \end_layout \begin_layout Standard Since no jobs run after the cpu1 and cpu2 simulations in this test it is possible to use iterated mode. \end_layout \begin_layout Subsection Update you testconfig file for iteration \end_layout \begin_layout Paragraph \begin_inset listings inline false status open \begin_layout Plain Layout [setup] |
︙ | ︙ | |||
881 882 883 884 885 886 887 | \end_layout \begin_layout Subsection Rewrite your main.csh for iteration \end_layout | | | 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 | \end_layout \begin_layout Subsection Rewrite your main.csh for iteration \end_layout \begin_layout Paragraph \begin_inset listings inline false status open \begin_layout Plain Layout #!/bin/tcsh -x |
︙ | ︙ | |||
1074 1075 1076 1077 1078 1079 1080 | Includes \end_layout \begin_layout Standard [include filename] \end_layout | | | 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 | Includes \end_layout \begin_layout Standard [include filename] \end_layout \begin_layout Quotation The file named \begin_inset Quotes eld \end_inset filename \begin_inset Quotes erd \end_inset |
︙ | ︙ |