Index: docs/manual/megatest_manual.html ================================================================== --- docs/manual/megatest_manual.html +++ docs/manual/megatest_manual.html @@ -773,13 +773,13 @@

The Megatest Users Manual

Matt Welland
<matt@kiatoa.com>
version 1.0, April 2012 -
-
Table of Contents
- +
+
Table of Contents
+

Preface

@@ -1799,59 +1799,73 @@ complex-itemmap.png

We accomplish this by configuring the testconfigs of our tests C D and E as follows:

-
Testconfig for Test C
+
Testconfig for Test E has
[requirements]
-waiton A B
-
-[itemmap]
-A (\d+)/aa aa/\1
-B (\d+)/bb
+waiton C +itemmap (\d+)/res \1/bb
-
Testconfig for Test D
+
Testconfig for Test D has
[requirements]
 waiton C
 itemmap (\d+)/res \1/aa
-
Testconfig for Test E
+
Testconfig for Test C has
[requirements]
-waiton C
-itemmap (\d+)/res \1/bb
+waiton A B + +[itemmap] +A (\d+)/aa aa/\1 +B (\d+)/bb bb/\1 +
+
+
Testconfigs for Test B and Test A have no waiton or itemmap configured
+
+

 
-

Example from image just above, we want the following to occur:

-
    +
    Walk through one item — we want the following to happen for testpatt D/1/res (see blue boxes in complex itemmaping figure above):
      +
    1. +

      +eg from command line megatest -run -testpatt D/1/res -target mytarget -runname myrunname +

      +
    2. +
    3. +

      +Full list to be run is now: D/1/res +

      +
    4. +
    5. +

      +Test D has a waiton - test C. Test D’s itemmap rule itemmap (\d+)/res \1/aa → causes C/1/aa to run before D/1/res +

      +
    6. -We want the above to execute when we request pattern D/1/res, eg from command line megatest -run -testpatt D/1/res -target … -runname … +Full list to be run is now: D/1/res, C/1/aa

    7. -"(\d+)/res" → "\1/aa" to require C/1/aa be executed before D/1/res -

      -
    8. -
    9. -

      -Full list to be run is now: D/1/res, C/1/aa -

      -
    10. -
    11. -

      -"(\d+)/aa" → "aa/\1" to create item A/aa/1 +Test C was a waiton - test A. Test C’s rule A (\d+)/aa aa/\1 → causes A/aa/1 to run before C/1/aa

    12. Full list to be run is now: D/1/res, C/1/aa, A/aa/1

      +
    13. +
    14. +

      +Test A has no waitons. All waitons of all tests in full list have been processed. Full list is finalized. +

Dynamic Flow Dependency Tree

Index: docs/manual/reference.txt ================================================================== --- docs/manual/reference.txt +++ docs/manual/reference.txt @@ -385,41 +385,47 @@ image::complex-itemmap.png[] We accomplish this by configuring the testconfigs of our tests C D and E as follows: -.Testconfig for Test C +.Testconfig for Test E has ---------------------- [requirements] -waiton A B - -[itemmap] -A (\d+)/aa aa/\1 -B (\d+)/bb +waiton C +itemmap (\d+)/res \1/bb ---------------------- -.Testconfig for Test D +.Testconfig for Test D has ---------------------- [requirements] waiton C itemmap (\d+)/res \1/aa ---------------------- -.Testconfig for Test E +.Testconfig for Test C has ---------------------- [requirements] -waiton C -itemmap (\d+)/res \1/bb +waiton A B + +[itemmap] +A (\d+)/aa aa/\1 +B (\d+)/bb bb/\1 ---------------------- -Example from image just above, we want the following to occur: +.Testconfigs for Test B and Test A have no waiton or itemmap configured +------------------- +------------------- -. We want the above to execute when we request pattern +D/1/res+, eg from command line +megatest -run -testpatt D/1/res -target ... -runname ...+ -. "(\d+)/res" -> "\1/aa" to require +C/1/aa+ be executed before +D/1/res+ -. Full list to be run is now: D/1/res, C/1/aa -. "(\d+)/aa" -> "aa/\1" to create item +A/aa/1+ +.Walk through one item -- we want the following to happen for testpatt +D/1/res+ (see blue boxes in complex itemmaping figure above): + +. eg from command line +megatest -run -testpatt D/1/res -target mytarget -runname myrunname+ +. Full list to be run is now: +D/1/res+ +. Test D has a waiton - test C. Test D's itemmap rule +itemmap (\d+)/res \1/aa+ -> causes +C/1/aa+ to run before +D/1/res+ +. Full list to be run is now: +D/1/res+, +C/1/aa+ +. Test C was a waiton - test A. Test C's rule +A (\d+)/aa aa/\1+ -> causes +A/aa/1+ to run before +C/1/aa+ . Full list to be run is now: +D/1/res+, +C/1/aa+, +A/aa/1+ +. Test A has no waitons. All waitons of all tests in full list have been processed. Full list is finalized. Dynamic Flow Dependency Tree ^^^^^^^^^^^^^^^^^^^^^^^^^^^^