203
204
205
206
207
208
209
210
211
212
213
214
215
216
|
-----------------
[setup]
# this will automatically kill the test if it runs for more than 1h 2m and 3s
runtimelim 1h 2m 3s
-----------------
Tests browser view
~~~~~~~~~~~~~~~~~~
The tests browser (see the Run Control tab on the dashboard) has two views for displaying the tests.
. Dot (graphviz) based tree
. No dot, plain listing
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
|
-----------------
[setup]
# this will automatically kill the test if it runs for more than 1h 2m and 3s
runtimelim 1h 2m 3s
-----------------
Post Run Hook
+++++++++++++
This runs script to-run.sh after all tests have been completed. It is
not necessary to use -run-wait as each test will check for other
running tests on completion and if there are none it will call the
post run hook.
Note that the output from the script call will be placed in a log file
in the logs directory with a file name derived by replacing / with _
in post-hook-<target>-<runname>.log.
-------------------
[runs]
post-hook /path/to/script/to-run.sh
-------------------
Tests browser view
~~~~~~~~~~~~~~~~~~
The tests browser (see the Run Control tab on the dashboard) has two views for displaying the tests.
. Dot (graphviz) based tree
. No dot, plain listing
|
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
|
testname1/itempath A comment about why it was waived
testname2 A comment for a non-itemized test
---------------------------
Ezsteps
~~~~~~~
.Example ezsteps with logpro rules
-----------------
[ezsteps]
lookittmp ls /tmp
[logpro]
lookittmp ;; Note: config file format supports multi-line entries where leading whitespace is removed from each line
;; a blank line indicates the end of the block of text
(expect:required in "LogFileBody" > 0 "A file name that should never exist!" #/This is a awfully stupid file name that should never be found in the temp dir/)
-----------------
To transfer the environment to the next step you can do the following:
.Propagate environment to next step
----------------------------
$MT_MEGATEST -env2file .ezsteps/${stepname}
----------------------------
Scripts
~~~~~~~
.Specifying scripts inline (best used for only simple scripts)
----------------------------
[scripts]
|
>
>
>
>
>
>
>
>
|
>
>
>
>
>
>
>
|
>
|
>
>
>
|
>
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
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
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
|
testname1/itempath A comment about why it was waived
testname2 A comment for a non-itemized test
---------------------------
Ezsteps
~~~~~~~
Ezsteps is the recommended way to implement tests and automation in
Megatest.
NOTE: Each ezstep must be a single line. Use the [scripts] mechanism
to create multiline scripts (see example below).
.Example ezsteps with logpro rules
-----------------
[ezsteps]
lookittmp ls /tmp
[logpro]
lookittmp ;; Note: config file format supports multi-line entries where leading whitespace is removed from each line
;; a blank line indicates the end of the block of text
(expect:required in "LogFileBody" > 0 "A file name that should never exist!" #/This is a awfully stupid file name that should never be found in the temp dir/)
-----------------
Automatic environment propagation with Ezsteps
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Turn on ezpropvars and environment variables will be propagated from
step to step. Use this to source script files that modify the
envionment where the modifications are needed in subsequent steps.
NOTE: aliases and variables with strange whitespace or characters will
not propagate correctly. Put in a ticket on the
http://www.kiatoa.com/fossils/megatest site if you need support for a
specific strange character combination.
.Turn on auto propagate for bash
---------------------------
[setup]
ezpropvars sh
---------------------------
.Write your ezsteps. The loadenv.csh step will use /bin/csh as its shell, other steps will use bash.
---------------------------
[ezsteps]
loadenv.csh source $REF/ourenviron.csh
compile make
install make install
---------------------------
Bash and csh are supported. You can override the shell binary location
from the default /bin/bash and /bin/csh if needed.
.Turn on auto propagate for csh
---------------------------
[setup]
ezpropvars csh /bin/csh
---------------------------
.Example of auto propagation using extensions
---------------------------
[ezsteps]
step1.sh export SOMEVAR=$(ps -def | wc -l);ls /tmp
# The next step will get the value of $SOMEVAR from step1.sh
step2.sh echo $SOMEVAR
---------------------------
.Example of multi-line script
---------------------------
[scripts]
tarresults tar cfvz $DEST/srcdir1.tar.gz srcdir1
tar cfvz $DEST/srcdir2.tar.gz srcdir2
[setup]
ezpropvars sh
[ezsteps]
step1 DEST=/tmp/targz;source tarresults
---------------------------
The above example will result in files; tarresults and ez_step1 being
created in the test dir.
Scripts
~~~~~~~
.Specifying scripts inline (best used for only simple scripts)
----------------------------
[scripts]
|