Megatest

Check-in [73cb4bf58e]
Login
Overview
Comment:merged in trunk to get docs/manual updates
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.65
Files: files | file ages | folders
SHA1: 73cb4bf58e99c6154baa6981ca3e144c4bcbd03c
User & Date: bjbarcla on 2019-02-14 15:02:59
Other Links: branch diff | manifest | tags
Context
2019-02-16
13:58
Merged in missing changes from intra-waiton check-in: 7b1e045169 user: matt tags: v1.65
2019-02-14
15:04
pulled in docs/manual changes check-in: 3797a8bab4 user: bjbarcla tags: v1.65-telemetry
15:02
merged in trunk to get docs/manual updates check-in: 73cb4bf58e user: bjbarcla tags: v1.65
2019-02-11
11:35
merged brute force syncer check-in: 2aaccbd409 user: bjbarcla tags: v1.65, v1.6524
2018-12-05
15:31
updates to manual check-in: 1b4e30d106 user: mrwellan tags: trunk
Changes

diff-report.scm became executable with contents [722e4fdcd5].

Modified docs/manual/Makefile from [a774194453] to [ec9633c3d9].

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

# in a makefile recipe, $< denotes the first dependency; $@ the target

# design_spec.html : $(SRCFILES) $(CSVFILES)
#         asciidoc -b html5 -a icons -a iconsdir=$(DISPATH)/images/icons -a toc2 design_spec.txt
#

all : server.ps megatest_manual.html client.ps complex-itemmap.png

megatest_manual.html : megatest_manual.txt  $(INPAGES) writing_tests.txt installation.txt *png
	asciidoc  -b html5 -a icons -a iconsdir=$(DISPATH)/images/icons -a toc2 megatest_manual.txt
#	dos2unix megatest_manual.html

megatest.pdf : megatest_manual.txt $(INPAGES) writing_tests.txt *png
	a2x -a toc -f pdf megatest_manual.txt

server.ps : server.dot
	dot -Tps server.dot > server.ps

client.ps : client.dot
	dot -Tps client.dot > client.ps







|

|



|







26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46

# in a makefile recipe, $< denotes the first dependency; $@ the target

# design_spec.html : $(SRCFILES) $(CSVFILES)
#         asciidoc -b html5 -a icons -a iconsdir=$(DISPATH)/images/icons -a toc2 design_spec.txt
#

all : server.ps megatest_manual.html client.ps complex-itemmap.png megatest_manual.pdf

megatest_manual.html : megatest_manual.txt  *.txt installation.txt *png
	asciidoc  -b html5 -a icons -a iconsdir=$(DISPATH)/images/icons -a toc2 megatest_manual.txt
#	dos2unix megatest_manual.html

megatest_manual.pdf : megatest_manual.txt *.txt *png
	a2x -a toc -f pdf megatest_manual.txt

server.ps : server.dot
	dot -Tps server.dot > server.ps

client.ps : client.dot
	dot -Tps client.dot > client.ps

Modified docs/manual/complex-itemmap.png from [e000b2b035] to [69224f5aa7].

cannot compute difference between binary files

Deleted docs/manual/getting_started.in version [7f26703057].

1
2
3
4
5
6
7
8
9
10
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
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
// This file is part of Megatest.
// 
//     Megatest is free software: you can redistribute it and/or modify
//     it under the terms of the GNU General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
// 
//     Megatest is distributed in the hope that it will be useful,
//     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/>.
//
// Copyright 2006-2012, Matthew Welland.

Getting Started
---------------

[partintro]
.Getting started with Megatest
--
Creating a testsuite or flow and your first test or task.
--

After installing Megatest you can create a flow or testsuite and add some
tests using the helpers. Here is a quickstart sequence to get you up and
running your first automated testsuite.

Creating a Megatest Area
~~~~~~~~~~~~~~~~~~~~~~~~

Choose Target Keys
^^^^^^^^^^^^^^^^^^

First choose your "target" keys. These are used to organise your runs in a
way that is meaningful to your project. If you are unsure about what to use
for keys just use a single generic key such as "RUNTYPE". These keys will be
used to hand values to your tests via environment variables so ensure they
are unique. Prefixing them with something such as PROJKEYS_ is a good
strategy. 

Examples of keys:

.Example keys
[width="60%",options="header"]
|==============================================
| Option            | Description
| RELEASE/ITERATION | This example is used by Megatest for its internal QA.
| ARCH/OS/RELEASE   | For a software project targeting multiple platforms
| UCTRLR/NODETYPE   | Microcontroller project with different controllers
running same software
|==============================================

Create Area Config Files
^^^^^^^^^^^^^^^^^^^^^^^^

You will need to choose locations for your runs (the data generated every
time you run the testsuite) and link tree. For getting started answer the
prompts with "runs" and "links". We use the Unix editor "vi" in the examples
below but you can use any plain text editor.

.Using the helper to create a Megatest area
------------------
megatest -create-megatest-area

# optional: verify that the settings are ok
vi megatest.config
vi runconfigs.config
------------------

Creating a Test
~~~~~~~~~~~~~~~

Choose the test name for your first test and run the helper. You can edit
the files after the initial creation. You will need to enter names and
scripts for the steps to be run and then edit the
tests/<testname>/testconfig file and modify the logpro rules to properly
process the log output from your steps. For your first test just hit enter
for the "waiton", "priority" and iteration variable prompts.

Hint: for geting started make your logpro rules very liberal. expect:error
patterns should match nothing and comment out expect:required rules.

.Using the helper to create a Megatest test
---------------
megatest -create-test myfirsttest

# then edit the generated config
vi tests/myfirsttest/testconfig
---------------

Running your test
~~~~~~~~~~~~~~~~~

First choose a target and runname. If you have a two-place target such as
RELEASE/ITERATION a target would look like v1.0/aff3 where v1.0 is the
RELEASE and aff3 is the ITERATION. For a run name just use something like
run1. 

.Running all tests (testpatt of "%" matches all tests)
---------------
megatest -run -target v1.0/aff3 -runname run1 -testpatt % -log run1.log
---------------

Viewing the results
~~~~~~~~~~~~~~~~~~~

Start the dashboard and browse your run in the "Runs" tab.

.Starting dashboard
----------------
dashboard -rows 24
----------------
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<






































































































































































































































Added docs/manual/getting_started.txt version [5c6821a0c5].







































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
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
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
// This file is part of Megatest.
// 
//     Megatest is free software: you can redistribute it and/or modify
//     it under the terms of the GNU General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
// 
//     Megatest is distributed in the hope that it will be useful,
//     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/>.
//
// Copyright 2006-2012, Matthew Welland.

Getting Started
---------------

// [partintro]
.Getting started with Megatest
-------------------
Creating a testsuite or flow and your first test or task.
-------------------

After installing Megatest you can create a flow or testsuite and add some
tests using the helpers. Here is a quickstart sequence to get you up and
running your first automated testsuite.

Creating a Megatest Area
~~~~~~~~~~~~~~~~~~~~~~~~

Choose Target Keys
^^^^^^^^^^^^^^^^^^

First choose your "target" keys. These are used to organise your runs in a
way that is meaningful to your project. If you are unsure about what to use
for keys just use a single generic key such as "RUNTYPE". These keys will be
used to hand values to your tests via environment variables so ensure they
are unique. Prefixing them with something such as PROJKEYS_ is a good
strategy. 

Examples of keys:

.Example keys
[width="60%",options="header"]
|==============================================
| Option            | Description
| RELEASE/ITERATION | This example is used by Megatest for its internal QA.
| ARCH/OS/RELEASE   | For a software project targeting multiple platforms
| UCTRLR/NODETYPE   | Microcontroller project with different controllers
running same software
|==============================================

Create Area Config Files
^^^^^^^^^^^^^^^^^^^^^^^^

You will need to choose locations for your runs (the data generated every
time you run the testsuite) and link tree. For getting started answer the
prompts with "runs" and "links". We use the Unix editor "vi" in the examples
below but you can use any plain text editor.

.Using the helper to create a Megatest area
------------------
megatest -create-megatest-area

# optional: verify that the settings are ok
vi megatest.config
vi runconfigs.config
------------------

Creating a Test
~~~~~~~~~~~~~~~

Choose the test name for your first test and run the helper. You can edit
the files after the initial creation. You will need to enter names and
scripts for the steps to be run and then edit the
tests/<testname>/testconfig file and modify the logpro rules to properly
process the log output from your steps. For your first test just hit enter
for the "waiton", "priority" and iteration variable prompts.

Hint: for geting started make your logpro rules very liberal. expect:error
patterns should match nothing and comment out expect:required rules.

.Using the helper to create a Megatest test
---------------
megatest -create-test myfirsttest

# then edit the generated config
vi tests/myfirsttest/testconfig
---------------

Running your test
~~~~~~~~~~~~~~~~~

First choose a target and runname. If you have a two-place target such as
RELEASE/ITERATION a target would look like v1.0/aff3 where v1.0 is the
RELEASE and aff3 is the ITERATION. For a run name just use something like
run1. 

.Running all tests (testpatt of "%" matches all tests)
---------------
megatest -run -target v1.0/aff3 -runname run1 -testpatt % -log run1.log
---------------

Viewing the results
~~~~~~~~~~~~~~~~~~~

Start the dashboard and browse your run in the "Runs" tab.

.Starting dashboard
----------------
dashboard -rows 24
----------------

Deleted docs/manual/howto.in version [b66065dad3].

1
2
3
4
5
6
7
8
9
10
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
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
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
// This file is part of Megatest.
// 
//     Megatest is free software: you can redistribute it and/or modify
//     it under the terms of the GNU General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
// 
//     Megatest is distributed in the hope that it will be useful,
//     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/>.
//
// Copyright 2006-2012, Matthew Welland.

How To Do Things
----------------

Process Runs
~~~~~~~~~~~~

Remove Runs
^^^^^^^^^^^

From the dashboard click on the button (PASS/FAIL...) for one of the tests. From the test control panel that 
comes up push the clean test button. The command field will be prefilled with a template command for removing 
that test. You can edit the command, for example change the argument to -testpatt to "%" to remove all tests.

.Remove the test diskperf and all it's items
----------------
megatest -remove-runs -target ubuntu/nfs/none -runname ww28.1a -testpatt diskperf/% -v
----------------

.Remove all tests for all runs and all targets
----------------
megatest -remove-runs -target %/%/% -runname % -testpatt % -v
----------------

Archive Runs
^^^^^^^^^^^^

Megatest supports using the bup backup tool (https://bup.github.io/) to archive your tests for efficient storage
and retrieval. Archived data can be rapidly retrieved if needed. The metadata for the run (PASS/FAIL status, run 
durations, time stamps etc.) are all preserved in the megatest database.

For setup information see the Archiving topic in the reference section of this manual.

To Archive
++++++++++

Hint: use the test control panel to create a template command by pushing the "Archive Tests" button.

.Archive a full run
----------------
megatest -target ubuntu/nfs/none -runname ww28.1a -archive save-remove -testpatt %
----------------

To Restore
++++++++++

.Retrieve a single test
----------------
megatest -target ubuntu/nfs/none -runname ww28.1a -archive restore -testpatt diskperf/%
----------------

Hint: You can browse the archive using bup commands directly.

----------------
bup -d /path/to/bup/archive ftp
----------------

Submit jobs to Host Types based on Test Name
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.In megatest.config
------------------------
[host-types]
general ssh #{getbgesthost general}
nbgeneral nbjob run JOBCOMMAND -log $MT_LINKTREE/$MT_TARGET/$MT_RUNNAME.$MT_TESTNAME-$MT_ITEM_PATH.lgo

[hosts]
general cubian xena

[launchers]
envsetup general
xor/%/n 4C16G
% nbgeneral

[jobtools]
launcher bsub
# if defined and not "no" flexi-launcher will bypass launcher unless there is no
# match.
flexi-launcher yes
------------------------

Tricks
------

This section is a compendium of a various useful tricks for debugging,
configuring and generally getting the most out of Megatest.

Limiting your running jobs
~~~~~~~~~~~~~~~~~~~~~~~~~~

The following example will limit a test in the jobgroup "group1" to no more than 10 tests simultaneously.

In your testconfig:

----------------
[test_meta]
jobgroup group1
----------------

In your megatest.config:

---------------
[jobgroups]
group1 10
custdes 4
---------------

Debugging Tricks
----------------

Examining The Environment
~~~~~~~~~~~~~~~~~~~~~~~~~

Test Control Panel - xterm
^^^^^^^^^^^^^^^^^^^^^^^^^^

From the dashboard click on a test PASS/FAIL button. This brings up a test control panel. Aproximately near the center left of the 
window there is a button "Start Xterm". Push this to get an xterm with the full context and environment loaded for that test. You can run
scripts or ezsteps by copying from the testconfig (hint, load up the testconfig in a separate gvim or emacs window). This is the easiest way
to debug your tests.

During Config File Processing
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

It is often helpful to know the content of variables in various
contexts as Megatest does the actions needed to run your tests. A handy technique is to force the startup of an xterm in the context being examined.

For example, if an item list is not being generated as expected you
can inject the startup of an xterm as if it were an item:

.Original items table
-----------------
[items]
CELLNAME [system getcellname.sh]
-----------------

.Items table modified for debug
-----------------
[items]
DEBUG [system xterm]
CELLNAME [system getcellnames.sh]
-----------------

When this test is run an xterm will pop up. In that xterm the
environment is exactly that in which the script "getcellnames.sh"
would run. You can now debug the script to find out why it isn't
working as expected.

Organising Your Tests and Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The default location "tests" for storing tests can be extended by
adding to your tests-paths section.

----------------------------
[misc]
parent #{shell dirname $(readlink -f .)}

[tests-paths]
1 #{get misc parent}/simplerun/tests
----------------------------

The above example shows how you can use addition sections in your
config file to do complex processing. By putting results of relatively
slow operations into variables the processing of your configs can be
kept fast.

Alternative Method for Running your Job Script
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.Directly running job in testconfig
-------------------
[setup]
runscript main.csh
-------------------

The runscript method is essentially a brute force way to run scripts where the
user is responsible for setting STATE and STATUS and managing the details of running a test. 

Debugging Server Problems
~~~~~~~~~~~~~~~~~~~~~~~~~

Some handy Unix commands to track down issues with servers not
communicating with your test manager processes. Please put in tickets
at https://www.kiatoa.com/fossils/megatest if you have problems with
servers getting stuck.

----------------
sudo lsof -i
sudo netstat -lptu
sudo netstat -tulpn
----------------
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
































































































































































































































































































































































































































Added docs/manual/howto.txt version [b66065dad3].

































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
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
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
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
// This file is part of Megatest.
// 
//     Megatest is free software: you can redistribute it and/or modify
//     it under the terms of the GNU General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
// 
//     Megatest is distributed in the hope that it will be useful,
//     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/>.
//
// Copyright 2006-2012, Matthew Welland.

How To Do Things
----------------

Process Runs
~~~~~~~~~~~~

Remove Runs
^^^^^^^^^^^

From the dashboard click on the button (PASS/FAIL...) for one of the tests. From the test control panel that 
comes up push the clean test button. The command field will be prefilled with a template command for removing 
that test. You can edit the command, for example change the argument to -testpatt to "%" to remove all tests.

.Remove the test diskperf and all it's items
----------------
megatest -remove-runs -target ubuntu/nfs/none -runname ww28.1a -testpatt diskperf/% -v
----------------

.Remove all tests for all runs and all targets
----------------
megatest -remove-runs -target %/%/% -runname % -testpatt % -v
----------------

Archive Runs
^^^^^^^^^^^^

Megatest supports using the bup backup tool (https://bup.github.io/) to archive your tests for efficient storage
and retrieval. Archived data can be rapidly retrieved if needed. The metadata for the run (PASS/FAIL status, run 
durations, time stamps etc.) are all preserved in the megatest database.

For setup information see the Archiving topic in the reference section of this manual.

To Archive
++++++++++

Hint: use the test control panel to create a template command by pushing the "Archive Tests" button.

.Archive a full run
----------------
megatest -target ubuntu/nfs/none -runname ww28.1a -archive save-remove -testpatt %
----------------

To Restore
++++++++++

.Retrieve a single test
----------------
megatest -target ubuntu/nfs/none -runname ww28.1a -archive restore -testpatt diskperf/%
----------------

Hint: You can browse the archive using bup commands directly.

----------------
bup -d /path/to/bup/archive ftp
----------------

Submit jobs to Host Types based on Test Name
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.In megatest.config
------------------------
[host-types]
general ssh #{getbgesthost general}
nbgeneral nbjob run JOBCOMMAND -log $MT_LINKTREE/$MT_TARGET/$MT_RUNNAME.$MT_TESTNAME-$MT_ITEM_PATH.lgo

[hosts]
general cubian xena

[launchers]
envsetup general
xor/%/n 4C16G
% nbgeneral

[jobtools]
launcher bsub
# if defined and not "no" flexi-launcher will bypass launcher unless there is no
# match.
flexi-launcher yes
------------------------

Tricks
------

This section is a compendium of a various useful tricks for debugging,
configuring and generally getting the most out of Megatest.

Limiting your running jobs
~~~~~~~~~~~~~~~~~~~~~~~~~~

The following example will limit a test in the jobgroup "group1" to no more than 10 tests simultaneously.

In your testconfig:

----------------
[test_meta]
jobgroup group1
----------------

In your megatest.config:

---------------
[jobgroups]
group1 10
custdes 4
---------------

Debugging Tricks
----------------

Examining The Environment
~~~~~~~~~~~~~~~~~~~~~~~~~

Test Control Panel - xterm
^^^^^^^^^^^^^^^^^^^^^^^^^^

From the dashboard click on a test PASS/FAIL button. This brings up a test control panel. Aproximately near the center left of the 
window there is a button "Start Xterm". Push this to get an xterm with the full context and environment loaded for that test. You can run
scripts or ezsteps by copying from the testconfig (hint, load up the testconfig in a separate gvim or emacs window). This is the easiest way
to debug your tests.

During Config File Processing
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

It is often helpful to know the content of variables in various
contexts as Megatest does the actions needed to run your tests. A handy technique is to force the startup of an xterm in the context being examined.

For example, if an item list is not being generated as expected you
can inject the startup of an xterm as if it were an item:

.Original items table
-----------------
[items]
CELLNAME [system getcellname.sh]
-----------------

.Items table modified for debug
-----------------
[items]
DEBUG [system xterm]
CELLNAME [system getcellnames.sh]
-----------------

When this test is run an xterm will pop up. In that xterm the
environment is exactly that in which the script "getcellnames.sh"
would run. You can now debug the script to find out why it isn't
working as expected.

Organising Your Tests and Tasks
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

The default location "tests" for storing tests can be extended by
adding to your tests-paths section.

----------------------------
[misc]
parent #{shell dirname $(readlink -f .)}

[tests-paths]
1 #{get misc parent}/simplerun/tests
----------------------------

The above example shows how you can use addition sections in your
config file to do complex processing. By putting results of relatively
slow operations into variables the processing of your configs can be
kept fast.

Alternative Method for Running your Job Script
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.Directly running job in testconfig
-------------------
[setup]
runscript main.csh
-------------------

The runscript method is essentially a brute force way to run scripts where the
user is responsible for setting STATE and STATUS and managing the details of running a test. 

Debugging Server Problems
~~~~~~~~~~~~~~~~~~~~~~~~~

Some handy Unix commands to track down issues with servers not
communicating with your test manager processes. Please put in tickets
at https://www.kiatoa.com/fossils/megatest if you have problems with
servers getting stuck.

----------------
sudo lsof -i
sudo netstat -lptu
sudo netstat -tulpn
----------------

Modified docs/manual/installation.txt from [214fda16e6] to [73f4fcba67].

21
22
23
24
25
26
27

Dependencies
~~~~~~~~~~~~

Chicken scheme and a number of "eggs" are required for building
Megatest. See the script installall.sh in the utils directory of the
source distribution for an automated way to install everything
needed for building Megatest on Linux.








>
21
22
23
24
25
26
27
28
Dependencies
~~~~~~~~~~~~

Chicken scheme and a number of "eggs" are required for building
Megatest. See the script installall.sh in the utils directory of the
source distribution for an automated way to install everything
needed for building Megatest on Linux.

Added docs/manual/megatest-stand-alone-area.png version [b4666b70f8].

cannot compute difference between binary files

Added docs/manual/megatest-system-architecture.png version [d1d2f4a2b8].

cannot compute difference between binary files

Added docs/manual/megatest-system-architecture.svg version [1f9c743227].





























































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
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
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
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
215
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
253
254
255
256
257
258
259
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
317
318
319
320
321
322
323
324
325
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
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
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
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
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
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
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
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
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
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
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
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
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:xlink="http://www.w3.org/1999/xlink"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="210mm"
   height="297mm"
   viewBox="0 0 744.09448819 1052.3622047"
   id="svg2"
   version="1.1"
   inkscape:version="0.91 r13725"
   sodipodi:docname="megatest-system-architecture.svg"
   inkscape:export-filename="Z:\src\megatest\docs\manual\megatest-system-architecture.png"
   inkscape:export-xdpi="90"
   inkscape:export-ydpi="90">
  <defs
     id="defs4">
    <marker
       inkscape:stockid="Arrow1Lstart"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="marker16686"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         id="path16688"
         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
         transform="scale(0.8) translate(12.5,0)" />
    </marker>
    <marker
       inkscape:isstock="true"
       style="overflow:visible"
       id="marker16520"
       refX="0.0"
       refY="0.0"
       orient="auto"
       inkscape:stockid="Arrow1Lstart"
       inkscape:collect="always">
      <path
         transform="scale(0.8) translate(12.5,0)"
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
         id="path16522" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lstart"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="Arrow2Lstart"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         id="path4946"
         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
         transform="scale(1.1) translate(1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow1Lstart"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="Arrow1Lstart"
       style="overflow:visible"
       inkscape:isstock="true"
       inkscape:collect="always">
      <path
         id="path4928"
         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
         style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1;fill:#000000;fill-opacity:1"
         transform="scale(0.8) translate(12.5,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="marker5302"
       style="overflow:visible;"
       inkscape:isstock="true">
      <path
         id="path5304"
         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
         transform="scale(1.1) rotate(180) translate(1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="marker5274"
       style="overflow:visible;"
       inkscape:isstock="true">
      <path
         id="path5276"
         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
         transform="scale(1.1) rotate(180) translate(1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0.0"
       refX="0.0"
       id="Arrow2Lend"
       style="overflow:visible;"
       inkscape:isstock="true">
      <path
         id="path4949"
         style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round;stroke:#000000;stroke-opacity:1;fill:#000000;fill-opacity:1"
         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
         transform="scale(1.1) rotate(180) translate(1,0)" />
    </marker>
    <inkscape:path-effect
       effect="vonkoch"
       id="path-effect4210"
       is_visible="true"
       ref_path="m 427.02546,366.74247 311.64896,0"
       generator="m 427.02546,561.12273 103.88298,0 m 103.88299,0 103.88299,0"
       similar_only="false"
       nbgenerations="1"
       drawall="true"
       maxComplexity="1000" />
    <inkscape:path-effect
       effect="spiro"
       id="path-effect4208"
       is_visible="true" />
    <inkscape:path-effect
       effect="knot"
       id="path-effect4206"
       is_visible="true"
       interruption_width="3"
       prop_to_stroke_width="true"
       add_stroke_width="true"
       add_other_stroke_width="true"
       switcher_size="15"
       crossing_points_vector="" />
    <inkscape:path-effect
       effect="interpolate"
       id="path-effect4204"
       is_visible="true"
       trajectory="M 0,0 0,0"
       equidistant_spacing="true"
       steps="5" />
    <inkscape:path-effect
       effect="gears"
       id="path-effect4202"
       is_visible="true"
       teeth="10"
       phi="5" />
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker5302-0"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path5304-2"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker5302-0-9"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path5304-2-2"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker5302-0-9-7"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path5304-2-2-6"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker5302-0-9-7-7"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path5304-2-2-6-7"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker5302-0-9-7-7-1"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path5304-2-2-6-7-7"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker5274-8"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path5276-0"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker5274-8-6"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path5276-0-2"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker5274-8-6-7"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path5276-0-2-5"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker5274-8-6-7-5"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path5276-0-2-5-3"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker5302-0-9-7-7-6"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path5304-2-2-6-7-1"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
    <marker
       inkscape:stockid="Arrow2Lend"
       orient="auto"
       refY="0"
       refX="0"
       id="marker5302-0-9-7-7-6-8"
       style="overflow:visible"
       inkscape:isstock="true">
      <path
         inkscape:connector-curvature="0"
         id="path5304-2-2-6-7-1-6"
         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
         transform="matrix(-1.1,0,0,-1.1,-1.1,0)" />
    </marker>
  </defs>
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="0.88269231"
     inkscape:cx="330.10992"
     inkscape:cy="527.65204"
     inkscape:document-units="px"
     inkscape:current-layer="layer1"
     showgrid="false"
     inkscape:window-width="1876"
     inkscape:window-height="1085"
     inkscape:window-x="3865"
     inkscape:window-y="33"
     inkscape:window-maximized="0"
     showguides="false">
    <inkscape:grid
       type="xygrid"
       id="grid4462" />
  </sodipodi:namedview>
  <metadata
     id="metadata7">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:label="Layer 1"
     inkscape:groupmode="layer"
     id="layer1">
    <image
       y="187.43408"
       x="132.13397"
       id="image18538"
       xlink:href="data:image/png;base64,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
"
       style="image-rendering:optimizeSpeed"
       preserveAspectRatio="none"
       height="176.65359"
       width="322.573" />
    <g
       transform="translate(12.122621,500.63961)"
       id="g4654-9">
      <rect
         y="199.68129"
         x="68.74765"
         height="262.25259"
         width="282.35532"
         id="rect4359-0"
         style="fill:#fff6d5;fill-opacity:1;stroke:#ffe680;stroke-width:2.35244703;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <g
         transform="translate(32.85403,-1.1328976)"
         id="g4558-5">
        <rect
           style="fill:#ffb380;fill-opacity:1;stroke:#aa4400;stroke-width:1.75937951;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="rect4388-0"
           width="134.52634"
           height="57.383476"
           x="164.16541"
           y="270.81332" />
        <flowRoot
           transform="translate(-350.93614,69.363122)"
           xml:space="preserve"
           id="flowRoot4230-6-5-8"
           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
             id="flowRegion4232-8-3-0"><rect
               id="rect4234-36-7-2"
               width="188.57143"
               height="34.285721"
               x="521.42859"
               y="205.21935" /></flowRegion><flowPara
             id="flowPara4236-0-5-3"
             style="font-size:22.5px">run control</flowPara></flowRoot>      </g>
      <g
         transform="translate(32.85403,-1.1328976)"
         id="g4550-8">
        <rect
           style="fill:#ddff55;fill-opacity:1;stroke:#88aa00;stroke-width:2.12757635;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="rect4414-12"
           width="134.15814"
           height="59.872425"
           x="164.34949"
           y="330.99744" />
        <flowRoot
           transform="translate(-352.92371,125.9618)"
           xml:space="preserve"
           id="flowRoot4230-6-5-4-2"
           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
             id="flowRegion4232-8-3-5-9"><rect
               id="rect4234-36-7-3-4"
               width="168.57141"
               height="78.571434"
               x="521.42859"
               y="205.21935" /></flowRegion><flowPara
             id="flowPara4236-0-5-6-8"
             style="font-size:22.5px">storage</flowPara><flowPara
             style="font-size:22.5px"
             id="flowPara4456-57">allocation</flowPara></flowRoot>      </g>
      <g
         style="fill:#ffcc00"
         transform="matrix(0.69892424,0,0,0.60590041,-67.539165,-184.64324)"
         id="g4510-3">
        <g
           transform="translate(21.07191,-13.088427)"
           id="g4565-33">
          <rect
             y="817.35736"
             x="220.84483"
             height="45.00967"
             width="84.160019"
             id="rect4494-61"
             style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:1.99030769;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
          <path
             sodipodi:open="true"
             d="m 221.21854,816.24251 a 41.834236,18.546101 0 0 1 40.18978,-19.00419 41.834236,18.546101 0 0 1 43.40743,17.55829 41.834236,18.546101 0 0 1 -39.01506,19.47937 41.834236,18.546101 0 0 1 -44.46328,-17.03113"
             sodipodi:end="3.0620028"
             sodipodi:start="3.1161299"
             sodipodi:ry="18.546101"
             sodipodi:rx="41.834236"
             sodipodi:cy="815.77032"
             sodipodi:cx="263.03922"
             sodipodi:type="arc"
             id="path4458-0"
             style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:2.02593803;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
          <path
             transform="scale(1,-1)"
             d="m 221.40372,-862.64317 a 41.834236,18.546101 0 0 1 20.45608,-16.4174 41.834236,18.546101 0 0 1 42.30602,-0.10995 41.834236,18.546101 0 0 1 20.88886,16.30994 l -41.83028,-0.25478 z"
             sodipodi:end="0.013738116"
             sodipodi:start="3.1161299"
             sodipodi:ry="18.546101"
             sodipodi:rx="41.834236"
             sodipodi:cy="-863.11536"
             sodipodi:cx="263.2244"
             sodipodi:type="arc"
             id="path4458-4-6"
             style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:2.02593803;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
          <rect
             y="853.41882"
             x="222.65796"
             height="11.132897"
             width="81.339867"
             id="rect4496-8"
             style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
        </g>
      </g>
      <flowRoot
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-6-7-3"
         xml:space="preserve"
         transform="translate(-444.3006,0.67342019)"><flowRegion
           id="flowRegion4232-8-9-7"><rect
             y="205.21935"
             x="521.42859"
             height="34.285721"
             width="188.57143"
             id="rect4234-36-4-96" /></flowRegion><flowPara
           style="font-size:22.5px"
           id="flowPara4236-0-4-93">area/testsuite</flowPara></flowRoot>      <flowRoot
         transform="translate(-104.22658,-299.08497)"
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4540-7"
         xml:space="preserve"><flowRegion
           id="flowRegion4542-3"><rect
             y="649.05066"
             x="168.80174"
             height="39.651405"
             width="130.28322"
             id="rect4544-3" /></flowRegion><flowPara
           style="font-size:15px;text-align:center;text-anchor:middle"
           id="flowPara4546-2">state/status database</flowPara><flowPara
           id="flowPara4548-7" /></flowRoot>      <rect
         y="399.81317"
         x="70.239655"
         height="61.176472"
         width="279.82571"
         id="rect4598-3"
         style="fill:#d3bc5f;fill-opacity:1;stroke:none;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <flowRoot
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-6-7-1-0"
         xml:space="preserve"
         transform="translate(-440.9019,200.0634)"><flowRegion
           id="flowRegion4232-8-9-2-6"><rect
             y="205.21935"
             x="521.42859"
             height="52.412083"
             width="264.47556"
             id="rect4234-36-4-9-3" /></flowRegion><flowPara
           style="font-size:17.5px;text-align:center;text-anchor:middle"
           id="flowPara4236-0-4-9-0">configs and custom automation</flowPara></flowRoot>    </g>
    <g
       transform="translate(-7.1366364,513.10148)"
       id="g4654-4">
      <rect
         y="199.68129"
         x="68.74765"
         height="262.25259"
         width="282.35532"
         id="rect4359-8"
         style="fill:#fff6d5;fill-opacity:1;stroke:#ffe680;stroke-width:2.35244703;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <g
         transform="translate(32.85403,-1.1328976)"
         id="g4558-9">
        <rect
           style="fill:#ffb380;fill-opacity:1;stroke:#aa4400;stroke-width:1.75937951;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="rect4388-5"
           width="134.52634"
           height="57.383476"
           x="164.16541"
           y="270.81332" />
        <flowRoot
           transform="translate(-350.93614,69.363122)"
           xml:space="preserve"
           id="flowRoot4230-6-5-0"
           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
             id="flowRegion4232-8-3-6"><rect
               id="rect4234-36-7-4"
               width="188.57143"
               height="34.285721"
               x="521.42859"
               y="205.21935" /></flowRegion><flowPara
             id="flowPara4236-0-5-66"
             style="font-size:22.5px">run control</flowPara></flowRoot>      </g>
      <g
         transform="translate(32.85403,-1.1328976)"
         id="g4550-9">
        <rect
           style="fill:#ddff55;fill-opacity:1;stroke:#88aa00;stroke-width:2.12757635;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="rect4414-1"
           width="134.15814"
           height="59.872425"
           x="164.34949"
           y="330.99744" />
        <flowRoot
           transform="translate(-352.92371,125.9618)"
           xml:space="preserve"
           id="flowRoot4230-6-5-4-1"
           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
             id="flowRegion4232-8-3-5-2"><rect
               id="rect4234-36-7-3-6"
               width="168.57141"
               height="78.571434"
               x="521.42859"
               y="205.21935" /></flowRegion><flowPara
             id="flowPara4236-0-5-6-1"
             style="font-size:22.5px">storage</flowPara><flowPara
             style="font-size:22.5px"
             id="flowPara4456-5">allocation</flowPara></flowRoot>      </g>
      <g
         style="fill:#ffcc00"
         transform="matrix(0.69892424,0,0,0.60590041,-67.539165,-184.64324)"
         id="g4510-57">
        <g
           transform="translate(21.07191,-13.088427)"
           id="g4565-3">
          <rect
             y="817.35736"
             x="220.84483"
             height="45.00967"
             width="84.160019"
             id="rect4494-6"
             style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:1.99030769;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
          <path
             sodipodi:open="true"
             d="m 221.21854,816.24251 a 41.834236,18.546101 0 0 1 40.18978,-19.00419 41.834236,18.546101 0 0 1 43.40743,17.55829 41.834236,18.546101 0 0 1 -39.01506,19.47937 41.834236,18.546101 0 0 1 -44.46328,-17.03113"
             sodipodi:end="3.0620028"
             sodipodi:start="3.1161299"
             sodipodi:ry="18.546101"
             sodipodi:rx="41.834236"
             sodipodi:cy="815.77032"
             sodipodi:cx="263.03922"
             sodipodi:type="arc"
             id="path4458-46"
             style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:2.02593803;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
          <path
             transform="scale(1,-1)"
             d="m 221.40372,-862.64317 a 41.834236,18.546101 0 0 1 20.45608,-16.4174 41.834236,18.546101 0 0 1 42.30602,-0.10995 41.834236,18.546101 0 0 1 20.88886,16.30994 l -41.83028,-0.25478 z"
             sodipodi:end="0.013738116"
             sodipodi:start="3.1161299"
             sodipodi:ry="18.546101"
             sodipodi:rx="41.834236"
             sodipodi:cy="-863.11536"
             sodipodi:cx="263.2244"
             sodipodi:type="arc"
             id="path4458-4-4"
             style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:2.02593803;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
          <rect
             y="853.41882"
             x="222.65796"
             height="11.132897"
             width="81.339867"
             id="rect4496-9"
             style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
        </g>
      </g>
      <flowRoot
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-6-7-2"
         xml:space="preserve"
         transform="translate(-444.3006,0.67342019)"><flowRegion
           id="flowRegion4232-8-9-0"><rect
             y="205.21935"
             x="521.42859"
             height="34.285721"
             width="188.57143"
             id="rect4234-36-4-5" /></flowRegion><flowPara
           style="font-size:22.5px"
           id="flowPara4236-0-4-8">area/testsuite</flowPara></flowRoot>      <flowRoot
         transform="translate(-104.22658,-299.08497)"
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4540-2"
         xml:space="preserve"><flowRegion
           id="flowRegion4542-6"><rect
             y="649.05066"
             x="168.80174"
             height="39.651405"
             width="130.28322"
             id="rect4544-7" /></flowRegion><flowPara
           style="font-size:15px;text-align:center;text-anchor:middle"
           id="flowPara4546-0">state/status database</flowPara><flowPara
           id="flowPara4548-6" /></flowRoot>      <rect
         y="399.81317"
         x="70.239655"
         height="61.176472"
         width="279.82571"
         id="rect4598-5"
         style="fill:#d3bc5f;fill-opacity:1;stroke:none;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <flowRoot
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-6-7-1-2"
         xml:space="preserve"
         transform="translate(-440.9019,200.0634)"><flowRegion
           id="flowRegion4232-8-9-2-2"><rect
             y="205.21935"
             x="521.42859"
             height="52.412083"
             width="264.47556"
             id="rect4234-36-4-9-8" /></flowRegion><flowPara
           style="font-size:17.5px;text-align:center;text-anchor:middle"
           id="flowPara4236-0-4-9-3">configs and custom automation</flowPara></flowRoot>    </g>
    <g
       id="g4190"
       transform="matrix(-0.84371534,0.01979065,-0.02351016,-1.0022856,1092.315,1172.4738)">
      <path
         sodipodi:open="true"
         d="m 512.15263,288.64133 a 63.57143,12.857143 0 0 1 60.44617,-12.99805 63.57143,12.857143 0 0 1 66.45678,11.73666 63.57143,12.857143 0 0 1 -55.53716,13.86501 63.57143,12.857143 0 0 1 -70.55918,-10.71249"
         sodipodi:end="2.9816588"
         sodipodi:start="3.1294277"
         sodipodi:ry="12.857143"
         sodipodi:rx="63.57143"
         sodipodi:cy="288.48492"
         sodipodi:cx="575.71936"
         sodipodi:type="arc"
         id="path4136-0"
         style="fill:#99ff99;fill-opacity:1;stroke:#07ff00;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <path
         style="fill:#99ff99;fill-opacity:1;stroke:#07ff00;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
         id="path4178"
         sodipodi:type="arc"
         sodipodi:cx="575.71936"
         sodipodi:cy="294.60724"
         sodipodi:rx="63.57143"
         sodipodi:ry="12.857143"
         sodipodi:start="3.1294277"
         sodipodi:end="2.9816588"
         d="m 512.15263,294.76364 a 63.57143,12.857143 0 0 1 60.44617,-12.99805 63.57143,12.857143 0 0 1 66.45678,11.73666 63.57143,12.857143 0 0 1 -55.53716,13.86501 63.57143,12.857143 0 0 1 -70.55918,-10.71248"
         sodipodi:open="true" />
      <path
         sodipodi:open="true"
         d="m 512.15263,300.88596 a 63.57143,12.857143 0 0 1 60.44617,-12.99805 63.57143,12.857143 0 0 1 66.45678,11.73666 63.57143,12.857143 0 0 1 -55.53716,13.865 63.57143,12.857143 0 0 1 -70.55918,-10.71248"
         sodipodi:end="2.9816588"
         sodipodi:start="3.1294277"
         sodipodi:ry="12.857143"
         sodipodi:rx="63.57143"
         sodipodi:cy="300.72955"
         sodipodi:cx="575.71936"
         sodipodi:type="arc"
         id="path4180"
         style="fill:#99ff99;fill-opacity:1;stroke:#07ff00;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <path
         style="fill:#99ff99;fill-opacity:1;stroke:#07ff00;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
         id="path4182"
         sodipodi:type="arc"
         sodipodi:cx="575.71936"
         sodipodi:cy="306.85187"
         sodipodi:rx="63.57143"
         sodipodi:ry="12.857143"
         sodipodi:start="3.1294277"
         sodipodi:end="2.9816588"
         d="m 512.15263,307.00827 a 63.57143,12.857143 0 0 1 60.44617,-12.99805 63.57143,12.857143 0 0 1 66.45678,11.73666 63.57143,12.857143 0 0 1 -55.53716,13.86501 63.57143,12.857143 0 0 1 -70.55918,-10.71248"
         sodipodi:open="true" />
      <path
         sodipodi:open="true"
         d="m 512.15263,313.13058 a 63.57143,12.857143 0 0 1 60.44617,-12.99804 63.57143,12.857143 0 0 1 66.45678,11.73666 63.57143,12.857143 0 0 1 -55.53716,13.865 63.57143,12.857143 0 0 1 -70.55918,-10.71248"
         sodipodi:end="2.9816588"
         sodipodi:start="3.1294277"
         sodipodi:ry="12.857143"
         sodipodi:rx="63.57143"
         sodipodi:cy="312.97418"
         sodipodi:cx="575.71936"
         sodipodi:type="arc"
         id="path4184"
         style="fill:#99ff99;fill-opacity:1;stroke:#07ff00;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <path
         style="fill:#99ff99;fill-opacity:1;stroke:#07ff00;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
         id="path4186"
         sodipodi:type="arc"
         sodipodi:cx="575.71936"
         sodipodi:cy="319.0965"
         sodipodi:rx="63.57143"
         sodipodi:ry="12.857143"
         sodipodi:start="3.1294277"
         sodipodi:end="2.9816588"
         d="m 512.15263,319.2529 a 63.57143,12.857143 0 0 1 60.44617,-12.99805 63.57143,12.857143 0 0 1 66.45678,11.73666 63.57143,12.857143 0 0 1 -55.53716,13.86501 63.57143,12.857143 0 0 1 -70.55918,-10.71249"
         sodipodi:open="true" />
      <path
         sodipodi:open="true"
         d="m 512.15263,325.37521 a 63.57143,12.857143 0 0 1 60.44617,-12.99804 63.57143,12.857143 0 0 1 66.45678,11.73666 63.57143,12.857143 0 0 1 -55.53716,13.865 63.57143,12.857143 0 0 1 -70.55918,-10.71248"
         sodipodi:end="2.9816588"
         sodipodi:start="3.1294277"
         sodipodi:ry="12.857143"
         sodipodi:rx="63.57143"
         sodipodi:cy="325.21881"
         sodipodi:cx="575.71936"
         sodipodi:type="arc"
         id="path4188"
         style="fill:#99ff99;fill-opacity:1;stroke:#07ff00;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
    </g>
    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       d="m 480.79052,694.68093 c -20.48995,16.02845 -49.92126,-2.22239 -61.48209,35.56138 -14.07962,50.51945 13.82501,65.4894 9.14417,107.80549 0.30581,43.82264 -8.10403,35.30357 13.87255,75.62963 11.76423,19.14732 41.85079,38.54184 50.91809,59.14205 25.79328,31.08882 46.46188,-3.14626 83.61295,-0.31378 32.17165,2.32694 31.03441,7.29979 63.48515,9.94718 26.05422,-13.75252 60.87578,-31.62469 63.68671,-61.1889 9.53867,-46.64667 -26.39163,-67.56952 -17.75811,-114.34909 3.31882,-37.73498 28.49078,-79.48402 2.32824,-109.58076 -24.95714,-19.25618 -45.71429,-7.14286 -62.21189,-38.53298 -30.06032,-27.22255 -65.38383,-15.84869 -72.95381,5.65785 -24.07053,43.07907 -44.28571,-11.42857 -72.64196,30.22193 z"
       id="path4199"
       inkscape:connector-curvature="0"
       sodipodi:nodetypes="ccccccccccccc" />
    <flowRoot
       xml:space="preserve"
       id="flowRoot4230"
       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       transform="translate(-24.923748,483.7473)"><flowRegion
         id="flowRegion4232"><rect
           id="rect4234"
           width="188.57143"
           height="34.285721"
           x="521.42859"
           y="205.21935" /></flowRegion><flowPara
         id="flowPara4236"
         style="font-size:22.5px"><flowSpan
   style="font-size:22.5px;line-height:124.00000095%"
   id="flowSpan4238">compute</flowSpan> cloud</flowPara></flowRoot>    <flowRoot
       transform="translate(-6.809158,713.2426)"
       xml:space="preserve"
       id="flowRoot4230-5"
       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
         id="flowRegion4232-6"><rect
           id="rect4234-3"
           width="162.85713"
           height="72.857147"
           x="521.42859"
           y="205.21935" /></flowRegion><flowPara
         id="flowPara4236-7"
         style="font-size:22.5px">storage (NFS, moosefs etc.)</flowPara></flowRoot>    <g
       id="g4306"
       transform="translate(-24.923748,483.7473)">
      <rect
         y="237.82025"
         x="481.17233"
         height="43.369614"
         width="56.226757"
         id="rect4277"
         style="fill:#e9afaf;fill-opacity:1;stroke:#a02c2c;stroke-width:1.48752904;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <flowRoot
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-2"
         xml:space="preserve"
         transform="translate(-33.313982,40.923874)"><flowRegion
           id="flowRegion4232-3"><rect
             y="205.21935"
             x="521.42859"
             height="32.857151"
             width="61.428555"
             id="rect4234-2" /></flowRegion><flowPara
           style="font-size:22.5px"
           id="flowPara4236-9">job</flowPara></flowRoot>    </g>
    <g
       transform="translate(95.790536,522.31872)"
       id="g4306-3">
      <rect
         y="237.82025"
         x="481.17233"
         height="43.369614"
         width="56.226757"
         id="rect4277-9"
         style="fill:#e9afaf;fill-opacity:1;stroke:#a02c2c;stroke-width:1.48752904;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <flowRoot
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-2-2"
         xml:space="preserve"
         transform="translate(-33.313982,40.923874)"><flowRegion
           id="flowRegion4232-3-7"><rect
             y="205.21935"
             x="521.42859"
             height="32.857151"
             width="61.428555"
             id="rect4234-2-0" /></flowRegion><flowPara
           style="font-size:22.5px"
           id="flowPara4236-9-5">job</flowPara></flowRoot>    </g>
    <g
       transform="translate(-25.638031,588.03302)"
       id="g4306-6">
      <rect
         y="237.82025"
         x="481.17233"
         height="43.369614"
         width="56.226757"
         id="rect4277-6"
         style="fill:#e9afaf;fill-opacity:1;stroke:#a02c2c;stroke-width:1.48752904;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <flowRoot
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-2-27"
         xml:space="preserve"
         transform="translate(-33.313982,40.923874)"><flowRegion
           id="flowRegion4232-3-2"><rect
             y="205.21935"
             x="521.42859"
             height="32.857151"
             width="61.428555"
             id="rect4234-2-09" /></flowRegion><flowPara
           style="font-size:22.5px"
           id="flowPara4236-9-4">job</flowPara></flowRoot>    </g>
    <flowRoot
       transform="translate(-433.36378,162.68235)"
       xml:space="preserve"
       id="flowRoot4230-6"
       style="font-style:normal;font-weight:normal;font-size:15px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;"><flowRegion
         id="flowRegion4232-8"><rect
           id="rect4234-36"
           width="188.57143"
           height="34.285721"
           x="521.42859"
           y="205.21935"
           style="font-size:15px;" /></flowRegion><flowPara
         id="flowPara4236-0"
         style="font-size:15px;" /></flowRoot>    <g
       id="g4654"
       transform="translate(-23.79085,525.66451)">
      <rect
         y="199.68129"
         x="68.74765"
         height="262.25259"
         width="282.35532"
         id="rect4359"
         style="fill:#fff6d5;fill-opacity:1;stroke:#ffe680;stroke-width:2.35244703;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <g
         transform="translate(32.85403,-1.1328976)"
         id="g4558">
        <rect
           style="fill:#ffb380;fill-opacity:1;stroke:#aa4400;stroke-width:1.75937951;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="rect4388"
           width="134.52634"
           height="57.383476"
           x="164.16541"
           y="270.81332" />
        <flowRoot
           transform="translate(-350.93614,69.363122)"
           xml:space="preserve"
           id="flowRoot4230-6-5"
           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
             id="flowRegion4232-8-3"><rect
               id="rect4234-36-7"
               width="188.57143"
               height="34.285721"
               x="521.42859"
               y="205.21935" /></flowRegion><flowPara
             id="flowPara4236-0-5"
             style="font-size:22.5px">run control</flowPara></flowRoot>      </g>
      <g
         transform="translate(32.85403,-1.1328976)"
         id="g4550">
        <rect
           style="fill:#ddff55;fill-opacity:1;stroke:#88aa00;stroke-width:2.12757635;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="rect4414"
           width="134.15814"
           height="59.872425"
           x="164.34949"
           y="330.99744" />
        <flowRoot
           transform="translate(-352.92371,125.9618)"
           xml:space="preserve"
           id="flowRoot4230-6-5-4"
           style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
             id="flowRegion4232-8-3-5"><rect
               id="rect4234-36-7-3"
               width="168.57141"
               height="78.571434"
               x="521.42859"
               y="205.21935" /></flowRegion><flowPara
             id="flowPara4236-0-5-6"
             style="font-size:22.5px">storage</flowPara><flowPara
             style="font-size:22.5px"
             id="flowPara4456">allocation</flowPara></flowRoot>      </g>
      <g
         style="fill:#ffcc00"
         transform="matrix(0.69892424,0,0,0.60590041,-67.539165,-184.64324)"
         id="g4510">
        <g
           transform="translate(21.07191,-13.088427)"
           id="g4565">
          <rect
             y="817.35736"
             x="220.84483"
             height="45.00967"
             width="84.160019"
             id="rect4494"
             style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:1.99030769;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
          <path
             sodipodi:open="true"
             d="m 221.21854,816.24251 a 41.834236,18.546101 0 0 1 40.18978,-19.00419 41.834236,18.546101 0 0 1 43.40743,17.55829 41.834236,18.546101 0 0 1 -39.01506,19.47937 41.834236,18.546101 0 0 1 -44.46328,-17.03113"
             sodipodi:end="3.0620028"
             sodipodi:start="3.1161299"
             sodipodi:ry="18.546101"
             sodipodi:rx="41.834236"
             sodipodi:cy="815.77032"
             sodipodi:cx="263.03922"
             sodipodi:type="arc"
             id="path4458"
             style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:2.02593803;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
          <path
             transform="scale(1,-1)"
             d="m 221.40372,-862.64317 a 41.834236,18.546101 0 0 1 20.45608,-16.4174 41.834236,18.546101 0 0 1 42.30602,-0.10995 41.834236,18.546101 0 0 1 20.88886,16.30994 l -41.83028,-0.25478 z"
             sodipodi:end="0.013738116"
             sodipodi:start="3.1161299"
             sodipodi:ry="18.546101"
             sodipodi:rx="41.834236"
             sodipodi:cy="-863.11536"
             sodipodi:cx="263.2244"
             sodipodi:type="arc"
             id="path4458-4"
             style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:2.02593803;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
          <rect
             y="853.41882"
             x="222.65796"
             height="11.132897"
             width="81.339867"
             id="rect4496"
             style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
        </g>
      </g>
      <flowRoot
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-6-7"
         xml:space="preserve"
         transform="translate(-444.3006,0.67342019)"><flowRegion
           id="flowRegion4232-8-9"><rect
             y="205.21935"
             x="521.42859"
             height="34.285721"
             width="188.57143"
             id="rect4234-36-4" /></flowRegion><flowPara
           style="font-size:22.5px"
           id="flowPara4236-0-4">area/testsuite</flowPara></flowRoot>      <flowRoot
         transform="translate(-104.22658,-299.08497)"
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4540"
         xml:space="preserve"><flowRegion
           id="flowRegion4542"><rect
             y="649.05066"
             x="168.80174"
             height="39.651405"
             width="130.28322"
             id="rect4544" /></flowRegion><flowPara
           style="font-size:15px;text-align:center;text-anchor:middle"
           id="flowPara4546">state/status database</flowPara><flowPara
           id="flowPara4548" /></flowRoot>      <rect
         y="399.81317"
         x="70.239655"
         height="61.176472"
         width="279.82571"
         id="rect4598"
         style="fill:#d3bc5f;fill-opacity:1;stroke:none;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <flowRoot
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-6-7-1"
         xml:space="preserve"
         transform="translate(-440.9019,200.0634)"><flowRegion
           id="flowRegion4232-8-9-2"><rect
             y="205.21935"
             x="521.42859"
             height="52.412083"
             width="264.47556"
             id="rect4234-36-4-9" /></flowRegion><flowPara
           style="font-size:17.5px;text-align:center;text-anchor:middle"
           id="flowPara4236-0-4-9">configs and custom automation</flowPara></flowRoot>    </g>
    <g
       id="g4510-5"
       transform="matrix(0.9875096,0,0,0.89462735,317.68506,-291.88682)"
       style="fill:#ffcc00">
      <g
         id="g4565-7"
         transform="translate(21.07191,-13.088427)">
        <rect
           style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:1.99030769;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="rect4494-4"
           width="84.160019"
           height="45.00967"
           x="220.84483"
           y="817.35736" />
        <path
           style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:2.02593803;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path4458-8"
           sodipodi:type="arc"
           sodipodi:cx="263.03922"
           sodipodi:cy="815.77032"
           sodipodi:rx="41.834236"
           sodipodi:ry="18.546101"
           sodipodi:start="3.1161299"
           sodipodi:end="3.0620028"
           d="m 221.21854,816.24251 a 41.834236,18.546101 0 0 1 40.18978,-19.00419 41.834236,18.546101 0 0 1 43.40743,17.55829 41.834236,18.546101 0 0 1 -39.01506,19.47937 41.834236,18.546101 0 0 1 -44.46328,-17.03113"
           sodipodi:open="true" />
        <path
           style="fill:#ffcc00;fill-opacity:1;stroke:#88aa00;stroke-width:2.02593803;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="path4458-4-7"
           sodipodi:type="arc"
           sodipodi:cx="263.2244"
           sodipodi:cy="-863.11536"
           sodipodi:rx="41.834236"
           sodipodi:ry="18.546101"
           sodipodi:start="3.1161299"
           sodipodi:end="0.013738116"
           d="m 221.40372,-862.64317 a 41.834236,18.546101 0 0 1 20.45608,-16.4174 41.834236,18.546101 0 0 1 42.30602,-0.10995 41.834236,18.546101 0 0 1 20.88886,16.30994 l -41.83028,-0.25478 z"
           transform="scale(1,-1)" />
        <rect
           style="fill:#ffcc00;fill-opacity:1;stroke:none;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
           id="rect4496-5"
           width="81.339867"
           height="11.132897"
           x="222.65796"
           y="853.41882" />
      </g>
    </g>
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#Arrow2Lend)"
       d="m 274.16122,593.53868 26.05664,95.1634"
       id="path4922"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5302)"
       d="m 261.69935,595.80447 -2.2658,89.49892"
       id="path5270"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5274)"
       d="m 252.63617,598.07027 -49.80483,90.64802"
       id="path5272"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5302-0)"
       d="M 313.96906,821.51733 442.96295,751.01146"
       id="path5270-0"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5302-0-9)"
       d="M 313.81263,825.7827 570.98038,787.26418"
       id="path5270-0-9"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5302-0-9-7)"
       d="m 310.41394,830.31429 135.94771,18.12636"
       id="path5270-0-9-2"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5302-0-9-7-7)"
       d="M 334.20479,679.63889 561.91721,483.64761"
       id="path5270-0-9-2-0"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5302-0-9-7-7-1)"
       d="M 373.85621,692.10077 572.11329,491.57789"
       id="path5270-0-9-2-0-5"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <flowRoot
       transform="translate(65.932827,283.73434)"
       xml:space="preserve"
       id="flowRoot4230-7"
       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
         id="flowRegion4232-4"><rect
           id="rect4234-68"
           width="151.18582"
           height="55.810787"
           x="521.42859"
           y="205.21935" /></flowRegion><flowPara
         id="flowPara4236-39"
         style="font-size:22.5px;text-align:center;text-anchor:middle">postgresql database</flowPara></flowRoot>    <flowRoot
       transform="matrix(0.75559123,-0.65504344,0.65504344,0.75559123,-79.970125,770.0914)"
       xml:space="preserve"
       id="flowRoot4230-8"
       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       inkscape:transform-center-y="-2.2099189"
       inkscape:transform-center-x="3.4352659"><flowRegion
         id="flowRegion4232-46"><rect
           id="rect4234-30"
           width="70.750061"
           height="33.152824"
           x="521.42859"
           y="205.21935" /></flowRegion><flowPara
         id="flowPara4236-6"
         style="font-size:15px">sync</flowPara></flowRoot>    <path
       style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       d="m 467.3997,628.12966 0,0"
       id="path9031"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker16686);marker-end:url(#marker5274-8)"
       d="M 125.75163,641.12037 113.28976,360.16178"
       id="path5272-7"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker16520);marker-end:url(#marker5274-8-6)"
       d="M 87.233115,651.31645 100.82788,357.89598"
       id="path5272-7-4"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#Arrow1Lstart);marker-end:url(#marker5274-8-6-7)"
       d="M 49.847495,676.2402 84.96732,356.76309"
       id="path5272-7-4-2"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <g
       id="g12830"
       transform="translate(-133.68192,-662.74509)">
      <image
         width="334.8475"
         height="196.18736"
         preserveAspectRatio="none"
         style="image-rendering:optimizeSpeed"
         xlink:href="data:image/png;base64,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
H0TyDRO5smJVAAAAAElFTkSuQmCC
"
         id="image7309"
         x="159.41721"
         y="812.08984" />
      <flowRoot
         transform="translate(-332.84714,572.62323)"
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-65"
         xml:space="preserve"><flowRegion
           id="flowRegion4232-0"><rect
             y="205.21935"
             x="521.42859"
             height="34.285721"
             width="375.49951"
             id="rect4234-1" /></flowRegion><flowPara
           style="font-size:22.5px"
           id="flowPara4236-2">multi-area dashboard and xterm</flowPara></flowRoot>    </g>
    <image
       y="147.08878"
       x="484.35513"
       id="image12827"
       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA+YAAAPTCAIAAACytYRuAAAAA3NCSVQICAjb4U/gAAAgAElEQVR4
nOzdeVxU5foA8OfMysywyDaAQiwiCoOiKRhkgktWgtdS1OxaLi1q2e3+sNQyc8lKu0mLlm1uXVsk
tExM06sskSQuobLIIouo6Aw7zAyznt8fZ2YYZgOGgRnz+X781MzLO+95z5lzZp7zznPeQwQNTYAB
FykYVlhUPvDLRaiHJOKG9hWX7d0LhMxy3jGKy/O0dy8QQgj1r45FOzPnM1ksFs3ePUEIIYQQQgiZ
plKrVWo1w97dQMhBNb2msHcXEDIrYIe9e4AQQmhAqJRKNZ2Oo+wIIYQQQgg5KLVarVarMWRHCCGE
EELIQalUKpVKhSE7QgghhBBCDgpH2RFCCCGEEHJoGLIjhBBCCCHk0EiSJEkSQ3aEEEIIIYQclFql
Vt8tkzzSgVQDQQLw6Kq33xCt+8BLLGUQNCDV9u4ZuiexWEwSAFQqgk5vIqXS01nSkiuMskoAUIaF
cEeMdJqS4E5wSJUK6HQCQC7H+SKRnS1fOp/DdUr9cI+9O4IQQqh3qFF2xw3ZeSSICQCADu7wDs8H
SS82SdKTHjj8xEKSxVPsTJUWC13s3Ud0jyJJklAoSBar9s/TivWbWCeyvQBagQkAXqBoB2h6OL59
01v+D0wm5HKSybR3fxGCqKhwe3cBIYSQNdRqtVrtqIkxDJJ4S8EUqJ2Ubo/zwp5JfNCJGf1E6+TZ
sdNd1W20xJmB6XvkUfe1AABB2Luv6N5DqtUki1V9+DvahETnE2eVzy5sKMjh3qnl3qltKMiRP7eQ
d/IsbUJi9eHvSBaLVOOPQQghhBCyEkkCOOwou4+KHk+op7o1Xg88zA/eup22uL55DsGQ0zpukYRc
2qzgDB26eePN2UvVMoWDnnUgO4p9YIyn56CMo5kG5ZMnxUqlHXl//tXH9ml0+s1zv7OefJYY4tP+
zacB8Ym6gXRPvo/sq4dq/zmLu/BfrCefvZUTMCT6IVBh1I66yMw8LRSK5s2bZ1CekZHB43EnTZps
l14hhNDdqLT4hIW/Do+YNmA9+T37h1VrtublGYYZsbFj3t+y+qH4J61r1qEvP31QTXgxxR7chtFu
5wbz6vxb2+a7poGCcbzuIbqqmEHQlKIOQZz30090AGmygUe+LD5R+vkjXUv2vB5pZX9mf36itLjL
vxOrw0wt1PpFIBvy9ByUlDgpKXGSfmFS4qS5cx7z9BzU9/ab5K2yNW8y5dCx95OQ+ES6XE6q1aRa
DWpSpVKyVRCa8I+OPR8z5SBb82azvNVUG8eWsVnsZccMSis+jmWzYz+u0CuIY7HZLDabxY77qAK6
LYfjy1jLjusvRa+140uNl2iiGup/QqHowIEfDhw4oF944MCB3bt3CYUie/UKIYTuUsMjppn8N8Dd
WLVm6/tbVsfGjtEvpOL1VWu29qFhggTCEUN2FxXzSbkTnSZXMWlKNlPFYL0E21cyP6Sr5P+9+sLh
khgm5JIkQTbJF88EJt3c+OXNmsCVX86yTZcOLqPe+23ZcHPv3GnDI6ZN21pmm6ZRP8g4mpn351/6
UTv1+NTpPOOhdyt0nDnDysoVPzv/vkn/UHZISCadoNGAIOSkgk5nZN3K2pT9ZtDkmeLnnmJn5UrP
nDHTzNixlzd1DZSPfbDqQuezio/i2BElb8llMrlMJpd9A0ePWywHAIBHH1+852dtXF5RehkuHDha
oXs2NnxY31cf9d28efMmTZqkH7UfOHDgwIEfkpJmGA+9I4QQuivk5f1lELXr4nXjofeeIwFIAEdM
jBkq5XmQoCJVdLpKRQCdI/+P+rnVxVsIvkot58w9eSir6YEHwvLV8gi+O4wN6/izhGuyncyvDk16
flnkoc8LB3gFkAPY981PAKAfsp86nfdjuskx5l6TFl72VJONLy2hqZQ0Jy4AqNVqFali0Vl5N/MW
/LpAKL4zZcQ/Ql95kfnl7ubCyxA3xWQ7o0bBgaMVr7wSqnl+/Oc9ixcv3nMZAAAqPn5m1ajD8s8f
1dYO/fcroRbKdU/Dx14urYDHQgEqjh4Y9f77l0vKAahnMO8b/arInl5++V8AcODAD9RTKl5fsmSJ
TRpfvnS+yetNP/9sk/7TsvIqnEMGIYRsSBe1U8PqfY/XQRuyO+Iou7eSzVCz1AByJbO21v2dU//c
UfY4NLSp6+S05ma5yOXrokXE9QZFUzmDJp8wXGq2obLPv6iZlWqcwRK57IQmv2XzbIDZn5/QDsbr
ZbZELjvRJa/GhM5sGf2aYZrGTWXOoAG175ufdGPtNozXAYBeVtlKZzj7DaXRGcerjle1VNFoNCad
mV+XP+/oPIVKsWvarmiv0XSvIWI6k15Waa6d8FffGrXqP9oh8oqPN11+/9XHtc8yDlxY/PijRq8x
V64TmjQPqIH1iqMHIDxx+Kg9Px8HACgvuTBqOBWxV3wURyXVsJd2DtBrC+O0I//Hl2lzbzTpNMeW
sWM/Pm5QzWQh6pGXX/6XdqzdlvE6AHh6uvekmlTSYaslIoTuNQYJwwb/7N07e6Ki9o9S3/xw29q+
x+s6jjjKLiUIqYpJkvSOdjafJo50qXO5LYr2yQWCW3wnvF1BtvuoSQbQRHdIGkOttPTNdHDZtkeK
X3/96OL3OkfaH/kybXzm3GnvFQLM2nxiddi0E/nvTnsEDv0Gsx4KqoGgxLD3CssiE8dD1WnL/Ty4
bNpBqsHiJ1+P/O29QgAYsuh5mB0xrTBy2Yk0g+UiO2hoaKYeSKU2Dk1UoHJmOWfeypnxU9J4vwd+
evynyubKJw4/oVQrtyVsezriaRIAoNv5jB57fPHMn49/8eijABUZ1CB4ie6PY8NND4mbK9cIHT7q
ws8VAKHlJTDv1dDHhi/eVFoBj1b8vGfx458DABxbJjgwr0h+JhTg+NK4jysefQUALqzaNK9IJg+t
+ChO8PTHiXmvhMKjn8tlnwPAsWXsTR+/+tgroaarmSlEPcLn+1APeDyeDZvd/O5nBiXU+PqyF9+y
4VIQQveygc8Uv7uQJEnYaFpDkgQgHXKUvYolblSw5UonF4Way1bPHHbmr3nLzj719M+PLI6nnSSu
XZ/q9j+CBTQxQYiaCmssn3X89sKbNxet0BsFjwwOgiGL0k6UFp8o3RwTGBwMZTdqAoMjAWZPG5L5
1VlImBwJYTMSIPNod9nqszaXFp8oLV4Z31l0c+9rnxcCQOHnX+QMCcZxdrvSja8b5LX3nSosZJBK
ffv6pbGeUS9GLT9/5/zi44sXHluoUCs+nvzx0xFPK5RyQq1uqytzVSlVYSEWmnr01fcvb/qoAuD4
B6tGvfXvLrHuhRLTQ9bmynVtUunsx3/eM2p4KEBoOBw4WtGZyF5RehkurBKw2GwWe+aeCyXlAAAw
9v1v/h0KAKH/fmuxdgHHl7LZLDZ7pl7mhKlqpgtR93T56wZ57QghhO5eVP76/618598pm42vRrWa
I46y17HF1WpWqNzdSdZOVxD1NwefLve5KvU+dX3c7Q7nZ6O/fkqQpbpF0EF9tYSWVeLcTXOHvtn7
/I4vZ23TK8p/I+LNg51PwzLh9RmRVcGBZz85dBqef2Z45ORJcDbF8gB55LITm+GNiGkHIez1Y68b
/TksLLDna4xszzgfhgrZbXL5KSdylJhGI3fscv5yz0fxHypI1b7CfZ4cz+2Ttz854kmlWslQkSoG
DT7d004jOJGjLLUVmjQPnj56HA5cfv+bz7uWj12lGYCHHpR3qRM+9nLp8fDLix//AgBCE+fBBxlH
L+snsi8+LPtCrwH9lKGK0ssAjwNUfBQ3Ew7L5I9CxcdxTxstQ1ut+0Jkmi5e1+XDUHntePkpQgjd
vQyuN9Xltff18lPHHGVX09S/sVskUj+JwgnqOR7SjvuglSNWPTrk3JbHPv0s+TNeo1LZSoCM+CPP
S66kd9de2XuvHQrarB0LL6yqhpilXRLNy45kwaT/PBmUdboQyo5kDXlkhT9kne4mpSXMP7DmRikA
RE6e1BmdD5mUGAaawvzfDvV63ZFNTJ4UaxCv6/LaJ0+K7Xv7TnFxsoQJzrt+qMr8hWAwPk34ZM6w
5Lcf3PTkiCcVSjlNqSLY7JrTv/B2fS9LmOAUF2exsdBX3hq1auYqmJcUali+eM9MvRkbKz76+LiF
cv2XJs2DVTNXgSaBJnT4qD2rVukS2UOHj4I9mwyTzrUTy+hy5StKLlAZOBUZBy6Yr2a2EFmSkZFh
EK/r8tozMjLs2zeEEELWMZ4fxngOGas54ig7AZA96M4JYUiy1L+DXul0Sx0bLIwdXwEeMvAAaAAl
jWDT1VDPPFXt1qMWCz9P2Tf+4ELqyW8vzA0+kbajlHqas234st8Kj56FheOpTJjCo2eD0sZn7ugu
K+bQN3uf33GweBbU5GfX6EpvVge/Xlo8BACy35x20PyrUb+SSjvSfjx2OjNPv3DfNz81NDTbJKnd
neUq2bJZMXEaZ9G/rn1DC4xP2pu4DwBIACaDpQSozs5wWvwvBQvYWza7s1zlcoWl5h597f2xMNw4
AfzRL2RF4XECFpt6Ovb9ojMWyzuFJs4buwrmJWqafOzxxbAHdLH0Y58XvR8niGCvAgCAxYdlnwPA
2FElT7PZFwBg8WH5o1SvNkUI2Ktg7OLFY3UtG1UzW4gs4fG4S5Y8m5SUpF/48sv/4vN9eDzTU2Ah
hBAyx0EueDU5oK6L2q2+lRKQQJIEETQ0oe9d7K1IwbDConLLdVwUrNdb/GY5N7I5tWoXqZLfAZ4d
pKuM5SojWER1I3fjX0OyhO4EmLmZEkJ9IBE31NZcMPdXBp1G0OnVh79jzX6WoQLJs/NUKxa7DQ4j
gGitKyd27OJ+fUBJB/nBXUEznyJVKuXf5O6nx5axN4UXGVxdarIQ9buAwLFcnmfP67/5xosNDU07
v/i+/7qEEELI5joW7fxvfDOb7eSIo+yUNqb8TffaQsmgf5K+YeomlkIK7U7gLOtgqA43DdpU5ymh
AcbryC4IGo2Qy4NmPnUj11f81ib2rn3Ou/a1AhMAPEHRDiB+OJ656a2gByYTcjkwmfA3CdnRXcx4
DhmEEEJ3EccN2QkANV39nUvjLwr6eLnLCBWTI5G30clzasYFkk3QgE6QKtI2s+cg1CsEQZAsFqhU
AQ9MbvottuNUVv3VK4yySgCoDwvhjhjpPiXBneCQKhXJYuE+ihBCCCGrOe7dTym64fN2puoUwClg
ADBADQBATXOJ8Tqyl87cdJWaBwzexKmeE6d2qaEAOSioCgPduX702Oeyx3pWiBBCCCHbIElHvfsp
QgghhBBCCBz5VkoIIYQQQgghcOR52RFCCCGEEEJAJcZgyI4QQgghhJDDIklQkySG7AghhBBCCDko
Uk2SGLIjhBBCCCHksNRAqklgSMQNA7/sO7fZdlkuQj0kk7XauwsIWYK7KEII3Qto1Ci7mmRYuCs7
QgghxyS8XW7vLiCEEOp3ge9fU5Mk5rIjhBBCCCHkuKjLTx337qfob4kkye4rIYQQGkAEgXcTR8hx
qanEmJ6/QKlUtra2NjY2NjY2KpVKqVQKABwtDw8PPp/fb71FdzddpI4hO0IIOSyM3RGyQCQSenvb
IdYlSZIkoUche1tb282bN+/cucPlcj09PUeMGM5gMLhcLgBIJBKJRCqVSmpqai5evOjj4zNixAgO
h9PPnUd3EypM1/8vQgghR0MQBEmSGLUjZI5SqbLLckmS7D4xRqlUVlRU3LlzJyQkOD5+IpPJNKjg
5ubm5uYGACEhIQBQWVmZnZ0dFBQUGBiIgTsCvUhdLBZXVFRIJBJ79wghhFAXrq6u/v7+bm5uGLUj
5ICou59aCtkbGxuvXLkSEBBgMlg3KSQkJCQkpLKy8syZM2PGjPHw8LBRb9FdjCRJkiSrq6tDQoK9
vb3t3R2EEEJdNDc3FxeXjBkzBjA3BjmMt95a18Oamza93a89sTs1CaSFUfaamprq6mqBQODn59vb
pkNCQjw9PfPy/gwNDQ0MDOxbP9HfAUmSra2tGK8jhJADGjRokEwmw/F15FAqKyvt3QVHQY2ym57k
saam5tatW3FxsVbE6xQ3N7cpUybfunXr5s2bfegkuruRWvbuCEIIdYGfSybhhzZCDokkwdS87G1t
bdXV1VFRo6gLTK3GZDJjYx+4evVqY2NjX9pBfwP4BYAQcihtbW327oLDwQ9qhByZYcgulUovXrwo
EAioi0r7iIra//rrL2pGSIQQQsgRtLa22rsLCKHeGbrw47S0tNcn2bsfdmIYstfU1AQEBFidD2PM
zc0tODi4oqLCVg0ihBBCCKF7ydCFH6e9l+hn727YU5fLT6VS6Z07d+LjJ9p2GSEhwTk5v7e1tbm4
uNi2ZUcmFou3b/9ELJasWbOGx+PZuzsIIXQXq62t3bdvX21trYU6YWFhM2bMCAsLG7BeWa2H0932
MT01LS0NAObOnduXRu5BC36mt3QQR55U2rsj9icWizMzM8Visa6Ez/eeNGmy7ml1dXV7e3tkZKR1
7SvqPlfe3EKq2gFMXvc8Te/xtX2vzN036fW05WOsWxblVn7++R3bAWDcipcHx8T0pakBRQAQXUP2
ioqKgICAbudzFIvFH330EQCsXbu2JwtiMplhYWHV1dUjR47sbScLCgoUCsWYMWMYjF7cqNUysVic
kZFRWFgoFoslEnFQUFBwcMi8efOov27Z8p5YLHn77T5NGETF6/n5+QCwbt26t99+G6P2HpJIJKdP
ny4oKGhoaAAAf3//4cOHJyUl2btfCCF7SktLsxyvA0BZWdnevXvffffdgemS1U6dOpWRkdHDqH3u
3LlTpkyxYikFBQWnTp0CgICAgNjYWCtauGcdLTc9M4d1bBJUmCMWiw8cOFBYWFhdXWWhGp/Pj4kZ
v2TJkt62n5mZuXv3LoPCyMhI3R1Ajxz5JT8//7//3d/blimKG+8RpMRMvG4byo4OWUuLrKW59eat
y3t2F6WlAUkCQFFammDu3FGLl7gOGcx2G8R2c2M4OfVfN/qKBgRNL2RXKpVCoXDixIcsv4qK1/Pz
83t1UuXr61NUVKRUKnsbeUul0vb2tnPnzkVHR9skai8sLNy9e7f+zi0UCvPz8zMzT69Y8XJkZCQV
Z/eFLl4PCgoGgOrqKozae4j6xg0ICFi4cKGnpydVUlBQsHTp0uXLl48ePdreHUQI2UdZWRkAWPgc
KCsr27ZtG3Wq7+CoeL0nI+gSiSQjI8O6kJ2K1wEgLS0NQ3Y7Mg4qdEH89u2fiMXiNWtet7rxjIyM
jIwj3VYTCoVUtd5G7frj6zp37gh1IXtfqcVkf8brALBzxPD2ujoTfyDJogMHig4coJ45+/m9XF1j
w+Vu2fKe5XhSIIjs+YkcQRAEQXQGwY2Nja6urpY/RHTxenBw8CuvvNLDJQEAk8n09PS8c+fOkCFD
ev4qAIiOjj537pytovbq6uqtW7eIxWKBIDIpKSkyMlIiEVdWVmVmns7Pz3/rrXWpqR/2pX3oGq+/
/voaLpe3bt06jNp7Ii8v78iRI3PnztX/Sh49evTo0aOnTJmSmppKPbVfBxFCdmbhE+CuyIehUOPr
H37Y/dfN0qVLrbtjdEFBQVlZGTXw0dDQkJeXh1G73ekidV0kV1VVXV1dVVhYaHViSWbmaQBYvXrN
+PHjdYWzZj1x6NBP+tUKCwvfemtdZuZpKwbaTRKLxevWrZNIxJRly5YCwOLFS/S70TMEAAlAo+YX
Be2dvGw4eVEPbzVg8zsSCIUiyxV4vF6kvdEIMAzZqcPbHP14/Y033uDze3eO5evrKxKJehuyMxgM
W0XtYrF4y5b3xGJxUtKMefPmUdEzj8fz9uaPHz9++/ZPMjMz161707rGdYvQj9ep09C3334bo/Zu
SSQSg3h9586dEolk5cqVABAQEJCSkpKamhoQEGB5LzWvKH1jSfj6ZEHvXiXM2pnjvVzvVUXpG9OL
NI8FyXrtCbN27swWGpd3fY3hn3rci4Mwe3mCpUPu1+eIxEvbys6lDOt1811bOTSL/Hp6X9roKb0t
xo9frrd2ndvL3BbuUf3Ov1rxxvcna3vUk93AiqVW/PZVZlt0cvJod6vatYfNmzfrJ8mEhYVRHxQI
ACQSyY0bN6gh9ri4OE9Pz71796alpXl6evr7+/cxOR71hfGYa2RkZHV1VWbmaatDdqFQCADjx49P
SUmprq4yN3BLtW9yyNxqkZGRQuGdoqIiAAgKCgIAK8Ibvbt36WJmAgBsGD8zOBwbVus5apzRVgiD
xBipVOrl5WWudh/jdQDgcjnWTfVoq6g9MzNTKBTGxMSYPMt8+eV/Uee7VrRMMRmvAwCPx8OovVun
T58OCwvTH0Iz+IE7ICAgKioqLy9v4PLaNZGgILmzSJiVA8nr1wuoxzt3phcJkgWaxyXhy9cv51Ov
25gO2uCoKH1juih++XorA60em/5196MSAxmQd6cofWe2d/L65drNl+69Xrsp07XbuCh9484sbypG
7W19DWFWTpFgYrKJDtxbLGyH0EeeDx3o7vTRm2/2aWzFcVCX7oSFhen/RFBbW3vp0qXeftDV1tam
paXduHFDNyrv6ek5efJkLpd75MiRhoaGbdu2UeXU75Z30Y8Sf2Pz5s3LyDjS93RcsHWA2C0ej0eF
UlTYY3VuD0EQJKkGtQxADTQnABqoJQAkEGygmYr0Mt+bm9m7RdC0EeN6ktxIENSDS/v2DZ85s/Tw
4awNG5qrq/WrOSoCgOi8xkIqlXK5pk8yOjo6+hivA4Crq6vVt66gonZnZxcqalcqrbmO++zZswCg
f6UzZcuW92bNemLWrCdsEq8DgH68TqGidtDmtdv2TPfvobS01OAn7zfffNPgi3nu3Lm67Mx+J8za
mS6KX24wKMlP6CzhJ0wUFJUUAQAIi0uEgonaSFEwMZ6v+QMUpaeLuowII4pQJOLHT9RsS35EOF8k
EgIAFOVkeydrt7FgYjxk5xRZU1+7mOIS0L3sHvY32w6bN29eqkcXjPaH2trazZs3b9u2jUqm72FJ
D0ml0iNHjhg0lZqaeuTIkYKCgl41lZaWVlZWRqXIh4WFTZkyZe7cudSY+vLly/Vj9IKCAmomGaTz
0jH6gp/pLR0m/tTSAQt+pr90jN4fy+XxeHw+XywWU/ktfZGSkjJr1hPr1q2zScd0+Hxv40Ifn85v
NB7PuS957SSpBqAx3KcwvOcB4USSSob7I0zv+UB3JlUyq5vVR9BMXEysUih2xcWpFIqEDRssVHM0
nWcVCoXC3FwxX3/9NRWMVlVVPf/885ZbHDdunBU7TUFBgeYruDtU1G5FWh7VvvHPT8b5RjG9n/dH
F68DgMndVzeyTkXtA3xC7PgaGhoCAgL0S/QTY3qD+v0/vESTK8E3CJg14+HLE/jU4/qJ65MFJpJa
+AnL1ycAFKWbX5JQJOJ7TQQAENV32Xf53t5QIhIC8ItKivjhyy18nFnorV66R3y8hc5rm9INoZen
Rj8F320sDkvcBQDw7FHy6+kA5anRYSvPA+widmmL4NfnCKqOrsQk7Us7K+qVjNMl45SnRj8FG+d/
n7jyvKYiaNvXNt+5AvyIcNiZU5SQLACAopxsoDZT5zaltmREOP+gSAjQ6/qaDVZcAuGz+Zqckonh
JenZQqDeZNBuXv1kGr0dQVNuXGL4/uV4ad4z/XdHLw3FXNqOrtxwFzVaguFuYFievD5Z0KUnhp3R
bgeDOvV/7NlfGf7M015/fVUT8vyUYACA2nM/XxAymUwm03/0tAg+NFbkC51HjfB1AgB5802R3MWH
78oAAKVMAUwmwz5fcgM5yq6bqUY3F01PSizz9PRsaGhoaGjw9PSMjY3Ny8vbtm3bypUrORxOamqq
RCKhImzql8YepgLOmDGDOnVJSkoyuFw1ICCA+nQ9deoUFaxbdz3r39gVIXFFSFxvIY7MU7rpzRrS
0gEvHacfLadNCOiv+8LOmzdv+/btZ8+eNR5P7JV+CiomTZpsENI4O3eJ0ZcsWVJdXW11+6RSzHBP
cB55iKA5tV99XtVW4DLqCBAgLl2hbPnD6mb10egmTrfyUlPrS0ryUlOfPXPGQrW+sO3lpyQJJNl1
xhhzIXtjY2PPe2kuVY7JZCoUCnOv6lXOTF8uQjVOSrHJji4WSwSCyKKiQl2J7t0yeFcEgsheXXNw
j5BKpZyumWTGg0xcLrdnV2IVpW+E5PXrk6mHuhQKAKDGyes35hQlJHtnHSwJX75cAMKsg7qUCyov
r0c640YQhAvS03OyJgo00Vp6EfDjAUAoEoF3uCh9407zqdame6sZ5F+vDf+KIN505007vzLs0FGS
/JqKyp+bRX49fVjKOXKEfmJMeWp04qVtZWTKMIBfnyOiU03nwZenRoetjDpKnpsOAOWpqeWGJdFh
0aB96fmV6+eXkeQw+PU5IpHYNW5bGUkOg/LU6LDnfjU4J+AnLF+etXPjxnTQD1pF9ULvcJPha2/r
G7xFAMLsnPDl69fzoSh9Y/rGIn788vXr+frpTcKsnfq5N1kiEyWGBOGC9BIRAJ8Ki/lQTz0pKikS
hCdDl/exa5qP+V1Uj+ndwHSz4YL0dO05jeZ3H+2qa7cDv0sdUWlZfdiDD3iA7j53zUUn/mwb8Uji
CFeA28VZ5647R9/n4XG9tQPACUAuEQOTqVQBMACUKiXBZJvb8P1tIHPZdRl6uq+2npRYFhYWlpeX
V1ZWFhsbu2jRIgCgonbqI27KlClJSUlcLpcaejcYy7DQ5vLly3fu3JmWlsblco1HtfLy8jIyMgBg
7ty5eCmqgSPzlDMOMK4IiRkHGEfmaX7G18XrI/nkp4+p+mnRMTHjAbbn5+eLRH2dhiUlJUX3k74N
OTs76z/19taMu4vFYpFI86FYXV3N43H70P/O1HUSSELzlLAum9qA+9ChwsJCABAVF/MjIwFA1tIS
m5KSl5oam5JSeviwrlrfl6XPtpefUjpjXw6HI5FI3NzcjCutXr169SADPcIAACAASURBVOrVVVVV
wcHB77zzjnWp2BKJhGM+u7/bTxClUllYWCgSCZ2dXay7UIPL5QFAXy7NtoA6SGbNekJXoju70o/j
dTWRAWrYyfIXXm1tbc++vfidCS2CifE5O0uKkgV6AZFgYnzOwaws75Lw2boBcJFmaFYg6FHygDaW
0+XCJK+H9I07N2ZTi48XQIm2alF6iSY2M0hyt9Rb7y4Rl2BifM5BC503Nm5bmSZAnr5627inrpbD
dMNo/NetK2FbmSZInz7r2cT1R8pTUoxa+nXryvPPHj2nibaHpaQMK09d36Xku23fP3WkPCVlGACM
2/Yd1eL01dvGXQLNk2Ez5o/7/mo5TB+m+e1Cbwuu1+Sjb9wZbjF/qLf1Aai4eeJ6bR1+/GyqvmBi
fI4INE86x+WLcrKFgmTtWRA/IYFflL7RoMR4GYJwQXpJUbJAICwu8Z44Eagn2oi9KCcb4rXdFIQL
0nOKhQl86HYX1a60md3AZLMJeu0Ii0sgfra2wc7toL8sUUkZxP1DP5+5prAYIh4Z4QoAAL5e/Ks3
6yX33ecx6HpzKwxylbeJWYM86M0yGbDZcpWSYb+IfUBH2RctWrR3715PT8+4uLiel1hGXTZWUFBA
ffHponb9eB2081r2/IL70aNHz507Ny0tbe/evRwORz/VsKysLC0tjWofh9iNuTl1idqpQl28vv9x
1X1u/TXKzuPxJk2alJmZefZsfh+v1OqPgfazZ89u3brFoPCLL74AgJSUFIMsX4OJa3qCYPBU7Rfa
r8wCxiBl4wlSLWm7nERjeCiaTpLK1tWLPGnMQYr6E2y/BWpptbzpNG/MnyYasXixql90DBWXZ23Y
kHzgAEEQmW+95Xf//c+eOUPlsuuq9arn3bL120GAfsjOYDDM5Yiz2ex33nln7dq1VVVVa9eutS5q
t5B40y39eH306NEWQn8LZsxI2r59e0bGkf4I2VEfhYWFnTp1ivrqMufSpUs9m+RR/1Rfl6Sih58w
O3znQdDGvPyE5cth586N2T2b0KVL8NhJkLxee6GqMGtntnc4H0AIAJ0Z2FTMpZe2YaG39UK+l4kU
QuPO98X5lWFE59jkOHP5wOMiuoT75cXnDUqsICwu6RINz44v2ZlTlJDs7cXPMdpCVtQH6Bzp7jnj
bW5Yojf5j2ao39uLn15SlOwtKgGvCIG3IEck7JKuI8zWnMlpXkT93+SbLjJsXGR+NzDRLD8inE/F
411+XeiyHTrrlOT+DmFLDYPBluLTP5czmUwmk8lisdycAYDj5HS9tRWcFO3AdOGwOVKlEhhqNY3W
v3MpW0SNsg/MRDFhYWEGuS49KbFs8uTJVLZ6QUEB9Zm2aNEiajwiNjaWitepGyGZHC+3YMqUKXl5
ecb3nJJIJBKJJCwsDO+Eao5+1E6VDEC8TomJGZ+ZmZmRccQBbxpoMunlzh2hs7Oz8VV51dXVvQ7Z
CRpJqpVN/wNQAY1DEAxV0wkVABBsgs4SeGYBwVBzO5zuY6mkoGzscI6M6O0q+I0bRz0o/vHH4h9/
7LaaoyIA9CZ5dHV1bWlpMXdCz+Px+hi1t7a2ubi4WNFNm8TrABATM57H252fn5+RkWF8YJw9e7ao
qMhWU5bqLFnyrPGdw5CxpKSk//u//5syZYpuHN1gQL22tvbMmTM9+4YW6Wczi0TgHc4H0P+Jqiin
xNsbDmZFaEcqdZnrpobB9WkyyNdbiuupsVEBaIIxq3oLINSkWABQufK62ZyMOm+1ccZzQpb36IXn
i8sB+hS1G2T/6/C9vYUlnSuuy0Uv6mX9/poqRu/ETNsDapheVA/hE/kAXpBTXAS6XpjMVBeZedP5
Ro2b3w1MJcBr43HQ/3XBYDvo6pQVR8Q+YTRFmFvE5GkC165lgwY53eyQyVTA82QBwYA2mZyuArqz
HUP2u33GGC6XSyWx7Nu3TyqVUkG5/uA3NSgOAElJST1MjNGhsgepuF8ikUilUk9PT+ra0xs3bthw
Lf5+DKL2gYnXASAyMpLH4wmFwr7nxtx1SJIkCBrQqR/YSQAAurPBYzqLLb+9BwBodFfTrVg0JCY6
YMKE2txcC3UCHnxwSEy0FY0PIAJA7wpZDw+PhgZLOetU1B4cHExF7b2d9uT27ds+Pj697aOt4nUA
4PF4q1evAYDdu3ft3r27sLAQAMRicWFh4fbtn2zduiUj40gPL4HtOYzXe4jL5a5cuTI1NVU3PqQ/
Y0xtbe3OnTtnzJjRs9+IhbpZQ4RZB7MNZ8oQZu1Mh4nJybPDSw5mCUGTew4AAN5e3XxadpmfxEyV
9J2dixRMjIdsaimgSSmO4GsSO7SlpnorCBdAUY6mhjCrcxIUo853aao3ps969vzKp1LNxOjlqdFE
dGq5YbXy1NRfp6/eNm5X4nO/akueWhm1saeTwet622UFQZh1MFsoCBcAgCBc0Pl+6DZYr+tbMUWK
IFwg7HyvhFlZRcYlpl7HjwiHkoM5ovAIvuZJTom2F11b0N8QFndRvS6Z3A3MNUtNYpReUkRtGwAT
20FbpzhixAiDlwcGBLQUn7/aalDsNGgQtN1olDtzWQBMDhtkHXKg2+nC07+N0aNHx8bGSiSSvXv3
7t27t6CgoKGhoba2lprOhbqNKzUbo3XtczictLS0tWvXvvHGG2lpaVS2vXV3ZbqnUFH7SD45IWCA
4nXQ5MZMBoAjRzJ6+1pqBr9uLwClZsxzwAmmCYLQROdAUgBIg8dAAEEAQZD6kxz2HJPn/Pi33/mO
GWOugs+oUY9/+x2T52yugnV0sxGa+9fLmVq6jrJ7eHhcvHjRcvqKwVj7Rx991MNFKRSKlpaW4cOH
96Z/AABXr161SbxOiYyM3LTp7R07tmdkHDG4xy+Px1ux4mWbnOBWV1dTtxXQRx0wyALq8qnNmzdP
mTIlNjY2ICBAIpFQ9+0rKCiYMWNGj38gFiSHl1DXKQIIkrvOiK6Z3lsAAAkTvTfuTPdeP9FLtFOv
uoUwTygSQVHRRv1pZEzOK9J5WSh1waguyd1U+rXJ3gqSl4t2Usk6wI9PjufnmOt8zzYJZfqsZxMT
tTPGTP+aPPocoUuNMTdnTNdq47aVpQybfu5oMZFI7NKWnDP1um50yf7Xz0ii1tzwMtPe1tcbbrey
S/z45QkCgWGJqdfxI8Ihu0SztC5PzHfb0i7apUumdgNLWyNckJ4uil+uHVU3tR0E4YKDB0UJy8ON
Fhf4wBzauZ9PH71GJcb4RyZEeAGA0yAXaJA6u7AAAJhsNrSrWPaK2C1c0NLbWRHtjkqGSUtLy8vL
y8vL0/8Tl8s1nvilJ6iJaACAmnmGKjx16pRuelxqmpo+9/3vzM0JchZaM5F0X0yePDkj44gVdyeN
iRmfkXEkJeX/DMr1r6zT6eOkNP2D1N4AtUtKuqn0dBqA2rplOPv6PvH9D8dfXlF18qTBn4ImTXpk
x6fOfn7WtWyBbS8/VZMESQIhk8l1RVeuXPH29g4I8Lf8SrFY/O6773K53LVr1/ZwYbW1N+rq6saY
P8sxp6CgQKFQREZG9j1e15eRkXH27NmiokIejxcUFBwZGZmUlNT3E9Bly5ZStyIzJygo+J6a3pHU
UqvV+fn5kyYldPsS6t4iBQUFtbW1XC7X09OTGo7q8deM493s0pK7q7d3DYPZDO9Zf6ft8MYbbxjc
Xs2kgICAHqbN3Lhxw9+/my+7ASCRSKjZY3SfeAEBAb35xOuirKxMN0u9LnP91KlTulOClStXmruJ
UmZmVkxMDI1GI7SsWqG70oKf6UfLLZ2GTgggjzxpZRyfkpLC53uvWfO68QP9auvWrePxuFbck2j3
7t0GQ5DGeDxeTEzMkiXP9jbOOXDgwIEDPxgUpqZ+6O3t/fTTCwzKlyx5trfp+JJzgQQp6f4+gAAE
ASTB5UbX9Kp9fSqFovDbb3M2rG+vqwMAnq/vxLfWj3z6aTqL1fNG6urq/Pohvrcs8P1rqWOb2Gx2
l5BdKpWeOXPm0Ucfse3CFApFTs7vkZGRHh4etm3Z0RQWFu7Ysd1c1C4QRE6ePMkhT3P7ixUhe5/d
XUHw3dXbuwVuVUp/bwc1wMANtpeVle3du9dy1B4WFhYXF9fDn+McJGS3LYlEkpqayuFw5s6dq/9z
RG1t7alTp27cuJGSkmJuYq57OWSfuK/zqlOTEoep9z/eX/M8OjKxWEzNDarD53tTYUxGRoZ+gjSP
xxs/Pqa3qQqKus+VN7eQqnb9eR5NIQm6M2PIGqbfsl61b6zt5s28Dz4AUv3Aq6+59v4TwG4h+/3N
LIOQHQCuXLnC4/GGD7flrYxLS8taWlqsGGJHdzsM2btzd/UWob+Pv2XI3hf3csiOUA/ZK2T/4P5m
NpttOEYSHh5eVlbW0tJiqyW1tLTU1taGhobaqkGELOrJPI2O4+7qLUIIIYQGmloNKrXRz5oMBiMm
JiYv70+bXFquUCjOn78QHh5u3fSOCCGEUH/AbyWE0N1CqQalccgOAB4eHqGhoefPX1AoFH1ZgEKh
KCi4xOfzqUmIEEIIIQfh6mrNHM8IITTwVCpSpSJNXzwUGBjo7e196tRpqzNkWlpacnJ+d3Z2HmE0
+S9CCCFkX5irjRC6W6hUoFIBw9yfQ0NDPTw8cnJ+Dw4OjozsRbatQqGorKyi8teHDBlii66iux5B
ECwWq7293dnZxncrQAgh1EcikYjH4+FpDEKOSalSEyrSbMgOAB4eHg8++GB1dfXx478JBIJu52tX
KBT19Q3FxcVOTk73338/Zgoi3RcASZIhISGXL1+RyWT27RJCCCEDrq6u1O3JcboYhByQUqUilCpL
ITsAuLi4jBw5sq2trbq6uqCgwNfX19PTw83NjcPhcLlchZZEIq2qqpJIJBwOZ8yYMRisIwMEQbi5
uUVFRWnvQgxkT+6dgBBCqN9QoTmhx949QgiZoFCqCULZTchOoQL3kSNHCoXCxsbGurrbUqlUKpUy
mUwGg8FkMjkczuDBg318fBiMHjWI7ikGdyHGYB0hhByHQeBu7+4g5LgYDLpdlqtUqgiauncRNk7/
gnqLitF1Xwm6xwghhByE7iMa8MJchMzr7e1dbUWpUnefGINQ32GkjhBCjkz3+Ywf1Ag5IJVaTZAW
Lz9FyFbwawAhhBwWfkQj5MhUapJQkYzbt2/buycIIYQQQgghE5RqklCTjPFb/rR3TxBCCCGEEPqb
u7ljtlgsVqvVvXmRWK0iVXQzdz9FCCGEEEII2ZB1SWjURHsYsiOEEEIIIeSgSCBIIDBkRwghhBBC
yEGRABiyI4QQQggh5MhwlB0hhBBCCCG76sk1qRiyI4QQQgghZB/19fW7du3Kzs42V4EEggTAWykh
hBBCCCFkB2Kx+LvvvqusrKysrGxtbZ05c6ZxHZwxBiGEEEIIIbv5z3/+U1lZOXPmzEGDBmVnZx8+
fNi4DglAkhiyI4QQQgghNOA2bdrU2to6adKkSZMmbdiwwdXVNTMzMz8/37gmiaPsCCGEEEII2UV8
fLwuGea1114LCQkxrkMCYC47QgghhBBCdjBz5syoqCjdUx6P99RTTxlXI0mSJMm+huwfpDz2z1Bn
AKisqHow9bxxhS/XJM64jwug/HZf1qtnm3TlDDZ79VPjk4e7ezozmTRCpVSJWsUHfr6w5Xy9cSOC
8NAP5oSFeDi5sugApFgiL6+5/eKX56pkpMlerX1p2gqBW0XZtYc+uqhf/u2bSZMHcxQK6QuvZBzX
Kx/3YEzaPwM7RA2j1p9WdrPG7n+8n+ALHY+vOnalm5oIIYQQQgiZph+vU7y8vIyr2eby00E0BfVg
iJ/7SBN/94nhswAAQD2ILtOV+vqH/PnO9BXRfDea7Ma14r/++uuGqNnDzeWVJfE//3NY1xaI9156
+NjLY0Z5s+TNdy7/9dflogq5GqLCA09ueiSGTZjsVWXVbSWAjyev6xmJT6QHU61WM5mMWQ966v9h
5hhnDoCkoVLV/RrLuISaQSicu6+JEEIIIYRQn5AkSUKfR9kpMpmMzePOF7heKWrVL4+fdp+HE6FU
qhh6y2GwfQ//O2oIl6i++Fvq9+erlK5Sksaj/xYdOvrfzz4cEyv4sLrp//7QjLWvWDL5GcEgRXv9
vg8/y2rmCVVsIFR+jPZ/r1g6OtBr9+vxUzdk3Tbqz8mTFZJHQzk87oMAulkuR473dXNitNTXu3h5
RY7hwx8N2r8QMd4cAPnVizWmB+0RclRRge6Xapq6r4cQsh2rjzs8YBFC1rFZLnujqMHbf3D8JH8o
KtYvXzjGg6YU1zfTfbyYusKtL0Xdx2U01Pz1f9/UnJUP10bJPsXFNcEFtU/GBE1/bOTbf2Q2Anh4
hy6PGkQq23/9Ku2T28NFpOY3gSsy9c2PM354+ykvvvumSd4vZIoM+lOvqBe2yEI92dOG8bLLxVTh
nGhPNsjzThbeP+chvp+PB5Q0aqp7+7qwlLL2439KAZxsskEGRPD+z0Zc23psfY22IDDqj9UuO17M
/d6eveoV940bpr4gPO/3WZV+aVTyY8cjbz26ofU1gxX8+wje/9m4Kdonlaf/92C6Fd/i7hs3TH2k
8OgDfdo+RnuRo4pKfuz4ZBM/bp3a/+OCM/oFA7lG7hs3TH2B37VMWPbohkuXBmDhjkW32R12j7LJ
QQd9OO5scsAihO5FJAkkaaOQvfnGHZ6vj+8Q30Ao1vs48r6fzxXXVzcxBvt0FvpM8ecCSE98e+Gs
3EN/VLtd5fHJd5eTogYTdIgEyAF4+vEADyat6eb1rdfcdfE6AADQijroZ2obHwtxG+LHAzAM2QE4
l0TtoZ78mAc9QROyE7F8rlImOZpXMfjhccM8eNPZxH4ZCQCBwzycnRgd9W0nlZp4PXpc5MezQvxd
WUwaIZPLy67VPbM932Asf9L0mB3xg31dmKRSdbup9d2v/jh0Q9qnjdhrYg+Qt+hnBhFiZ6B7mq3v
gG4dyi59YQ5/PlTpnWYEvzHZufTH4zXg9NWao83tEfbrXv8IjPpjdVhL+po1mks/xi3YklzHNzxv
6QGZFw049D725uLdspFrjmxbc0IKAOCf9OqKEVd3fJBxAwCgWjq2a8WBXCOZFw1K09fs6byKxz/p
1RVfJF9/wMpw8O6l+zgy+lxyBDY76KAPx51NDliE0L3LNiG7Ghpr6sUjfXmzvdmpIk3OeuykQA8O
cTWvhDZqsK5m+P18NyeGvL3511vOxlko1+UNr7z1NkPtWgRBADBtCBeAvF1dW6M27qfTB1/89zRL
XC4bDOBu9Ffif5dF/xjB5/vxAa4DAIDf4EHsjub6k0rXyJttYV4+Tzzmt//nWwAw5UFvLkDNzRoh
AAA8/8+EtbFeTFJxu6biTrP8vtDgyPDAkxt4D2/I1EXtdLbzsumDOlrrC/+64T44eIiP+0evTuG+
c3K/SGbUE3vRG//TDfsFRv2xevD/Tre9MNkPAKDwvF/BkLoF2seaby9TL+wvnEu5laVzHkuOO/u9
bqA0jj8RSr/I9WuG4Oe3jLi29dilGpO9ct+4YerQEz8uOKP5Pq7a/+OCM7oR+kvQOSjb/qUDjfm5
b1wS5py7443fx2ZrLgNprE4v/SF52MbAqvU1wfs/Gwe6YeO4CXULIOXF3O+7jDFTq+O+ccPUWV4A
8Yl1ntR7Z907fj+1kSG66xh2ofk27aRZFrGPOrwkvBSgCSVj92my8Nw3bngACql1bP9y69Whq3W7
jW5gtf3L020vTNZsTPPlJtfXoH3DfUmi0PUEAKQFmaXHEwZHpTddAnPvZvD+z0Zc239r6oKwEKoP
/b1/dr8b6K8jgO63C1NH1qWe7xWBUX+sDtNNV6b9PWTAV7+bgw7MvO8m+2l03JleR7111/u86nrA
IoTuRW1tbdevX5fL5T2sz+fzwdaTPDJ+KhZG+IbOeDww9asyquj5GE+aUvLr8cakUZ31ogVuTgDi
jo58tcnRBuff2nS13X15TADF9WrTo9flsqBy8xFydm61ZNYIZzfXQIAagPhpQ1wYtFs3a4RAZBXV
z4/yCx7mA3ALABIDnAE6LvxeSwKDwfZ/OdqDoRb/+unOPTWsFjXhw2xJWfHi2EDPvUvCHt2tWTU6
g9lUc/HN7f+rVHK59GPLFi18ZOSQlCWj928928vt1k/cN26Y+kJj+prU8wAwbtGW4xvg0Q2XLhFi
Z3B+wff3NWs+hnGLtySPq6MdW7PmY/BPenXFyI2BVdQXUmLpjjWpNwDAP3HN8Q1R/RuoKWqzSmHp
/cFwRvMdNv/++6D02F4F6A3XmezVn4Wl9S9QL/RnOdfXC/zdAZrG+TrXl16siYsvmVyXvmbXeQAY
9+yW1ROumsoXinaqjWAJDQqL5fxzHQH9tb6BgxO96y//11UbOgCAe/bvP68531HQHgEg9gAA3ZFB
lwCAJwDETThuuDonD32wI2LVihFXd3zwEwsgxNp3XLORDcew/3eRatPczmCHTWeWzIvmPGtkyY41
H98ATkF7wnua3SZ4/2fjBLk71mTcAP/HX17xAMA1T7BQbm7nN2jf8vg955KSAYTEBcDsuwliD3Ce
soD1zZo1XwKMW7zlhSVRh9b351HW/W6gv47gn/TqCnNHFnj1+CMieP/qMIl2YHvc4i3JCybMP5P7
/cCvfjcHnZlPS9P9/LPrcXe/mXXUrbvuV5dbXV9oPMyEEELdsNm87IePV/x7YvCQQD8PKGsEAHAf
5cURN9SmizlJetWcCDUAkEC0mm5Gn4wGJAAoSSaAotvaBpqU9aIW2VB3TgKb2Ccj54wcxNTG5Xl/
VrXPDnfzdA8EqAG3ABeWQtJ+slQNAMlzQrxY9Iaq8s3l/tTQfpHcV/rtlW/fSBgaMkS7akCqJce/
vfiLJJgEAPAR7s4bv+VxLx/3eL2rXQeEx6xVc2Z1KbkGABA4OJFfmr61cZ90LABkf5U+clvyG3GX
5t0CACi9UruvdSz8Xrk4eThQj692LAC3Mf4AQ8Jf4Jd+857rPtlYABh06MfRa59/I+7SvDNGS7YZ
973Hcmf/+z5tbkxwckR97ke11fpfaXGme7X0ZhOEs6MAYIibsL4+ks8FgEg+3L4sb6ZLAGilrWP3
AcDvh+A85IGJexNQ8aV+6NnvQac/dwg0pVVyuhQqQvZZ3sFNrU51u6cQIEwVvE8qsf4d145uasew
3TfOm6DO/Wpzhbu5zU7tDHbYdBbVX732aevYZv2iOP6U+tx3D7ruk42Fq/muuaFvTLBcbml9TbRv
WvD++UPrf/+hELpJgChNP7CzdWw1QHZBafI89jiA/v4Fo9vdQLeOg240rRhh5siyuJW6uvjVmnSQ
aga2swtKk4czdGl7A7r6lg86c8fOGZP95OzSP+7MrWMcfwqUfvH72H0KacH7awIVEQCcS11eiBBC
vWDjWynVietqGyQR3i7zvdmfimQjxwd58WgV50tvkl2yGpVKssezsqjVfZrAhUpn95ia4L3vN/EY
b45CIqbi8hZl440myShf3mxv9l7w9nBmSW43Z6tYABDvyyYAlEyv156J0zVEI2hqpZrNZY0BOAUA
AAqp9KReYk+VTFLfLnf3ZOlf7Tog6nO1Gb0A1OCYHwCAP3dIvehXqSbqrZbSr9XD/f7ucAsA6q/d
cAcAUHAlUF9HPVYzFQAMGkT5cQGGPPPh8Gf0lnHb3x2gHxNzqytuFNRP0OTGxPHj6iv+VdFlCCrK
33Svmn+qKH0yfBwA8Mnrl5p9p7hEAQz1Kv0jjwOQm/vwwrWfDV1r4vLELvRDz4EIOmkqAJpE3ctX
/dnd6lj7jhuISo55gch99yD7ktrsZtftDAO96Sy6fVPeDF1isih/F6jv+K+MAwCg9vvvjaY3gGax
3Nz6yky2rzNm/py6+XrPS9OXHjJbWUeiCKkGAIBqNQNA1U1tG+h+N9CtY3Oe2SMr6glzW8mYe3br
2K4XfV7T/W1AV9/yQWfu2OlRP02vY5S/C9TfOasAAM6l9rH33rXICKF+YbOQnSR5J6ubInwCkh7x
+XT/9ecneDGUkqO/3iahyyQPlwtuyyb4M5044QAl3TTZImyTDXZ2HhLoCmesGJYgjl28PWMEf+gw
D4+Lrj6ubMntm1RcDsA7f0c8ytdlyhTvMpmXE5DXaq5RYchQFzYA+PoHzPY3ao/BCOx8Qmvrktjj
JCcBgOB7EVDe+55aTz+jl8rxpYpVAIy2zmqsDgAaQWUR0To6J5/XfwwA4EKQBmcBANAki4Du4o8+
Uct/Kan/5P5gOFM1//776kvOnOyaNGW2VwqXa/VukYHuwG8oPdNy3zzvcYEQUN+6UwEAxOb314ym
UT9Vz6lbYClfVhdrDkTQeauxHkKHBnYObwMAgHtUYNMlC+m8iu5Wx9p3vIvAqC8mu5b+ePG/Mj/o
2c4woJvOIgVpuIu6ECSQTN24eLP2+nVL5abX19Nk+zq6y0/HLd6SPLw0/cvGX2QOmPbQ/W7QuY6K
DnNHlvmtFGjUniaQvU3lII1bvCXZTjfbtnzQmT12mIbtmGB6HV0IsmubCCHUNyQBJGHDz1Dih0NX
n4sOCB4WyIC2WF+euKH2x3aeQaWS0psS6WgPZ+50b3aJiYs12cfefiSIqT74659v5tSfu90W5ecy
OMgfwHjudYifFvvVdB9RXf2crbm3THUo988b0rkCDy/PuAkq/bgcAH79vfapKD+/AO9/gCsdOvJO
3gFgA4BI3AHerNLsb/ccKzZqj3MSzKWxOrHpNABVXXUbgAPMlXCrsd7LezhArua5e4AXCOsaAAZb
fBkU1jVAvP9tKgFj4HBOnquoTxk8P9D1/yLqC1INRyjN96rteAn5dPTgwdC8TtE2vN4tMhpoJUV5
QNcNbmV/ueY80z/p1RWJ0e7rzU+HPHARZ9W1gvroh6LdQb8zgYO/WD21wtKvASZXR+/wsfYd1+O+
cUlYYGn6k7l+VDjbw53B7sG6OYV1DSDwiAIhNcYZ5ecB0NhN+XXvZgAAIABJREFUuVU7v+7y0+wv
18ALW5K3uZ65myZaNcn8kdXzrRTHn1Kfu+ODjCuyiF9kY0HB2DIAHTfJ8kFn9tjpwe3yzKxjYV0D
xLvrtYkQQjbQ17uf6rvefqOuUezs7vLcaH9PHq32qmFWDACIVc1nbzQCOD25cJTx6cIwQdgwd5YL
V3XzQi0A7P3hr3alytPPd6m/8RAXsSJmkAuLyZLVmQvEWpSiO81SDo+3KFQXl2sUlF5vE8tdB7kL
BrHlYknWbU1frrXIAOjO/g/sax2r+3eE/c8177776qp/6c4/mBz2CL0brzLY3p4uTKVMVnSntxkP
/aPqWkF90OYXg6ln81+Mi67P/S6v+5Hy5rwzufVBmzdo758bN6Hus8c2Gg+f2VpzZf6vpfclJ7EC
Ss98UGnYT/O94py82RA9OYJZci0P2krryYdGBglvyps1dSbMB6iWjt3nPjnYq76kwORp3YBTyz/4
Lpc5eeofybqB2OD9qyMCS9O/OgcAjXX1MCaKeuPcN04dqqnS7epY+47rRCXHvOBdmv5lo+4SPXvt
DLbSnHcmF0Z+odnOwW8kuHdf3rf1rZaO3fZlein4pWreCDPv5l3A7JHVi61EV4CX/+3Wsb/IOBAY
9cf8oQAeQ+2y/1g+6Ppy7JhZx+a8ilIImh4HABCV/FidtnGEELIOlctuy5CdJJ1/vdZIY3BeSPZn
abJijHH/syuvVa7yDwk4uHCEftTOc/H95pmhPBoIrxX+LHECgKr2239cE9EYnFUvxye46NclVixM
eGCws0re+uPuc+anQ+dcrpeweNyRfK68Xfy/250tiFXSa00SFofn68JsbxLlaTMxfsooaleqfAMD
XhmqG2JhfL4sZBCNJq+/phvqJ2icpS+N1TZHfPBSxCAGvelW9SnT0+AMOLX8g/d35PqOq/tsTt1n
c1J9c3e8f/GnnlzBqyA2v78jlxZ2/LM5dZ/NqVvglLtj26Hafu8vqP12FpTGCYJKC25fMj7rMd+r
5ryKUgDhTXkzcK4IYYg3lcgOcO6b9FK/VKr+6oim9E+NzwTshHOp7OK6NemSyVOpd6eOmr1EEyu3
ffJ+emkE9cbFeGXlam4CbHp1GrJK6vnxiXUvBlv/jmu4zx/pCjA8edsL2l7N+WOml312BltREJvf
T2/TbOdh7bmlUN94rZvyvq5vtbRxfXopRI6rezHY7Lt5NzB7ZPV8K/2Znl4atFmz07Jy16SXgvtQ
44TDgWDxoOv1saN33JlbR0Xt+h25IQvm1H025/jkuvQ9Fw1fiBBCvUf4Lk/ry+u/fnVqYoh70Z/Z
U78RAkDkYJ/DbzzEpRHt9dcnrf/zBkkAwP82JQq8GEf3n3zujAQACKLt+ZiQ1+Y/5MyitbZ1lNxo
vNGmDrvPI9SLy2FA8+3y1VtP/SLzotofxq7/7NW5giGepFJVW9966Xor04U3xt+N78Ik5ZKzR358
6TTnttFYvk7ihOGfPTWKBdB442rsu1f0p6l59ZkHUh4IIEB1+fTxR9I1ufIsWvPWZx6eExNEqBQl
VY1XG5Vjh3sHurHk7aJ3Nh/6qtUDgPvXfx724TCARtwRteRXtQ0N9gr35ijaRe+9k/5Fi1dfNmYv
NcW71jW3R3TGuLS6fzhLL7dS10tJo5yLR1NnZOrBh9v9mjUVmmo0L9F/eVO8a6V23gO9FwKnQL/9
fsWsXMhpqpaO1ZuITb+H5nrV2fNB7OKZbKdszepDEOdCvDYZtWuzjqAp3rUySPdEFvGLjGP0J06B
1D2Qo3lDTa7OIHbxTLYUFCH7pO7WvuNUYTBwdZtXv1dgn53Bsi4rBdSKD5Lp3mLD1QwCAOAUjF5w
fGrrnLcqcsFCucndzKB9fab+xKxcyGnSvikm3039w42qD7r9tl90vxsYr4jZI8vMVtI129m+3k7r
nt3qHti5yw3s6uutUZDuSZeDztSxY/5t0j/uzKwjtc1vuWvKNWvX9YBFCN2LSrc80tt52aP3tj/O
rWYw2TYO2Vk0afbbyUHunPKzJ+P3tVCj7AYhOwC40Rse5hPLF/wj0M+T48SiAahVSnF7S2Huya9O
38mUDu7oXIJylFPtoikPTZsw0oXHYTHoAKRc1tFwq+rg/sPposGlSq6F7rkx2Gf+M92DTejH5ZTI
wX6/vDmBA9Ldb/+8tq5zAD6QdWPB+Kj508e7uXAZNEKplLeIrn/96U/fNAU2kgQVsntAa/aZmzET
Ilw5TFKlaBLW6FVACDmAuAl1C1y01+m6b9w4ddbVHx76nt5srtze/UUIIfS3Z13IPpNji5A93Kky
htVU1DHsvNwVAABU47lXRzBkRR1Dz8vdqDrjOMUCpjJfElaidNK9kEFIBGxREKPFlaagAahJeqPa
pULuXaZwNUqnIf2Y9cNZDT40qROhBiA6SHatwuOqzKeR7DaxR/ywc/lgGnlJOqxA0eVyIhatMdG5
yhXYOe3hVV0TWjwYDaPYwiF0KQNIJcm8qfT8q2NwiyYc70jglfHB+bycO4It9KIpSJJRq/TSq4AQ
cgDMyrVznl8xwYN6dvP3HZsOuf4i45gtRwghhPqZPUN2hBByTJo8BADomghhrhwhhBDqV9aF7P9w
qmaw2HaaKBchhPqZ9pauPS1HCCGEHBEJQNp0xhiEEEIIIYSQjWHIjhBCCCGEkMOy/bzsCCGEEEII
IVvCxBiEEEIIIYQcH4bsCCGEEEIIOTQM2RFCCCGEEHJoGLIjhBBCCCHk0DBkRwghhBBCyEGRJEmS
JIbsCCGEEEIIOSwSAEN2hBBCCCGEHBU1ys7430sR9u4JQgghhBBCyCSSBDVj6NChpBZoA3nt30m7
9g8hhBBCCKG7CUEQugfUY0JLLpdb0yKpBiAZVBO6qJ16DADUY9v1HyGEEEIIob8/XaQOevF6H9tk
0Gg03Wg6Fa9TjeIQO0IIIYQQQr2lP9AONonaSWDoN6o/so4hO0IIIYQQQr2lH53rR+19aZOha0g/
K8ZgYQghhBBCCKFeMciQsb4hEhhg6lQAcJQdIYQQQgih3jOIzm0yDs4w1wqOsiOEEEIIIdRHfQ2q
SUKTy04NqBs0h6PsCCGEEEII9ZbJGL1vgTthmBgD2mAdR9kRQgghhBCyjm1jaUZ/LwAhhBBCCCFk
JZIEkmTgLOwIIYQQQgj1n75NF0OCbpQdR9YRQgghhBByNCSoAdQ0e3cDIYQQQgghZAGJITtCCCGE
EEIOikYAjQAM2RFCCCGEEHJQdBrQaQSG7AghhBBCCDkoOo3AkB0hhBBCCCHHRacRdDomxiCEEEII
IeSwCJIg8PJThBBCCCGEHJcaQIUhO0IIIYQQQg4L52VHCCGEEELIoakB1Ax7dwIhhBBCCCFkmlot
VyoBQ3aEEEIIIYQclFIhI0kcZUcIIYQQQshRKZQyklRhyI4QQgghhJCDUik7SDUDQ3aEEEIIIYQc
lFIpp9ExMQYhhBBCCCFHpVYrAfDyU4QQQgghhBwVqVaqCQzZEUIIIYQQclQqlYrAUXaEEEIIIYQc
FgkYsiOEEEIIIeTA6DSCRiNo9u4GQgghhBBCyDSCAAzZEUIIIYQQclx0GkGj0zBkRwghhBBCyFER
QAPAkB0hhBBCCCFHRZJqksSQHSGEEEIIIQdFkiSQePdThBBCCCGEHJWaJAk1jrIjhBBCCCHksEgg
MTEGIYQQQgghx0USADjJI0IIIYQQQg6LJIAkbJnL3nqr9tSZym8utfzVIJMBABChnpxZUfwnp470
G+RkwwV1SyGu/+Vg0X3jR0UPdx/I5fZW4/Wa7Pzqby61FLfIW5UkABHgzor2d1v0YMjYUQF3y+nU
n79kPXFcBAAAvDOfTQ+2Rx/Uipp/rjz3/+zdeXwTZf4H8O8kaZs2vdL0pielact9lPsUUVlOgQUX
XHddwGNZXVf47aJ7euy6uirIqriuwurqgoKAVkAQRBSKIC039KSld9o0TdI2ac6Z3x+TpGmb9EpL
I3zeL1680snMM888edp855nvPHPcwhFRhCzs8PN3xrhaa/+HRx461UhERKKPfjktQVMyZWc5ERH5
7ntixqSB7i2l5y6+caxiT0mLkUgoEg4JCX7/+TmJ/b5by9WTl7afrtlf3tJo4YQi4diEwIczE+6Z
le7Tdj3W3JR7/Npr39V+ozBaiYmX+v9yatyyu0YE+7jtqorLF+a+VVRLlBgfceDpWbK275p19Ye/
uPrv85pzapOVKFjiOzkueP28ESNTw/vjOHtNU3btvlevXbJwRPTGyonLpie4W/P8oRMLsxRWop78
LgxY+7PmplNHLr97TnW82mAk8vMVjYkL2jArdUpmolf98em0/dnrOZffz67JKm2uNXH8l87qyV00
CwDAD01fhuwt32SdfeJoXa2Fc1rIFav0/zh249VvK/88L3Xt3OE34S8oazZcyr74+KcVxSaffRP7
f3+913J8z5kHv1Ia2yzkKtTGCnXd3st1QwYVbvvFBHls0ABV7wdG4BN//4T846caiUipaiy4UBsz
OqrdOqy5KutiM/86KjIkbUREy4mSm11R98q+z5n7Xmmj/UerxWoIEAX2805Zc/07//r+mTydY4nV
Yj1boj1bcnnq5fo3H50SZY97WHP9a1tOv1zSYl+Rq1Drf7+/8P3L6o/Xz4hyHR5p935VWetm1/q6
67/afPGQ1upY0qgzHS6oP1zw7TOL5A/dlD8X3aPdsa/kUpu/bK5pyq49dbDW2uV6Tgaw/Vlz/T82
ndpS1voXyGiynC5RLy85u6qg7vn7xwf05ED6Uyftz36X9e3yQ0qnNueKVfrf7y98O0f54aNTh0T6
36xKAgD0qz5LjGnZ+/6J+w/V1rr5VrNaLH/Jyn91/+W+2FcXyk5f/NGu8mJT19+vA6plz/ZvV7aP
19sormpY+PrJiyXqm1ep3pq0aFbN1uU1W5fXDNAQOxERCYYPCZPYXlsOFlV3XKM8V3FMx/KvfzEh
OpooefpEe80XD/gQ+7k8JR+vSySBR/84t2brsi9/OV7WxUYeYr/99KJzvOgsO6/mtU8vsvY1vztw
2SlebFVQpnxu1zm24xtkOfnp+RcKXWxCRETa93bkOcfrTqzPZF3/vsBbev6Z/RfcH4Uz9TsfFXcn
sncygO3PfrnrnHO87oTbkV3+hdeczXbS/mXfn3uwTbzu9JZC/df9lwz9WjMAgJuIYfoiZD9/KOfX
Z2zfvX6+/u+uGlHw8pKarcsLnp32xiSpn20tbsuXZefLtJ7v7hZw/lDOEzm24VShSPTbO5PPPvuj
mq3Lq7YsPPFQ+qpBtjZr1DY/8vGFWrOrr2PoIGnSoLsktv6893tlRfv32SvFDfbgyG/6sEE3sWrd
wlpt0V54mH90bBCRIDhU0vkmHjKoS7ecsEXGidHSr56aU7N12bnHh84OEfILPzihKDWz/JqvHFPx
C2ePjL348pLyl+e8lhnML9mbXXOpsrnNsZib9v/v+E++dB1OEZG6uGKnPQ5LS5R989Scmq3LTq5O
SRMxRERk2nvpRt8daO/VXru00f1ROGG/y7roJgJ2awDbn6jqgzO2P0HBIYH7H59RtXX5xSeH2XfN
br9c4w3xbuft7zjLJRL+fcnQki3Lyl++4+8jbZemDucoS9Q9+0QAALyVgGEEnibGsOaKt76q4/+k
BocEZz05I81+LTI4ImbZz6JiQ20XLq2Wlj05pWMSRztt25R7/NqbZ+r4TMpgie+cwaGPzBnWLpO1
9MQZPuE4MT7iwNPTqo6fe+lbBZ/NOXZw6NOtmZfqF//+7ZYKk30705ItR4loembCrtWOFJk2aaN+
vqJZySFrp6a0y910Ss5uk+KsKrg8f0t+GRE5pVTu2X7wsRwdET0xN+1HgbrHvqgp1lmjgv033pOy
8o6Mji1mUJdssbeYUOT30UMTpo2I5t8S+IiHjBnx8vC44e989/srOiIqq1Dt+Sp/3dyhjioJRYHf
vHpPitN18JoL5+/5d7GSiEjwnwcnz50Qyy9vrC7b80XRW/mNFTqrUCQcmxD860kJM6fJnRJky1es
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
"
       style="image-rendering:optimizeSpeed"
       preserveAspectRatio="none"
       height="212.02832"
       width="219.69937" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5274-8-6-7-5)"
       d="m 595.90413,398.08621 10e-6,-33.39285"
       id="path5272-7-4-2-4"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5302-0-9-7-7-6)"
       d="M 534.72767,365.82626 420.30501,434.93302"
       id="path5270-0-9-2-0-53"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <path
       style="display:inline;fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-end:url(#marker5302-0-9-7-7-6-8)"
       d="m 228.84532,348.8328 12.46187,49.84749"
       id="path5270-0-9-2-0-53-2"
       inkscape:connector-type="polyline"
       inkscape:connector-curvature="0" />
    <flowRoot
       xml:space="preserve"
       id="flowRoot4230-55"
       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       transform="translate(-20.16739,-91.254775)"><flowRegion
         id="flowRegion4232-1"><rect
           id="rect4234-5"
           width="188.57143"
           height="34.285721"
           x="521.42859"
           y="205.21935" /></flowRegion><flowPara
         id="flowPara4236-68"
         style="font-size:22.5px">multi-area web</flowPara></flowRoot>    <flowRoot
       transform="matrix(0.11890794,-0.99290529,0.99290529,0.11890794,-227.17711,1076.0558)"
       xml:space="preserve"
       id="flowRoot4230-8-8"
       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       inkscape:transform-center-y="0.6888992"
       inkscape:transform-center-x="3.4259773"><flowRegion
         id="flowRegion4232-46-4"><rect
           id="rect4234-30-1"
           width="176.59036"
           height="20.865274"
           x="521.42859"
           y="205.21935" /></flowRegion><flowPara
         id="flowPara4236-6-4"
         style="font-size:15px">direct read and control</flowPara></flowRoot>    <g
       id="g19871"
       transform="translate(0,87.233115)">
      <rect
         y="320.43707"
         x="175.52585"
         height="182.54306"
         width="239.18793"
         id="rect4881"
         style="fill:#bcd35f;fill-opacity:1;stroke:#445016;stroke-width:1.8534621;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <flowRoot
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-3"
         xml:space="preserve"
         transform="translate(-328.31553,121.72999)"><flowRegion
           id="flowRegion4232-81"><rect
             y="205.21935"
             x="521.42859"
             height="139.6452"
             width="279.20322"
             id="rect4234-6" /></flowRegion><flowPara
           style="font-size:22.5px"
           id="flowPara4236-3">multi-area control:</flowPara><flowPara
           id="flowPara4910"
           style="font-size:22.5px">- contours</flowPara><flowPara
           id="flowPara4912"
           style="font-size:22.5px">- sub-runs</flowPara><flowPara
           id="flowPara4914"
           style="font-size:22.5px">- file/vcs sensors</flowPara><flowPara
           id="flowPara4916"
           style="font-size:22.5px">- events</flowPara></flowRoot>      <rect
         y="446.1608"
         x="176.39276"
         height="55.511982"
         width="236.7756"
         id="rect4598-37"
         style="fill:#d3bc5f;fill-opacity:1;stroke:none;stroke-width:2;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
      <flowRoot
         style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
         id="flowRoot4230-6-7-1-4"
         xml:space="preserve"
         transform="translate(-358.53963,247.54394)"><flowRegion
           id="flowRegion4232-8-9-2-1"><rect
             y="205.21935"
             x="521.42859"
             height="52.412083"
             width="264.47556"
             id="rect4234-36-4-9-7" /></flowRegion><flowPara
           style="font-size:17.5px;text-align:center;text-anchor:middle"
           id="flowPara4236-0-4-9-8">configs and custom automation</flowPara></flowRoot>    </g>
    <flowRoot
       xml:space="preserve"
       id="flowRoot19887"
       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
       transform="translate(-24.923747,28.32244)"><flowRegion
         id="flowRegion19889"><rect
           id="rect19891"
           width="704.66223"
           height="84.967316"
           x="55.511982"
           y="19.159592" /></flowRegion><flowPara
         id="flowPara19893">Megatest Full System Architecture</flowPara></flowRoot>  </g>
</svg>

Modified docs/manual/megatest_manual.html from [9d96457d70] to [453b3aeb82].

808
809
810
811
812
813
814
815
816
817
818
819
820




821
822
823
824
825
826
827
828
829
830
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
864
865
866
867
868
869
870


871
872
873
874
875
876
877
878


879
880




881
882
883
884
885


886
887
888
889
890
891
892
893
894
895
896
897
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
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033


1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101

1102
1103
1104
1105
1106





1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173

1174
1175
1176
1177
1178

1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233

1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
</div>
</div>
<div class="sect1">
<h2 id="_why_megatest">Why Megatest?</h2>
<div class="sectionbody">
<div class="paragraph"><p>The Megatest project was started for two reasons, the first was an
immediate and pressing need for a generalized tool to manage a suite
of regression tests and the second was the fact that the author had
written or maintained several such tools at different companies over
the years and it seemed a good thing to have a single open source
tool, flexible enough to meet the needs of any team doing continuous
integrating and or running a complex suite of tests for release
qualification.</p></div>




</div>
</div>
<div class="sect1">
<h2 id="_megatest_design_philosophy">Megatest Design Philosophy</h2>
<div class="sectionbody">
<div class="paragraph"><p>Megatest is a distributed system intended to provide the minimum needed
resources to make writing a suite of tests and tasks for implementing
continuous build for software, design engineering or process control (via
owlfs for example) without being specialized for any specific problem
space. Megatest in of itself does not know what constitutes a PASS or FAIL
of a test or task. In most cases megatest is best used in conjunction with
logpro or a similar tool to parse, analyze and decide on the test outcome.</p></div>
<div class="ulist"><ul>
<li>
<p>
Self-checking -Repeatable strive for directed or self-checking test
   as opposed to delta based tests

</p>
</li>
<li>
<p>
Traceable - environment variables, host OS and other possibly influential












   variables are captured and kept recorded.
</p>
</li>
<li>
<p>
Immutable - once this test is run it cannot be easily overwritten or
   accidentally modified.
</p>
</li>
<li>
<p>
Repeatable - this test result can be recreated in the future
</p>
</li>
<li>
<p>
Relocatable - the testsuite or automation area can be checked out and the tests run anywhere

</p>
</li>
<li>
<p>
Encapsulated - the tests run in self-contained directories and all inputs
   and outputs to the process can be found in the run areas.
</p>
</li>
<li>
<p>
Deployable - anyone on the team, at any site, at any time can run the flow


</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_megatest_architecture">Megatest Architecture</h2>
<div class="sectionbody">


<div class="paragraph"><p>All data to specify the tests and configure the system is stored in
plain text files. All system state is stored in an sqlite3




database. Tests are launched using the launching system available for
the distributed compute platform in use. A template script is provided
which can launch jobs on local and remote Linux hosts. Currently
megatest uses the network filesystem to call home to your master
sqlite3 database.</p></div>


</div>
</div>
<div class="sect1">
<h2 id="_road_map">Road Map</h2>
<div class="sectionbody">
<div class="paragraph"><p>Note 1: This road-map continues to evolve and subject to change without notice.</p></div>
<div class="sect2">
<h3 id="_here_is_a_smattering_of_ideas_for_megatest_2_0">Here is a smattering of ideas for Megatest 2.0</h3>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
Add variable $MT_RUNPATH = $MT_LINKTREE/$MT_TARGET/$MT_RUNNAME
</p>
</li>
</ol></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[db]
api legacy|new</pre>
</div></div>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
One big lesson from the 1.63-1.65 generation was that the main.db, 1.db … model was really good at scaling. I’d like to combine that model with the current also-very-good model. Obviously this is a disruptive change. I think making the old model the default and the new model an option for at least one generation would be fair.
</p>
</li>
<li>
<p>
Rigorous megatest.config and runconfig.config caching.
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
Cache the configs in $MT_RUNPATH
</p>
</li>
<li>
<p>
Following invocations of –run, -rerun* will calculate the new config but only overwrite the cached file IF changed
</p>
</li>
</ol></div>
</li>
<li>
<p>
If the cached file changes ALL existing tests go from COMPLETED &#8594; STALE, I’m not sure what to do about RUNNING tests
</p>
</li>
<li>
<p>
!VARS in runconfigs are not exported to the environment. They are accessed via rget as if the ! was not there.
</p>
</li>
<li>
<p>
Per test copy commands (crude example below is not correct).
</p>
</li>
</ol></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[testcopy]
%/iind% unison SRC DEST
% cp –r SRC DEST</pre>


</div></div>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
Test management via pkts (optional?)
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
Control pkt types: run, kill, rerunclean, clean, archive, status?
</p>
</li>
<li>

<p>
Status pkt types: ack, step, status_change
</p>
</li>
</ol></div>
</li>
<li>
<p>
Add nanomsg as a transport option
.
</p>
</li>
</ol></div>
</div>
<div class="sect2">
<h3 id="_rfc_m01_add_ability_to_move_runs_to_other_areas">RFC M01: Add ability to move runs to other Areas</h3>
<div class="paragraph"><p><strong>Purpose</strong>: allow shrinking megatest.db data by moving runs to an alternate
 Megatest area with same keys.</p></div>
<div class="paragraph"><p><strong>Method</strong>: extend db sync to take a different megatest area as a destination.</p></div>
<div class="paragraph"><p><strong>Design</strong>:</p></div>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
add param -destination [area|path]. when specified runs are copied to new
  area and removed from local db.
</p>
</li>
<li>
<p>
the data move would involve these steps
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
copy the run data to destination area megatest.db
</p>
</li>
<li>
<p>
mark the run records as deleted, do not remove the run data on disk
</p>
</li>
</ol></div>
</li>
<li>
<p>
accessing the data would be by running dashboard in the satellite area
</p>
</li>
<li>
<p>
future versions of Megatest dashboard should support displaying areas in a
  merged way.
</p>
</li>
<li>
<p>
some new controls would be supported in the config
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
[setup] &#8658; allow-runs [no|yes]  &#8656;= used to disallow runs
</p>
</li>
<li>
<p>
[setup] &#8658; auto-migrate=[areaname|path]  &#8656;= used to automatically
   migrate data to a satellite area.
</p>
</li>


</ol></div>
</li>
</ol></div>
<div class="paragraph"><p><strong>Branch</strong>: This work is taking place on branch v1.65-reduce-records</p></div>
</div>
<div class="sect2">
<h3 id="_rfc_m02_move_data_into_completed_runs_db">RFC M02: Move data into completed-runs.db</h3>
<div class="paragraph"><p><strong>Purpose</strong>: shrink megatest.db data to enable lower load and higher performance.</p></div>
<div class="paragraph"><p><strong>Method</strong>: add a completed-runs.db and automatically move runs data from megatest.db to that db</p></div>
<div class="paragraph"><p><strong>Design</strong>:</p></div>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
completed-runs.db is a full megatest database with complete schema
</p>
</li>
<li>
<p>
the data move would involve these steps
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
copy the run data to completed-runs.db
</p>
</li>
<li>
<p>
remove the run data, first from /tmp/…/megatest.db and /tmp/…/megatest_ref.db, followed by megatest.db
</p>
</li>
</ol></div>
</li>
<li>
<p>
accessing the data would be unchanged for most operations.
</p>
</li>
<li>
<p>
a mode -full-db will be added which when specified would attach the completed-runs.db to megatest.db before doing the query
</p>
</li>
<li>
<p>
mechanisms for moving runs to/from the megatest.db would be added
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
-reduce-records &#8658; move runs to completed-runs.db
</p>
</li>
<li>
<p>
-restore-records &#8658; move runs from completed-runs.db to megatest.db
</p>
</li>
</ol></div>
</li>
</ol></div>
<div class="paragraph"><p><strong>Branch</strong>: This work is taking place on branch v1.65-reduce-records</p></div>
</div>
<div class="sect2">
<h3 id="_rfc_m03_automatic_homehost_migrations">RFC M03: Automatic homehost migrations</h3>
<div class="paragraph"><p><strong>Purpose</strong>: Automatically migrate homehost.</p></div>
<div class="paragraph"><p><strong>Method</strong>: Check that there are no tests running, launched or remotehoststart in past ½ hour then if not on homehost migrate the db to current host</p></div>
<div class="paragraph"><p><strong>Design</strong>:</p></div>

<div class="olist arabic"><ol class="arabic">
<li>
<p>
Check that the system is quiescent, i.e. that there are no runs in flight or recently run
</p>





</li>
<li>
<p>
Create a lock
</p>
</li>
<li>
<p>
Migrate the /tmp cache db to the current host
</p>
</li>
<li>
<p>
Update the .homehost file
</p>
</li>
<li>
<p>
Remove the lock
</p>
</li>
</ol></div>
<div class="paragraph"><p><strong>Branch</strong>: This work not yet started</p></div>
</div>
<div class="sect2">
<h3 id="_architecture_refactor">Architecture Refactor</h3>
<div class="sect3">
<h4 id="_goals">Goals</h4>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
Reduce load on the file system. Sqlite3 files on network filesystem can be
  a burden. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Reduce number of servers and frequency of start/stop. This is mostly an
  issue of clutter but also a reduction in "moving parts". <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Coalesce activities to a single home host where possible. Give the user
  feedback that they have started the dashboard on a host other than the
  home host. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Reduce number of processes involved in managing running tests.
</p>
</li>
</ol></div>
</div>
<div class="sect3">
<h4 id="_changes_needed">Changes Needed</h4>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
ACID compliant db will be on /tmp and synced to megatest.db with a five
  second max delay. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Read/writes to db for processes on homehost will go direct to /tmp

  megatest.db file. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>

Read/wites fron non-homehost processes will go through one server. Bulk
  reads (e.g. for dashboard or list-runs) will be cached on the current host
  in /tmp and synced from the home megatest.db in the testsuite area. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Db syncs rely on the target db file timestame minus some margin. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Since bulk reads do not use the server we can switch to simple RPC for the
  network transport. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Test running manager process extended to manage multiple running tests.
</p>
</li>
</ol></div>
</div>
</div>
<div class="sect2">
<h3 id="_current_items">Current Items</h3>
<div class="sect3">
<h4 id="_ww05_migrate_to_inmem_db">ww05 - migrate to inmem-db</h4>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
Switch to inmem db with fast sync to on disk db&#8217;s <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Server polls tasks table for next action
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
Task table used for tracking runner process <span class="red">[Replaced by mtutil]</span>
</p>
</li>
<li>
<p>
Task table used for jobs to run <span class="red">[Replaced by mtutil]</span>
</p>
</li>
<li>
<p>
Task table used for queueing runner actions (remove runs,
   cleanRunExecute, etc)  <span class="red">[Replaced by mtutil</span>]
</p>
</li>

</ol></div>
</li>
</ol></div>
<div class="paragraph"><p>shifting, note that the preceding blank line is needed.</p></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
Megatest. See the script installall.sh in the utils directory of the
source distribution for an automated way to install everything
needed for building Megatest on Linux.</p></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_getting_started">Getting Started</h2>
<div class="sectionbody">
<div class="openblock">
<div class="title">Getting started with Megatest</div>
<div class="content">
<div class="paragraph"><p>Creating a testsuite or flow and your first test or task.</p></div>
</div></div>
<div class="paragraph"><p>After installing Megatest you can create a flow or testsuite and add some
tests using the helpers. Here is a quickstart sequence to get you up and
running your first automated testsuite.</p></div>
<div class="sect2">
<h3 id="_creating_a_megatest_area">Creating a Megatest Area</h3>
<div class="sect3">







|
|
|
|
|
|
>
>
>
>















|
|
>




|
>
>
>
>
>
>
>
>
>
>
>
>
|




<
<
<
<
<
<
<
<
<
<
<
|
>




|
|




|
>
>








>
>

|
>
>
>
>
|
|


|
>
>


<
<
<
<
<
<
<
<
<
<
<
<
|
|
<
<
<
<
<
<
<
<
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
|
<
<
<
>
>
|
|
<
<
<
<
|
<
<
<
<
<
<
>
<
<
<
<
|
<
<
<
<
<
<
<
<

<
<
<
<
<
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
<
<
>
>
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
<
<
<
<
>



<
<
>
>
>
>
>
|
<
<
<



<
<
<
<
<

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
<
<
<
<
<
<
>
|




>
|
|
<
<
<
<
<
<
<
<
<
<
<
|
<
<
<
<
<






|
|
<
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
>
|
<
<
<



















|

|
|







808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
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
864











865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
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
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
</div>
</div>
<div class="sect1">
<h2 id="_why_megatest">Why Megatest?</h2>
<div class="sectionbody">
<div class="paragraph"><p>The Megatest project was started for two reasons, the first was an
immediate and pressing need for a generalized tool to manage a suite
of regression tests and the second was the fact that I had written or
maintained several such tools at different companies over the years. I
thought a single open source tool, flexible enough to meet the needs
of any team doing continuous integrating and or running a complex
suite of tests for release qualification would solve some problems for
me and for others.</p></div>
<div class="literalblock">
<div class="content monospaced">
<pre>-- Matt Welland, original author of the Megatest tool suite.</pre>
</div></div>
</div>
</div>
<div class="sect1">
<h2 id="_megatest_design_philosophy">Megatest Design Philosophy</h2>
<div class="sectionbody">
<div class="paragraph"><p>Megatest is a distributed system intended to provide the minimum needed
resources to make writing a suite of tests and tasks for implementing
continuous build for software, design engineering or process control (via
owlfs for example) without being specialized for any specific problem
space. Megatest in of itself does not know what constitutes a PASS or FAIL
of a test or task. In most cases megatest is best used in conjunction with
logpro or a similar tool to parse, analyze and decide on the test outcome.</p></div>
<div class="ulist"><ul>
<li>
<p>
Self-checking - make it as easy as possible to write self-checking
   tests (as opposed to using deltas, i.e. tests that compare with a
   previous measurement to deterine PASS/FAIL).
</p>
</li>
<li>
<p>
Traceable - environment variables, host OS and other possibly
   influential variables are captured and kept recorded.
</p>
</li>
<li>
<p>
Immutable - once a test is run it cannot be easily overwritten or
   modified accidentally.
</p>
</li>
<li>
<p>
Repeatable - test results can be recreated in the future using all
   the original variables.
</p>
</li>
<li>
<p>











Relocatable - the testsuite or automation area can be checked out
   and the tests run anywhere in the disk hierarchy.
</p>
</li>
<li>
<p>
Encapsulated - the tests run in self-contained directories and all
   inputs and outputs to the process can be found in the run areas.
</p>
</li>
<li>
<p>
Deployable - a testsuite is self-contained and can be bundled with
   a software project and easily used by others with little to no
   setup burden.
</p>
</li>
</ul></div>
</div>
</div>
<div class="sect1">
<h2 id="_megatest_architecture">Megatest Architecture</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_data_separation">Data separation</h3>
<div class="paragraph"><p>All data to specify the tests and configure the system is stored in
plain text config files. All system state is stored in an sqlite3
database.</p></div>
</div>
<div class="sect2">
<h3 id="_distributed_compute">Distributed Compute</h3>
<div class="paragraph"><p>Tests are launched using the launching system available for the
distributed compute platform in use. A template script is provided
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&#8217;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
Megatest. See the script installall.sh in the utils directory of the
source distribution for an automated way to install everything
needed for building Megatest on Linux.</p></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_getting_started">Getting Started</h2>
<div class="sectionbody">
<div class="listingblock">
<div class="title">Getting started with Megatest</div>
<div class="content monospaced">
<pre>Creating a testsuite or flow and your first test or task.</pre>
</div></div>
<div class="paragraph"><p>After installing Megatest you can create a flow or testsuite and add some
tests using the helpers. Here is a quickstart sequence to get you up and
running your first automated testsuite.</p></div>
<div class="sect2">
<h3 id="_creating_a_megatest_area">Creating a Megatest Area</h3>
<div class="sect3">
1356
1357
1358
1359
1360
1361
1362
























































































































































































































































































1363
1364
1365
1366
1367
1368
1369
<div class="paragraph"><p>Start the dashboard and browse your run in the "Runs" tab.</p></div>
<div class="listingblock">
<div class="title">Starting dashboard</div>
<div class="content monospaced">
<pre>dashboard -rows 24</pre>
</div></div>
</div>
























































































































































































































































































</div>
</div>
<div class="sect1">
<h2 id="_writing_tests">Writing Tests</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_creating_a_new_test">Creating a new Test</h3>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
<div class="paragraph"><p>Start the dashboard and browse your run in the "Runs" tab.</p></div>
<div class="listingblock">
<div class="title">Starting dashboard</div>
<div class="content monospaced">
<pre>dashboard -rows 24</pre>
</div></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_study_plan">Study Plan</h2>
<div class="sectionbody">
<div class="paragraph"><p>Megatest is an extensive program with a lot to learn. Following are some paths through the material to smooth the learning path.</p></div>
<div class="sect2">
<h3 id="_basic_concepts_suggest_you_pick_these_up_on_the_way">Basic Concepts (suggest you pick these up on the way)</h3>
<div class="ulist"><ul>
<li>
<p>
Components of automation; run, test, iteration
</p>
</li>
<li>
<p>
Selectors; target, runname, and testpatt
</p>
</li>
</ul></div>
</div>
<div class="sect2">
<h3 id="_running_testsuites_or_automation">Running Testsuites or Automation</h3>
<div class="ulist"><ul>
<li>
<p>
Using the dashboard gui (recommended)
</p>
<div class="ulist"><ul>
<li>
<p>
Using the "Runs" panel.
</p>
</li>
<li>
<p>
Using the "Run Control" panel.
</p>
</li>
<li>
<p>
Using a test control panel
</p>
</li>
<li>
<p>
The Right Mouse Button menu
</p>
</li>
<li>
<p>
Debug features
</p>
<div class="ulist"><ul>
<li>
<p>
xterm
</p>
<div class="ulist"><ul>
<li>
<p>
pstree
</p>
</li>
<li>
<p>
log files; mt_copy.log, mt_launch.log
</p>
</li>
<li>
<p>
variables; megatest.csh, megatest.sh
</p>
</li>
<li>
<p>
testconfig dump, *testconfig
</p>
</li>
</ul></div>
</li>
<li>
<p>
State/status buttons
</p>
</li>
<li>
<p>
Run, Clean, KillReq
</p>
</li>
<li>
<p>
ReRunClean
</p>
</li>
</ul></div>
</li>
</ul></div>
</li>
<li>
<p>
Using the command line
</p>
<div class="ulist"><ul>
<li>
<p>
Getting help; megatest -h, megatest -manual
</p>
</li>
<li>
<p>
Starting runs; megatest -run
</p>
<div class="ulist"><ul>
<li>
<p>
Selection controls; -target, -runname and -testpatt
</p>
</li>
</ul></div>
</li>
</ul></div>
</li>
</ul></div>
</div>
<div class="sect2">
<h3 id="_writing_tests_and_flows">Writing Tests and Flows</h3>
<div class="ulist"><ul>
<li>
<p>
environment variables (table 5)
</p>
</li>
<li>
<p>
tests/<em>testname</em>/testconfig <a href="megatest_manual.html#_the_testconfig_file">testconfig details</a>
</p>
<div class="ulist"><ul>
<li>
<p>
ezsteps and logpro section
</p>
</li>
<li>
<p>
iteration (one test applied to many inputs), items, itemstable <a href="megatest_manual.html#_iteration">test iteration</a>
</p>
</li>
<li>
<p>
dependencies, waiton, itemmatch, itemwait <a href="megatest_manual.html#_requirements_section">test requirements</a>
</p>
</li>
<li>
<p>
miscellaneous; mode toplevel, runtimelim, skip on file or on running, waiver propagation
</p>
</li>
</ul></div>
</li>
<li>
<p>
megatest areas
</p>
<div class="ulist"><ul>
<li>
<p>
megatest.config
</p>
</li>
<li>
<p>
runconfigs.config
</p>
</li>
<li>
<p>
config language features; include, shell, system, scheme, rp|realpath, getenv, get, rget, scriptinc <a href="megatest.html#_config_file_helpers">config file helpers</a>
</p>
</li>
</ul></div>
</li>
</ul></div>
</div>
<div class="sect2">
<h3 id="_advanced_topics">Advanced Topics</h3>
<div class="ulist"><ul>
<li>
<p>
Removing and keeping runs selectively <a href="megatest_manual.html#_managing_old_runs">managing runs</a>
</p>
</li>
<li>
<p>
Subruns <a href="megatest_manual.html#_nested_runs">nested runs</a>
</p>
</li>
<li>
<p>
Config file features <a href="megatest_manual.html#_config_file_helpers">config file features</a>
</p>
</li>
<li>
<p>
HTML output with -generate-html
</p>
</li>
<li>
<p>
Triggers, post run, state/status
</p>
</li>
<li>
<p>
MTLOWESTLOAD
</p>
</li>
<li>
<p>
flexilauncher
</p>
</li>
<li>
<p>
env delta and testconfig
</p>
</li>
<li>
<p>
capturing test data, extracting values from logpro and using them for pass/fail
</p>
</li>
<li>
<p>
mtutil, postgres connection, packets for cross-site/cross-user control (e.g. mcrun).
</p>
</li>
</ul></div>
</div>
<div class="sect2">
<h3 id="_maintenance_and_troubleshooting">Maintenance and Troubleshooting</h3>
<div class="ulist"><ul>
<li>
<p>
cleanup-db, database structure of Megatest 1.6x
</p>
</li>
<li>
<p>
archiving
</p>
</li>
<li>
<p>
homehost management
</p>
</li>
<li>
<p>
show-runconfig
</p>
</li>
<li>
<p>
show-config
</p>
</li>
<li>
<p>
show with -debug 0,9
</p>
</li>
<li>
<p>
load management
</p>
</li>
</ul></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_writing_tests">Writing Tests</h2>
<div class="sectionbody">
<div class="sect2">
<h3 id="_creating_a_new_test">Creating a new Test</h3>
1758
1759
1760
1761
1762
1763
1764

1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
VAR1 VAL2</pre>
</div></div>
<div class="paragraph"><p>Can use either wildcard of "%" or a regular expression:</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[/abc.*def/]</pre>
</div></div>

<div class="sect3">
<h4 id="_disk_space_checks">Disk Space Checks</h4>
<div class="paragraph"><p>Some parameters you can put in the [setup] section of megatest.config:</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre># minimum space required in a run disk
minspace 10000000

# minimum space required in dbdir:
dbdir-space-required 100000

# script that takes path as parameter and returns number of bytes available:
free-space-script check-space.sh</pre>
</div></div>
</div>
<div class="sect3">
<h4 id="_trim_trailing_spaces">Trim trailing spaces</h4>
<div class="listingblock">
<div class="content monospaced">
<pre>[configf:settings trim-trailing-spaces yes]</pre>
</div></div>
</div>
<div class="sect3">
<h4 id="_job_submission_control">Job Submission Control</h4>
<div class="sect4">
<h5 id="_submit_jobs_to_host_types_based_on_test_name_2">Submit jobs to Host Types based on Test Name</h5>
<div class="listingblock">
<div class="title">In megatest.config</div>
<div class="content monospaced">
<pre>[host-types]
general   nbfake
remote    bsub

[launchers]
runfirst/sum% remote
% general

[jobtools]
launcher bsub
# if defined and not "no" flexi-launcher will bypass launcher unless
# there is no host-type match.
flexi-launcher yes</pre>
</div></div>
</div>
<div class="sect4">
<h5 id="_host_types">host-types</h5>
<div class="paragraph"><p>List of host types and the commandline to run a job on that host type.</p></div>
<div class="listingblock">
<div class="title">host-type &#8658; launch command</div>
<div class="content monospaced">
<pre>general nbfake</pre>







>
|
|













|
|





|
|
|
|

















<







1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811

1812
1813
1814
1815
1816
1817
1818
VAR1 VAL2</pre>
</div></div>
<div class="paragraph"><p>Can use either wildcard of "%" or a regular expression:</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[/abc.*def/]</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_disk_space_checks">Disk Space Checks</h3>
<div class="paragraph"><p>Some parameters you can put in the [setup] section of megatest.config:</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre># minimum space required in a run disk
minspace 10000000

# minimum space required in dbdir:
dbdir-space-required 100000

# script that takes path as parameter and returns number of bytes available:
free-space-script check-space.sh</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_trim_trailing_spaces">Trim trailing spaces</h3>
<div class="listingblock">
<div class="content monospaced">
<pre>[configf:settings trim-trailing-spaces yes]</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_job_submission_control">Job Submission Control</h3>
<div class="sect3">
<h4 id="_submit_jobs_to_host_types_based_on_test_name_2">Submit jobs to Host Types based on Test Name</h4>
<div class="listingblock">
<div class="title">In megatest.config</div>
<div class="content monospaced">
<pre>[host-types]
general   nbfake
remote    bsub

[launchers]
runfirst/sum% remote
% general

[jobtools]
launcher bsub
# if defined and not "no" flexi-launcher will bypass launcher unless
# there is no host-type match.
flexi-launcher yes</pre>
</div></div>

<div class="sect4">
<h5 id="_host_types">host-types</h5>
<div class="paragraph"><p>List of host types and the commandline to run a job on that host type.</p></div>
<div class="listingblock">
<div class="title">host-type &#8658; launch command</div>
<div class="content monospaced">
<pre>general nbfake</pre>
2007
2008
2009
2010
2011
2012
2013




















2014
2015
2016
2017
2018
2019
2020
2021

2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
<div class="paragraph"><p>The runscript method is a brute force way to run scripts where the
user is responsible for setting STATE and STATUS</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>runscript main.csh</pre>
</div></div>
</div>




















</div>
<div class="sect2">
<h3 id="_requirements_section">Requirements section</h3>
<div class="listingblock">
<div class="title">Header</div>
<div class="content monospaced">
<pre>[requirements]</pre>
</div></div>

<div class="sect3">
<h4 id="_wait_on_other_tests">Wait on Other Tests</h4>
<div class="listingblock">
<div class="content monospaced">
<pre># A normal waiton waits for the prior tests to be COMPLETED
# and PASS, CHECK or WAIVED
waiton test1 test2</pre>
</div></div>
</div>
<div class="sect3">
<h4 id="_mode">Mode</h4>
<div class="paragraph"><p>The default (i.e. if mode is not specified) is normal. All pre-dependent tests
must be COMPLETED and PASS, CHECK or WAIVED before the test will start</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[requirements]
mode   normal</pre>
</div></div>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>








>
|
|







|
|







2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
<div class="paragraph"><p>The runscript method is a brute force way to run scripts where the
user is responsible for setting STATE and STATUS</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>runscript main.csh</pre>
</div></div>
</div>
</div>
<div class="sect2">
<h3 id="_iteration">Iteration</h3>
<div class="listingblock">
<div class="title">Sections for iteration</div>
<div class="content monospaced">
<pre># full combinations
[items]
A x y
B 1 2

# Yields: x/1 x/2 y/1 y/2

# tabled
[itemstable]
A x y
B 1 2

# Yields x/1 y/2</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_requirements_section">Requirements section</h3>
<div class="listingblock">
<div class="title">Header</div>
<div class="content monospaced">
<pre>[requirements]</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_wait_on_other_tests">Wait on Other Tests</h3>
<div class="listingblock">
<div class="content monospaced">
<pre># A normal waiton waits for the prior tests to be COMPLETED
# and PASS, CHECK or WAIVED
waiton test1 test2</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_mode">Mode</h3>
<div class="paragraph"><p>The default (i.e. if mode is not specified) is normal. All pre-dependent tests
must be COMPLETED and PASS, CHECK or WAIVED before the test will start</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[requirements]
mode   normal</pre>
</div></div>
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
was historically called "itemwait" mode. The terms "itemwait" and
"itemmatch" are synonyms.</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[requirements]
mode itemmatch</pre>
</div></div>
</div>
</div>
<div class="sect2">
<h3 id="_overriding_enviroment_variables">Overriding Enviroment Variables</h3>
<div class="paragraph"><p>Override variables before starting the test. Can include files (perhaps generated by megatest -envdelta or similar).</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[pre-launch-env-vars]







<







2072
2073
2074
2075
2076
2077
2078

2079
2080
2081
2082
2083
2084
2085
was historically called "itemwait" mode. The terms "itemwait" and
"itemmatch" are synonyms.</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[requirements]
mode itemmatch</pre>
</div></div>

</div>
<div class="sect2">
<h3 id="_overriding_enviroment_variables">Overriding Enviroment Variables</h3>
<div class="paragraph"><p>Override variables before starting the test. Can include files (perhaps generated by megatest -envdelta or similar).</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[pre-launch-env-vars]
2123
2124
2125
2126
2127
2128
2129

2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
# The following would map:
#   a123b321 to b321fooa123 then to 321fooa123p
#
[requirements]
itemmap (a\d+)(b\d+) \2foo\1
  b(.*) \1p</pre>
</div></div>

<div class="sect3">
<h4 id="_complex_mapping">Complex mapping</h4>
<div class="paragraph"><p>Complex mappings can be handled with a separate [itemmap] section (instead if an itemmap line in the [requirements] section)</p></div>
<div class="paragraph"><p>Each line in an itemmap section starts with a waiton test name followed by an itemmap expression</p></div>
<div class="listingblock">
<div class="title">eg: The following causes waiton test A item <span class="monospaced">bar/1234</span> to run when our test&#8217;s <span class="monospaced">foo/1234</span> item is requested as well as causing waiton test B&#8217;s <span class="monospaced">blah</span> item to run when our test&#8217;s <span class="monospaced">stuff/blah</span> item is requested</div>
<div class="content monospaced">
<pre>[itemmap]
A foo/ bar/
B stuff/</pre>
</div></div>
</div>
<div class="sect3">
<h4 id="_complex_mapping_example">Complex mapping example</h4>
<div class="imageblock">
<div class="content">
<img src="complex-itemmap.png" alt="complex-itemmap.png">
</div>
</div>
<div class="paragraph"><p>We accomplish this by configuring the testconfigs of our tests C D and E as follows:</p></div>
<div class="listingblock">







>
|
|










|
|







2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
# The following would map:
#   a123b321 to b321fooa123 then to 321fooa123p
#
[requirements]
itemmap (a\d+)(b\d+) \2foo\1
  b(.*) \1p</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_complex_mapping">Complex mapping</h3>
<div class="paragraph"><p>Complex mappings can be handled with a separate [itemmap] section (instead if an itemmap line in the [requirements] section)</p></div>
<div class="paragraph"><p>Each line in an itemmap section starts with a waiton test name followed by an itemmap expression</p></div>
<div class="listingblock">
<div class="title">eg: The following causes waiton test A item <span class="monospaced">bar/1234</span> to run when our test&#8217;s <span class="monospaced">foo/1234</span> item is requested as well as causing waiton test B&#8217;s <span class="monospaced">blah</span> item to run when our test&#8217;s <span class="monospaced">stuff/blah</span> item is requested</div>
<div class="content monospaced">
<pre>[itemmap]
A foo/ bar/
B stuff/</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_complex_mapping_example">Complex mapping example</h3>
<div class="imageblock">
<div class="content">
<img src="complex-itemmap.png" alt="complex-itemmap.png">
</div>
</div>
<div class="paragraph"><p>We accomplish this by configuring the testconfigs of our tests C D and E as follows:</p></div>
<div class="listingblock">
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
<li>
<p>
Test A has no waitons.  All waitons of all tests in full list have been processed.  Full list is finalized.
</p>
</li>
</ol></div>
</div>
<div class="sect3">
<h4 id="_itemstable">itemstable</h4>
<div class="paragraph"><p>An alternative to defining items is the itemstable section.  This lets you define the itempath in a table format rather than specifying components and relying on getting all permutations of those components.</p></div>
</div>
<div class="sect3">
<h4 id="_dynamic_flow_dependency_tree">Dynamic Flow Dependency Tree</h4>
<div class="listingblock">
<div class="title">Autogeneration waiton list for dynamic flow dependency trees</div>
<div class="content monospaced">
<pre>[requirements]
# With a toplevel test you may wish to generate your list
# of tests to run dynamically
#
waiton #{shell get-valid-tests-to-run.sh}</pre>
</div></div>
</div>
<div class="sect3">
<h4 id="_run_time_limit_2">Run time limit</h4>
<div class="listingblock">
<div class="content monospaced">
<pre>[requirements]
runtimelim 1h 2m 3s  # this will automatically kill the test if it runs for more than 1h 2m and 3s</pre>
</div></div>
</div>
<div class="sect3">
<h4 id="_skip">Skip</h4>
<div class="paragraph"><p>A test with a skip section will conditional skip running.</p></div>
<div class="listingblock">
<div class="title">Skip section example</div>
<div class="content monospaced">
<pre>[skip]
prevrunning x
# rundelay 30m 15s</pre>
</div></div>
</div>
<div class="sect3">
<h4 id="_skip_on_still_running_tests">Skip on Still-running Tests</h4>
<div class="listingblock">
<div class="content monospaced">
<pre># NB// If the prevrunning line exists with *any* value the test will
# automatically SKIP if the same-named test is currently RUNNING. The
# "x" can be any string. Comment out the prevrunning line to turn off
# skip.

[skip]
prevrunning x</pre>
</div></div>
</div>
<div class="sect3">
<h4 id="_skip_if_a_file_exists">Skip if a File Exists</h4>
<div class="listingblock">
<div class="content monospaced">
<pre>[skip]
fileexists /path/to/a/file # skip if /path/to/a/file exists</pre>
</div></div>
</div>
<div class="sect3">
<h4 id="_skip_if_test_ran_more_recently_than_specified_time">Skip if test ran more recently than specified time</h4>
<div class="listingblock">
<div class="title">Skip if this test has been run in the past fifteen minutes and 15 seconds.</div>
<div class="content monospaced">
<pre>[skip]
rundelay 15m 15s</pre>
</div></div>
</div>
<div class="sect3">
<h4 id="_disks">Disks</h4>
<div class="paragraph"><p>A disks section in testconfig will override the disks section in
megatest.config. This can be used to allocate disks on a per-test or per item
basis.</p></div>
</div>
<div class="sect3">
<h4 id="_controlled_waiver_propagation">Controlled waiver propagation</h4>
<div class="paragraph"><p>If test is FAIL and previous test in run with same MT_TARGET is WAIVED then apply the following rules from the testconfig:
If a waiver check is specified in the testconfig apply the check and if it passes then set this FAIL to WAIVED</p></div>
<div class="paragraph"><p>Waiver check has two parts, 1) a list of waiver, rulename, filepatterns and 2) the rulename script spec (note that "diff" and "logpro" are predefined)</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>###### EXAMPLE FROM testconfig #########
# matching file(s) will be diff'd with previous run and logpro applied







|
|


|
|










|
|






|
|









|
|











|
|






|
|







|
|




|
|







2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
<li>
<p>
Test A has no waitons.  All waitons of all tests in full list have been processed.  Full list is finalized.
</p>
</li>
</ol></div>
</div>
<div class="sect2">
<h3 id="_itemstable">itemstable</h3>
<div class="paragraph"><p>An alternative to defining items is the itemstable section.  This lets you define the itempath in a table format rather than specifying components and relying on getting all permutations of those components.</p></div>
</div>
<div class="sect2">
<h3 id="_dynamic_flow_dependency_tree">Dynamic Flow Dependency Tree</h3>
<div class="listingblock">
<div class="title">Autogeneration waiton list for dynamic flow dependency trees</div>
<div class="content monospaced">
<pre>[requirements]
# With a toplevel test you may wish to generate your list
# of tests to run dynamically
#
waiton #{shell get-valid-tests-to-run.sh}</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_run_time_limit_2">Run time limit</h3>
<div class="listingblock">
<div class="content monospaced">
<pre>[requirements]
runtimelim 1h 2m 3s  # this will automatically kill the test if it runs for more than 1h 2m and 3s</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_skip">Skip</h3>
<div class="paragraph"><p>A test with a skip section will conditional skip running.</p></div>
<div class="listingblock">
<div class="title">Skip section example</div>
<div class="content monospaced">
<pre>[skip]
prevrunning x
# rundelay 30m 15s</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_skip_on_still_running_tests">Skip on Still-running Tests</h3>
<div class="listingblock">
<div class="content monospaced">
<pre># NB// If the prevrunning line exists with *any* value the test will
# automatically SKIP if the same-named test is currently RUNNING. The
# "x" can be any string. Comment out the prevrunning line to turn off
# skip.

[skip]
prevrunning x</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_skip_if_a_file_exists">Skip if a File Exists</h3>
<div class="listingblock">
<div class="content monospaced">
<pre>[skip]
fileexists /path/to/a/file # skip if /path/to/a/file exists</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_skip_if_test_ran_more_recently_than_specified_time">Skip if test ran more recently than specified time</h3>
<div class="listingblock">
<div class="title">Skip if this test has been run in the past fifteen minutes and 15 seconds.</div>
<div class="content monospaced">
<pre>[skip]
rundelay 15m 15s</pre>
</div></div>
</div>
<div class="sect2">
<h3 id="_disks">Disks</h3>
<div class="paragraph"><p>A disks section in testconfig will override the disks section in
megatest.config. This can be used to allocate disks on a per-test or per item
basis.</p></div>
</div>
<div class="sect2">
<h3 id="_controlled_waiver_propagation">Controlled waiver propagation</h3>
<div class="paragraph"><p>If test is FAIL and previous test in run with same MT_TARGET is WAIVED then apply the following rules from the testconfig:
If a waiver check is specified in the testconfig apply the check and if it passes then set this FAIL to WAIVED</p></div>
<div class="paragraph"><p>Waiver check has two parts, 1) a list of waiver, rulename, filepatterns and 2) the rulename script spec (note that "diff" and "logpro" are predefined)</p></div>
<div class="listingblock">
<div class="content monospaced">
<pre>###### EXAMPLE FROM testconfig #########
# matching file(s) will be diff'd with previous run and logpro applied
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327

2328
2329
2330
2331
2332
2333
2334
2335

2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351

2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
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
# This builtin rule is the default if there is no &lt;waivername&gt;.logpro file
# diff   diff %file1% %file2%

# This builtin rule is applied if a &lt;waivername&gt;.logpro file exists
# logpro diff %file1% %file2% | logpro %waivername%.logpro %waivername%.html</pre>
</div></div>
</div>
</div>
<div class="sect2">
<h3 id="_ezsteps">Ezsteps</h3>
<div class="listingblock">
<div class="title">Example ezsteps with logpro rules</div>
<div class="content monospaced">
<pre>[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" &gt; 0 "A file name that should never exist!" #/This is a awfully stupid file name that should never be found in the temp dir/)</pre>
</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="content monospaced">
<pre>$MT_MEGATEST -env2file .ezsteps/${stepname}</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="content monospaced">
<pre>[triggers]

# Call script running.sh when test goes to state=RUNNING, status=PASS
RUNNING/PASS running.sh

# Call script running.sh any time state goes to RUNNING
RUNNING/ running.sh

# Call script onpass.sh any time status goes to PASS
PASS/ onpass.sh</pre>
</div></div>
<div class="paragraph"><p>Scripts called will have; test-id test-rundir trigger test-name item-path state status event-time, added to the commandline.</p></div>
<div class="paragraph"><p>HINT</p></div>
<div class="paragraph"><p>To start an xterm (useful for debugging), use a command line like the following:</p></div>
<div class="listingblock">

<div class="content monospaced">
<pre>[triggers]
COMPLETED/ xterm -e bash -s --</pre>
</div></div>
<div class="admonitionblock">
<table><tr>
<td class="icon">
<img src="/nfs/pdx/disks/ice.disk.002/icfadm/pkgs/asciidoc/8.6.7/images/icons/note.png" alt="Note">
</td>
<td class="content">There is a trailing space after the --</td>
</tr></table>
</div>
<div class="paragraph"><p>There are a number of environment variables available to the trigger script
but since triggers can be called in various contexts not all variables are
available at all times. The trigger script should check for the variable and
fail gracefully if it doesn&#8217;t exist.</p></div>
<table class="tableblock frame-topbot grid-all"
style="
width:90%;
">
<caption class="title">Table 5. Environment variables visible to the trigger script</caption>
<col style="width:33%;">
<col style="width:66%;">
<thead>
<tr>
<th class="tableblock halign-center valign-top" >Variable             </th>
<th class="tableblock halign-left valign-top" > Purpose</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_TEST_RUN_DIR</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">The directory where Megatest ran this test</p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_CMDINFO</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">Encoded command data for the test</p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_DEBUG_MODE</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">Used to pass the debug mode to nested calls to Megatest</p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_RUN_AREA_HOME</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">Megatest home area</p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_TESTSUITENAME</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">The name of this testsuite or area</p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_TEST_NAME</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">The name of this test</p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_ITEM_INFO</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">The variable and values for the test item</p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_MEGATEST</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">Which Megatest binary is being used by this area</p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_TARGET</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">The target variable values, separated by <em>/</em></p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_LINKTREE</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">The base of the link tree where all run tests can be found</p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_ITEMPATH</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">The values of the item path variables, separated by <em>/</em></p></td>
</tr>
<tr>
<td class="tableblock halign-center valign-top" ><p class="tableblock">MT_RUNNAME</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock monospaced">The name of the run</p></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_override_the_toplevel_html_file">Override the Toplevel HTML File</h3>
<div class="paragraph"><p>Megatest generates a simple html file summary for top level tests of







<















>








>
















>









|











|
|


|





|
|


|
|


|
|


|
|


|
|


|
|


|
|


|
|


|
|


|
|


|
|


|
|







2329
2330
2331
2332
2333
2334
2335

2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
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
# This builtin rule is the default if there is no &lt;waivername&gt;.logpro file
# diff   diff %file1% %file2%

# This builtin rule is applied if a &lt;waivername&gt;.logpro file exists
# logpro diff %file1% %file2% | logpro %waivername%.logpro %waivername%.html</pre>
</div></div>
</div>

<div class="sect2">
<h3 id="_ezsteps">Ezsteps</h3>
<div class="listingblock">
<div class="title">Example ezsteps with logpro rules</div>
<div class="content monospaced">
<pre>[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" &gt; 0 "A file name that should never exist!" #/This is a awfully stupid file name that should never be found in the temp dir/)</pre>
</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>
<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">
<pre>[triggers]

# Call script running.sh when test goes to state=RUNNING, status=PASS
RUNNING/PASS running.sh

# Call script running.sh any time state goes to RUNNING
RUNNING/ running.sh

# Call script onpass.sh any time status goes to PASS
PASS/ onpass.sh</pre>
</div></div>
<div class="paragraph"><p>Scripts called will have; test-id test-rundir trigger test-name item-path state status event-time, added to the commandline.</p></div>
<div class="paragraph"><p>HINT</p></div>
<div class="paragraph"><p>To start an xterm (useful for debugging), use a command line like the following:</p></div>
<div class="listingblock">
<div class="title">Start an xterm using a trigger for test completed.</div>
<div class="content monospaced">
<pre>[triggers]
COMPLETED/ xterm -e bash -s --</pre>
</div></div>
<div class="admonitionblock">
<table><tr>
<td class="icon">
<img src="/nfs/pdx/disks/ice.disk.002/icfadm/pkgs/asciidoc/8.6.7/images/icons/note.png" alt="Note">
</td>
<td class="content">There is a trailing space after the double-dash</td>
</tr></table>
</div>
<div class="paragraph"><p>There are a number of environment variables available to the trigger script
but since triggers can be called in various contexts not all variables are
available at all times. The trigger script should check for the variable and
fail gracefully if it doesn&#8217;t exist.</p></div>
<table class="tableblock frame-topbot grid-all"
style="
width:90%;
">
<caption class="title">Table 5. Environment variables visible to the trigger script</caption>
<col style="width:50%;">
<col style="width:50%;">
<thead>
<tr>
<th class="tableblock halign-left valign-top" > Variable            </th>
<th class="tableblock halign-left valign-top" > Purpose</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_TEST_RUN_DIR</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">The directory where Megatest ran this test</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_CMDINFO</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">Encoded command data for the test</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_DEBUG_MODE</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">Used to pass the debug mode to nested calls to Megatest</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_RUN_AREA_HOME</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">Megatest home area</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_TESTSUITENAME</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">The name of this testsuite or area</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_TEST_NAME</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">The name of this test</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_ITEM_INFO</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">The variable and values for the test item</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_MEGATEST</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">Which Megatest binary is being used by this area</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_TARGET</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">The target variable values, separated by <em>/</em></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_LINKTREE</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">The base of the link tree where all run tests can be found</p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_ITEMPATH</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">The values of the item path variables, separated by <em>/</em></p></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top" ><p class="tableblock">MT_RUNNAME</p></td>
<td class="tableblock halign-left valign-top" ><p class="tableblock">The name of the run</p></td>
</tr>
</tbody>
</table>
</div>
<div class="sect2">
<h3 id="_override_the_toplevel_html_file">Override the Toplevel HTML File</h3>
<div class="paragraph"><p>Megatest generates a simple html file summary for top level tests of
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491


2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
# Within the archive the data is structured like this:
#  &lt;target&gt;/&lt;runname&gt;/&lt;test&gt;/
archive0 /mfs/myarchive-data/adisk1</pre>
</div></div>
</div>
</div>
<div class="sect1">
<h2 id="_handling_environment_variables">Handling Environment Variables</h2>
<div class="sectionbody">
<div class="paragraph"><p>It is often necessary to capture and or manipulate environment
variables. Megatest has some facilities built in to help.</p></div>
<div class="sect2">
<h3 id="_capture_variables">Capture variables</h3>
<div class="listingblock">
<div class="title">Commands</div>
<div class="content monospaced">
<pre># capture the current enviroment into a db called envdat.db under
# the context "before"
megatest -envcap before

# capture the current environment into a db called startup.db with
# context "after"
megatest -envcap after startup.db

# write the diff from before to after
megatest -envdelta before-after -dumpmode bash</pre>
</div></div>
<div class="paragraph"><p>Dump modes include bash, csh and config. You can include config data
into megatest.config or runconfigs.config.</p></div>


<div class="listingblock">
<div class="title">Example of generating and using config data</div>
<div class="content monospaced">
<pre>megatest -envcap original
# do some stuff here
megatest -envcap munged
megatest -envdelta original-munged -dumpmode ini -o modified.config</pre>
</div></div>
<div class="paragraph"><p>Then in runconfigs.config</p></div>
<div class="listingblock">
<div class="title">Example of using modified.config in a testconfig</div>
<div class="content monospaced">
<pre>cat testconfig
[pre-launch-env-vars]
[include modified.config]</pre>
</div></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_managing_old_runs">Managing Old Runs</h2>







|




















|
>
>












<
|







2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531

2532
2533
2534
2535
2536
2537
2538
2539
# Within the archive the data is structured like this:
#  &lt;target&gt;/&lt;runname&gt;/&lt;test&gt;/
archive0 /mfs/myarchive-data/adisk1</pre>
</div></div>
</div>
</div>
<div class="sect1">
<h2 id="_environment_variables">Environment Variables</h2>
<div class="sectionbody">
<div class="paragraph"><p>It is often necessary to capture and or manipulate environment
variables. Megatest has some facilities built in to help.</p></div>
<div class="sect2">
<h3 id="_capture_variables">Capture variables</h3>
<div class="listingblock">
<div class="title">Commands</div>
<div class="content monospaced">
<pre># capture the current enviroment into a db called envdat.db under
# the context "before"
megatest -envcap before

# capture the current environment into a db called startup.db with
# context "after"
megatest -envcap after startup.db

# write the diff from before to after
megatest -envdelta before-after -dumpmode bash</pre>
</div></div>
<div class="paragraph"><p>Dump modes include bash, csh and config. You can include config data
into megatest.config, runconfigs.config and testconfig files. This is
useful for capturing a complex environment in a special-purpose test
and then utilizing that environment in downstream tests.</p></div>
<div class="listingblock">
<div class="title">Example of generating and using config data</div>
<div class="content monospaced">
<pre>megatest -envcap original
# do some stuff here
megatest -envcap munged
megatest -envdelta original-munged -dumpmode ini -o modified.config</pre>
</div></div>
<div class="paragraph"><p>Then in runconfigs.config</p></div>
<div class="listingblock">
<div class="title">Example of using modified.config in a testconfig</div>
<div class="content monospaced">

<pre>[pre-launch-env-vars]
[include modified.config]</pre>
</div></div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_managing_old_runs">Managing Old Runs</h2>
2641
2642
2643
2644
2645
2646
2647


































































































































































































































































































































































2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
<div class="content">
<img src="server.png" alt="server.png">
</div>
</div>
</div>
</div>
<div class="sect1">


































































































































































































































































































































































<h2 id="_example_index">Example Index</h2>
<div class="sectionbody">
</div>
</div>
</div>
<div id="footnotes"><hr></div>
<div id="footer">
<div id="footer-text">
Version 1.0<br>
Last updated 2018-08-01 09:52:04 PDT
</div>
</div>
</body>
</html>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|








|




2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
<div class="content">
<img src="server.png" alt="server.png">
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_road_map">Road Map</h2>
<div class="sectionbody">
<div class="paragraph"><p>Note 1: This road-map continues to evolve and subject to change without notice.</p></div>
<div class="sect2">
<h3 id="_here_is_a_smattering_of_ideas_for_megatest_2_0">Here is a smattering of ideas for Megatest 2.0</h3>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
Add variable $MT_RUNPATH = $MT_LINKTREE/$MT_TARGET/$MT_RUNNAME
</p>
</li>
</ol></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[db]
api legacy|new</pre>
</div></div>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
One big lesson from the 1.63-1.65 generation was that the main.db, 1.db … model was really good at scaling. I’d like to combine that model with the current also-very-good model. Obviously this is a disruptive change. I think making the old model the default and the new model an option for at least one generation would be fair.
</p>
</li>
<li>
<p>
Rigorous megatest.config and runconfig.config caching.
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
Cache the configs in $MT_RUNPATH
</p>
</li>
<li>
<p>
Following invocations of –run, -rerun* will calculate the new config but only overwrite the cached file IF changed
</p>
</li>
</ol></div>
</li>
<li>
<p>
If the cached file changes ALL existing tests go from COMPLETED &#8594; STALE, I’m not sure what to do about RUNNING tests
</p>
</li>
<li>
<p>
!VARS in runconfigs are not exported to the environment. They are accessed via rget as if the ! was not there.
</p>
</li>
<li>
<p>
Per test copy commands (crude example below is not correct).
</p>
</li>
</ol></div>
<div class="listingblock">
<div class="content monospaced">
<pre>[testcopy]
%/iind% unison SRC DEST
% cp –r SRC DEST</pre>
</div></div>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
Test management via pkts (optional?)
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
Control pkt types: run, kill, rerunclean, clean, archive, status?
</p>
</li>
<li>
<p>
Status pkt types: ack, step, status_change
</p>
</li>
</ol></div>
</li>
<li>
<p>
Add nanomsg as a transport option
.
</p>
</li>
</ol></div>
</div>
<div class="sect2">
<h3 id="_rfc_m01_add_ability_to_move_runs_to_other_areas">RFC M01: Add ability to move runs to other Areas</h3>
<div class="paragraph"><p><strong>Purpose</strong>: allow shrinking megatest.db data by moving runs to an alternate
 Megatest area with same keys.</p></div>
<div class="paragraph"><p><strong>Method</strong>: extend db sync to take a different megatest area as a destination.</p></div>
<div class="paragraph"><p><strong>Design</strong>:</p></div>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
add param -destination [area|path]. when specified runs are copied to new
  area and removed from local db.
</p>
</li>
<li>
<p>
the data move would involve these steps
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
copy the run data to destination area megatest.db
</p>
</li>
<li>
<p>
mark the run records as deleted, do not remove the run data on disk
</p>
</li>
</ol></div>
</li>
<li>
<p>
accessing the data would be by running dashboard in the satellite area
</p>
</li>
<li>
<p>
future versions of Megatest dashboard should support displaying areas in a
  merged way.
</p>
</li>
<li>
<p>
some new controls would be supported in the config
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
[setup] &#8658; allow-runs [no|yes]  &#8656;= used to disallow runs
</p>
</li>
<li>
<p>
[setup] &#8658; auto-migrate=[areaname|path]  &#8656;= used to automatically
   migrate data to a satellite area.
</p>
</li>
</ol></div>
</li>
</ol></div>
<div class="paragraph"><p><strong>Branch</strong>: This work is taking place on branch v1.65-reduce-records</p></div>
</div>
<div class="sect2">
<h3 id="_rfc_m02_move_data_into_completed_runs_db">RFC M02: Move data into completed-runs.db</h3>
<div class="paragraph"><p><strong>Purpose</strong>: shrink megatest.db data to enable lower load and higher performance.</p></div>
<div class="paragraph"><p><strong>Method</strong>: add a completed-runs.db and automatically move runs data from megatest.db to that db</p></div>
<div class="paragraph"><p><strong>Design</strong>:</p></div>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
completed-runs.db is a full megatest database with complete schema
</p>
</li>
<li>
<p>
the data move would involve these steps
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
copy the run data to completed-runs.db
</p>
</li>
<li>
<p>
remove the run data, first from /tmp/…/megatest.db and /tmp/…/megatest_ref.db, followed by megatest.db
</p>
</li>
</ol></div>
</li>
<li>
<p>
accessing the data would be unchanged for most operations.
</p>
</li>
<li>
<p>
a mode -full-db will be added which when specified would attach the completed-runs.db to megatest.db before doing the query
</p>
</li>
<li>
<p>
mechanisms for moving runs to/from the megatest.db would be added
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
-reduce-records &#8658; move runs to completed-runs.db
</p>
</li>
<li>
<p>
-restore-records &#8658; move runs from completed-runs.db to megatest.db
</p>
</li>
</ol></div>
</li>
</ol></div>
<div class="paragraph"><p><strong>Branch</strong>: This work is taking place on branch v1.65-reduce-records</p></div>
</div>
<div class="sect2">
<h3 id="_rfc_m03_automatic_homehost_migrations">RFC M03: Automatic homehost migrations</h3>
<div class="paragraph"><p><strong>Purpose</strong>: Automatically migrate homehost.</p></div>
<div class="paragraph"><p><strong>Method</strong>: Check that there are no tests running, launched or remotehoststart in past ½ hour then if not on homehost migrate the db to current host</p></div>
<div class="paragraph"><p><strong>Design</strong>:</p></div>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
Check that the system is quiescent, i.e. that there are no runs in flight or recently run
</p>
</li>
<li>
<p>
Create a lock
</p>
</li>
<li>
<p>
Migrate the /tmp cache db to the current host
</p>
</li>
<li>
<p>
Update the .homehost file
</p>
</li>
<li>
<p>
Remove the lock
</p>
</li>
</ol></div>
<div class="paragraph"><p><strong>Branch</strong>: This work not yet started</p></div>
</div>
<div class="sect2">
<h3 id="_architecture_refactor">Architecture Refactor</h3>
<div class="sect3">
<h4 id="_goals">Goals</h4>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
Reduce load on the file system. Sqlite3 files on network filesystem can be
  a burden. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Reduce number of servers and frequency of start/stop. This is mostly an
  issue of clutter but also a reduction in "moving parts". <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Coalesce activities to a single home host where possible. Give the user
  feedback that they have started the dashboard on a host other than the
  home host. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Reduce number of processes involved in managing running tests.
</p>
</li>
</ol></div>
</div>
<div class="sect3">
<h4 id="_changes_needed">Changes Needed</h4>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
ACID compliant db will be on /tmp and synced to megatest.db with a five
  second max delay. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Read/writes to db for processes on homehost will go direct to /tmp
  megatest.db file. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Read/wites fron non-homehost processes will go through one server. Bulk
  reads (e.g. for dashboard or list-runs) will be cached on the current host
  in /tmp and synced from the home megatest.db in the testsuite area. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Db syncs rely on the target db file timestame minus some margin. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Since bulk reads do not use the server we can switch to simple RPC for the
  network transport. <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Test running manager process extended to manage multiple running tests.
</p>
</li>
</ol></div>
</div>
</div>
<div class="sect2">
<h3 id="_current_items">Current Items</h3>
<div class="sect3">
<h4 id="_ww05_migrate_to_inmem_db">ww05 - migrate to inmem-db</h4>
<div class="olist arabic"><ol class="arabic">
<li>
<p>
Switch to inmem db with fast sync to on disk db&#8217;s <span class="green">[DONE]</span>
</p>
</li>
<li>
<p>
Server polls tasks table for next action
</p>
<div class="olist loweralpha"><ol class="loweralpha">
<li>
<p>
Task table used for tracking runner process <span class="red">[Replaced by mtutil]</span>
</p>
</li>
<li>
<p>
Task table used for jobs to run <span class="red">[Replaced by mtutil]</span>
</p>
</li>
<li>
<p>
Task table used for queueing runner actions (remove runs,
   cleanRunExecute, etc)  <span class="red">[Replaced by mtutil</span>]
</p>
</li>
</ol></div>
</li>
</ol></div>
<div class="paragraph"><p>shifting, note that the preceding blank line is needed.</p></div>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="_index">Index</h2>
<div class="sectionbody">
</div>
</div>
</div>
<div id="footnotes"><hr></div>
<div id="footer">
<div id="footer-text">
Version 1.0<br>
Last updated 2018-11-29 09:32:52 PST
</div>
</div>
</body>
</html>

Modified docs/manual/megatest_manual.txt from [c9cb390537] to [2589d78a96].

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
----------------------------

Why Megatest?
-------------

The Megatest project was started for two reasons, the first was an
immediate and pressing need for a generalized tool to manage a suite
of regression tests and the second was the fact that the author had
written or maintained several such tools at different companies over
the years and it seemed a good thing to have a single open source
tool, flexible enough to meet the needs of any team doing continuous
integrating and or running a complex suite of tests for release

qualification.


Megatest Design Philosophy
--------------------------

Megatest is a distributed system intended to provide the minimum needed
resources to make writing a suite of tests and tasks for implementing
continuous build for software, design engineering or process control (via
owlfs for example) without being specialized for any specific problem
space. Megatest in of itself does not know what constitutes a PASS or FAIL
of a test or task. In most cases megatest is best used in conjunction with
logpro or a similar tool to parse, analyze and decide on the test outcome.

 * Self-checking -Repeatable strive for directed or self-checking test
   as opposed to delta based tests


 * Traceable - environment variables, host OS and other possibly influential
   variables are captured and kept recorded.

 * Immutable - once this test is run it cannot be easily overwritten or
   accidentally modified.

 * Repeatable - this test result can be recreated in the future


 * Relocatable - the testsuite or automation area can be checked out and the tests run anywhere


 * Encapsulated - the tests run in self-contained directories and all inputs
   and outputs to the process can be found in the run areas.

 * Deployable - anyone on the team, at any site, at any time can run the flow



Megatest Architecture
---------------------




All data to specify the tests and configure the system is stored in
plain text files. All system state is stored in an sqlite3





database. Tests are launched using the launching system available for
the distributed compute platform in use. A template script is provided
which can launch jobs on local and remote Linux hosts. Currently
megatest uses the network filesystem to call home to your master
sqlite3 database.



include::plan.in[]
// to allow the getting_started.txt to be a stand-alone document use level
shifting, note that the preceding blank line is needed.
// :leveloffset: 2

include::installation.txt[]

include::getting_started.in[]



:leveloffset: 0

include::writing_tests.txt[]
include::howto.in[]

include::reference.in[]


Megatest Internals
------------------

["graphviz", "server.png"]
----------------------------------------------------------------------
include::server.dot[]
----------------------------------------------------------------------







// [appendix]
// Example Appendix
// ================
// One or more optional appendixes go here at section level zero.
// 







|
|
|
|
|
>
|
>












|
|
>

|
|

|
|

|
>

|
>

|
|

|
>
>




>
>
>

|
>
>
>
>
>
|
|


|
>
>

|
<
<
<



|

>
>
|


|
>
|
>








>
>
>
>
>







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
----------------------------

Why Megatest?
-------------

The Megatest project was started for two reasons, the first was an
immediate and pressing need for a generalized tool to manage a suite
of regression tests and the second was the fact that I had written or
maintained several such tools at different companies over the years. I
thought a single open source tool, flexible enough to meet the needs
of any team doing continuous integrating and or running a complex
suite of tests for release qualification would solve some problems for
me and for others.

 -- Matt Welland, original author of the Megatest tool suite.

Megatest Design Philosophy
--------------------------

Megatest is a distributed system intended to provide the minimum needed
resources to make writing a suite of tests and tasks for implementing
continuous build for software, design engineering or process control (via
owlfs for example) without being specialized for any specific problem
space. Megatest in of itself does not know what constitutes a PASS or FAIL
of a test or task. In most cases megatest is best used in conjunction with
logpro or a similar tool to parse, analyze and decide on the test outcome.

 * Self-checking - make it as easy as possible to write self-checking
   tests (as opposed to using deltas, i.e. tests that compare with a
   previous measurement to deterine PASS/FAIL).

 * Traceable - environment variables, host OS and other possibly
   influential variables are captured and kept recorded.

 * Immutable - once a test is run it cannot be easily overwritten or
   modified accidentally.

 * Repeatable - test results can be recreated in the future using all
   the original variables.

 * Relocatable - the testsuite or automation area can be checked out
   and the tests run anywhere in the disk hierarchy.

 * Encapsulated - the tests run in self-contained directories and all
   inputs and outputs to the process can be found in the run areas.

 * Deployable - a testsuite is self-contained and can be bundled with
   a software project and easily used by others with little to no
   setup burden.

Megatest Architecture
---------------------

Data separation
~~~~~~~~~~~~~~~

All data to specify the tests and configure the system is stored in
plain text config files. All system state is stored in an sqlite3
database.

Distributed Compute
~~~~~~~~~~~~~~~~~~~

Tests are launched using the launching system available for the
distributed compute platform in use. A template script is provided
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.

include::overview.txt[]




include::installation.txt[]

include::getting_started.txt[]

include::study_plan.txt[]

// :leveloffset: 0

include::writing_tests.txt[]
include::howto.txt[]

include::reference.txt[]


Megatest Internals
------------------

["graphviz", "server.png"]
----------------------------------------------------------------------
include::server.dot[]
----------------------------------------------------------------------

include::plan.txt[]
// to allow the getting_started.txt to be a stand-alone document use level
shifting, note that the preceding blank line is needed.
// :leveloffset: 2


// [appendix]
// Example Appendix
// ================
// One or more optional appendixes go here at section level zero.
// 
150
151
152
153
154
155
156
157
158
159
160
161
162
// 
// [colophon]
// Example Colophon
// ================
// Text at the end of a book describing facts about its production.

[index]
Example Index
-------------
////////////////////////////////////////////////////////////////
The index is normally left completely empty, it's contents are
generated automatically by the DocBook toolchain.
////////////////////////////////////////////////////////////////







|
|




173
174
175
176
177
178
179
180
181
182
183
184
185
// 
// [colophon]
// Example Colophon
// ================
// Text at the end of a book describing facts about its production.

[index]
Index
-----
////////////////////////////////////////////////////////////////
The index is normally left completely empty, it's contents are
generated automatically by the DocBook toolchain.
////////////////////////////////////////////////////////////////

Deleted docs/manual/plan.in version [660a99057c].

1
2
3
4
5
6
7
8
9
10
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
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
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
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
Road Map
--------

// This file is part of Megatest.
// 
//     Megatest is free software: you can redistribute it and/or modify
//     it under the terms of the GNU General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
// 
//     Megatest is distributed in the hope that it will be useful,
//     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/>.

// Copyright 2006-2012, Matthew Welland.

Note 1: This road-map continues to evolve and subject to change without notice.

Here is a smattering of ideas for Megatest 2.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

. Add variable $MT_RUNPATH = $MT_LINKTREE/$MT_TARGET/$MT_RUNNAME
----------------
[db]
api legacy|new
----------------
. One big lesson from the 1.63-1.65 generation was that the main.db, 1.db … model was really good at scaling. I’d like to combine that model with the current also-very-good model. Obviously this is a disruptive change. I think making the old model the default and the new model an option for at least one generation would be fair.
.   Rigorous megatest.config and runconfig.config caching.
..  Cache the configs in $MT_RUNPATH
..  Following invocations of –run, -rerun* will calculate the new config but only overwrite the cached file IF changed
. If the cached file changes ALL existing tests go from COMPLETED -> STALE, I’m not sure what to do about RUNNING tests
. !VARS in runconfigs are not exported to the environment. They are accessed via rget as if the ! was not there.
. Per test copy commands (crude example below is not correct).
----------------
[testcopy]
%/iind% unison SRC DEST
% cp –r SRC DEST
----------------
.	Test management via pkts (optional?)
..	Control pkt types: run, kill, rerunclean, clean, archive, status?
..	Status pkt types: ack, step, status_change
.	Add nanomsg as a transport option
.	

RFC M01: Add ability to move runs to other Areas
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*Purpose*: allow shrinking megatest.db data by moving runs to an alternate
 Megatest area with same keys.

*Method*: extend db sync to take a different megatest area as a destination.

*Design*:

. add param -destination [area|path]. when specified runs are copied to new
  area and removed from local db.
. the data move would involve these steps
.. copy the run data to destination area megatest.db
.. mark the run records as deleted, do not remove the run data on disk
. accessing the data would be by running dashboard in the satellite area
. future versions of Megatest dashboard should support displaying areas in a
  merged way.
. some new controls would be supported in the config
.. [setup] => allow-runs [no|yes]  <== used to disallow runs
.. [setup] => auto-migrate=[areaname|path]  <== used to automatically
   migrate data to a satellite area.

*Branch*: This work is taking place on branch v1.65-reduce-records

RFC M02: Move data into completed-runs.db
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*Purpose*: shrink megatest.db data to enable lower load and higher performance.

*Method*: add a completed-runs.db and automatically move runs data from megatest.db to that db

*Design*:

. completed-runs.db is a full megatest database with complete schema
. the data move would involve these steps
.. copy the run data to completed-runs.db
.. remove the run data, first from /tmp/…/megatest.db and /tmp/…/megatest_ref.db, followed by megatest.db
. accessing the data would be unchanged for most operations.
. a mode -full-db will be added which when specified would attach the completed-runs.db to megatest.db before doing the query
. mechanisms for moving runs to/from the megatest.db would be added
.. -reduce-records => move runs to completed-runs.db
.. -restore-records => move runs from completed-runs.db to megatest.db

*Branch*: This work is taking place on branch v1.65-reduce-records

RFC M03: Automatic homehost migrations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*Purpose*: Automatically migrate homehost.

*Method*: Check that there are no tests running, launched or remotehoststart in past ½ hour then if not on homehost migrate the db to current host

*Design*:

. Check that the system is quiescent, i.e. that there are no runs in flight or recently run
. Create a lock
. Migrate the /tmp cache db to the current host
. Update the .homehost file
. Remove the lock

*Branch*: This work not yet started

Architecture Refactor
~~~~~~~~~~~~~~~~~~~~~

Goals
^^^^^

. Reduce load on the file system. Sqlite3 files on network filesystem can be
  a burden. [green]#[DONE]#
. Reduce number of servers and frequency of start/stop. This is mostly an
  issue of clutter but also a reduction in "moving parts". [green]#[DONE]#
. Coalesce activities to a single home host where possible. Give the user
  feedback that they have started the dashboard on a host other than the
  home host. [green]#[DONE]#
. Reduce number of processes involved in managing running tests.

Changes Needed
^^^^^^^^^^^^^^

. ACID compliant db will be on /tmp and synced to megatest.db with a five
  second max delay. [green]#[DONE]#
. Read/writes to db for processes on homehost will go direct to /tmp
  megatest.db file. [green]#[DONE]#
. Read/wites fron non-homehost processes will go through one server. Bulk
  reads (e.g. for dashboard or list-runs) will be cached on the current host
  in /tmp and synced from the home megatest.db in the testsuite area. [green]#[DONE]#
. Db syncs rely on the target db file timestame minus some margin. [green]#[DONE]#
. Since bulk reads do not use the server we can switch to simple RPC for the
  network transport. [green]#[DONE]#
. Test running manager process extended to manage multiple running tests.

Current Items
~~~~~~~~~~~~~

ww05 - migrate to inmem-db
^^^^^^^^^^^^^^^^^^^^^^^^^^

. Switch to inmem db with fast sync to on disk db's [green]#[DONE]#
. Server polls tasks table for next action
.. Task table used for tracking runner process [red]#[Replaced by mtutil]#
.. Task table used for jobs to run [red]#[Replaced by mtutil]#
.. Task table used for queueing runner actions (remove runs,
   cleanRunExecute, etc)  [red]#[Replaced by mtutil#]


// ww32
// ~~~~
// 
// . Rerun step and or subsequent steps from gui
// . Refresh test area files from gui
// . Clean and re-run button
// . Clean up STATE and STATUS handling.
// .. Dashboard and Test control panel are reverse order - choose and fix
// .. Move seldom used states and status to drop down selector
// . Access test control panel when clicking on Run Summary tests
// . Feature: -generate-index-tree
// . Change specifing of state and status to use STATE1/STATUS1,STATE2/STATUS2
// 
// ww33
// ~~~~
// 
// . http api available for use with Perl, Ruby etc. scripts
// . megatest.config setup entries for:
// .. run launching (e.g. /bin/sh %CMD% > /dev/null)
// .. browser "konqueror %FNAME%
// 
// ww34
// ~~~~
// 
// . Mark dependent tests for clean/rerun -rerun-downstream
// . On run start check for defunct tests in RUNNING, LAUNCHED or REMOTEHOSTSTART and correct or notify
// . Fix: refresh of gui sometimes fails on last item (race condition?)
// 
// ww35
// ~~~~
// 
// . refdb: Add export of csv, json and sexp
// . Convert to using call-with-environment-variables where possible. Should allow handling of parallel runs in same process.
// . Re-work text interface wizards. Several bugs on record. Possibly convert to gui based.
// . Add to testconfig requirements section; launchlimiter scriptname, calls scriptname to check if ok to launch test
// . Refactor Run Summary view, currently very clumsy
// . Add option to show steps in Run Summary view
// 
// ww36
// ~~~~
// 
// . Refactor guis for resizeablity
// . Add filters to Run Summary view and Run Control view
// . Add to megatest.config or testconfig; rerunok STATE/STATUS,STATE/STATUS...
// . Launch gates for diskspace; /path/one>1G,/path/two>200M,/tmp>5G,#{scheme *toppath*}>1G
// 
// Bin List
// ~~~~~~~~
// 
// .	Quality improvements
// ..	Server stutters occasionally
// ..	Large number of items or tests still has some issues.
// ..	Code refactoring
// ..	Replace remote process with true API using json (supports Web app also)
// .	Streamline the gui
// ..	Everything resizable
// ..	Less clutter
// ..	Tool tips
// ..	Filters on Run Summary, Summary and Run Control panel
// ..	Built in log viewer (partially implemented)
// ..	Refactor the test control panel
// .	Help and documentation
// ..	Complete the user manual (I’ve been working on this lately).
// ..	Online help in the gui
// .	Streamlined install
// ..	Deployed version (download a location independent ready to run binary bundle)
// ..	Install Makefile (in progress, needed for Mike to install on VMs)
// ..	Added option to compile IUP (needed for VMs)
// .	Server side run launching
// .	Support for re-running, cleaning etc. of individual steps (ezsteps makes this very easy to implement).
// .	Launch process needs built in daemonizing (easy to do, just need to test it thoroughly).
// .	Wizards for creating tests, regression areas (current ones are text only and limited).
// .	Fully functional built in web service (currently you can browse runs but it is very simplistic).
// .	Wildcards in runconfigs: e.g. [p1271/9/%/%]
// .	Gui panels for editing megatest.config and runconfigs.config
// .	Fully isolated tests (no use of NFS to see regression area files)
// .	Windows version
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
















































































































































































































































































































































































































































































Added docs/manual/plan.txt version [660a99057c].

















































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
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
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
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
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
Road Map
--------

// This file is part of Megatest.
// 
//     Megatest is free software: you can redistribute it and/or modify
//     it under the terms of the GNU General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
// 
//     Megatest is distributed in the hope that it will be useful,
//     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/>.

// Copyright 2006-2012, Matthew Welland.

Note 1: This road-map continues to evolve and subject to change without notice.

Here is a smattering of ideas for Megatest 2.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

. Add variable $MT_RUNPATH = $MT_LINKTREE/$MT_TARGET/$MT_RUNNAME
----------------
[db]
api legacy|new
----------------
. One big lesson from the 1.63-1.65 generation was that the main.db, 1.db … model was really good at scaling. I’d like to combine that model with the current also-very-good model. Obviously this is a disruptive change. I think making the old model the default and the new model an option for at least one generation would be fair.
.   Rigorous megatest.config and runconfig.config caching.
..  Cache the configs in $MT_RUNPATH
..  Following invocations of –run, -rerun* will calculate the new config but only overwrite the cached file IF changed
. If the cached file changes ALL existing tests go from COMPLETED -> STALE, I’m not sure what to do about RUNNING tests
. !VARS in runconfigs are not exported to the environment. They are accessed via rget as if the ! was not there.
. Per test copy commands (crude example below is not correct).
----------------
[testcopy]
%/iind% unison SRC DEST
% cp –r SRC DEST
----------------
.	Test management via pkts (optional?)
..	Control pkt types: run, kill, rerunclean, clean, archive, status?
..	Status pkt types: ack, step, status_change
.	Add nanomsg as a transport option
.	

RFC M01: Add ability to move runs to other Areas
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*Purpose*: allow shrinking megatest.db data by moving runs to an alternate
 Megatest area with same keys.

*Method*: extend db sync to take a different megatest area as a destination.

*Design*:

. add param -destination [area|path]. when specified runs are copied to new
  area and removed from local db.
. the data move would involve these steps
.. copy the run data to destination area megatest.db
.. mark the run records as deleted, do not remove the run data on disk
. accessing the data would be by running dashboard in the satellite area
. future versions of Megatest dashboard should support displaying areas in a
  merged way.
. some new controls would be supported in the config
.. [setup] => allow-runs [no|yes]  <== used to disallow runs
.. [setup] => auto-migrate=[areaname|path]  <== used to automatically
   migrate data to a satellite area.

*Branch*: This work is taking place on branch v1.65-reduce-records

RFC M02: Move data into completed-runs.db
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*Purpose*: shrink megatest.db data to enable lower load and higher performance.

*Method*: add a completed-runs.db and automatically move runs data from megatest.db to that db

*Design*:

. completed-runs.db is a full megatest database with complete schema
. the data move would involve these steps
.. copy the run data to completed-runs.db
.. remove the run data, first from /tmp/…/megatest.db and /tmp/…/megatest_ref.db, followed by megatest.db
. accessing the data would be unchanged for most operations.
. a mode -full-db will be added which when specified would attach the completed-runs.db to megatest.db before doing the query
. mechanisms for moving runs to/from the megatest.db would be added
.. -reduce-records => move runs to completed-runs.db
.. -restore-records => move runs from completed-runs.db to megatest.db

*Branch*: This work is taking place on branch v1.65-reduce-records

RFC M03: Automatic homehost migrations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

*Purpose*: Automatically migrate homehost.

*Method*: Check that there are no tests running, launched or remotehoststart in past ½ hour then if not on homehost migrate the db to current host

*Design*:

. Check that the system is quiescent, i.e. that there are no runs in flight or recently run
. Create a lock
. Migrate the /tmp cache db to the current host
. Update the .homehost file
. Remove the lock

*Branch*: This work not yet started

Architecture Refactor
~~~~~~~~~~~~~~~~~~~~~

Goals
^^^^^

. Reduce load on the file system. Sqlite3 files on network filesystem can be
  a burden. [green]#[DONE]#
. Reduce number of servers and frequency of start/stop. This is mostly an
  issue of clutter but also a reduction in "moving parts". [green]#[DONE]#
. Coalesce activities to a single home host where possible. Give the user
  feedback that they have started the dashboard on a host other than the
  home host. [green]#[DONE]#
. Reduce number of processes involved in managing running tests.

Changes Needed
^^^^^^^^^^^^^^

. ACID compliant db will be on /tmp and synced to megatest.db with a five
  second max delay. [green]#[DONE]#
. Read/writes to db for processes on homehost will go direct to /tmp
  megatest.db file. [green]#[DONE]#
. Read/wites fron non-homehost processes will go through one server. Bulk
  reads (e.g. for dashboard or list-runs) will be cached on the current host
  in /tmp and synced from the home megatest.db in the testsuite area. [green]#[DONE]#
. Db syncs rely on the target db file timestame minus some margin. [green]#[DONE]#
. Since bulk reads do not use the server we can switch to simple RPC for the
  network transport. [green]#[DONE]#
. Test running manager process extended to manage multiple running tests.

Current Items
~~~~~~~~~~~~~

ww05 - migrate to inmem-db
^^^^^^^^^^^^^^^^^^^^^^^^^^

. Switch to inmem db with fast sync to on disk db's [green]#[DONE]#
. Server polls tasks table for next action
.. Task table used for tracking runner process [red]#[Replaced by mtutil]#
.. Task table used for jobs to run [red]#[Replaced by mtutil]#
.. Task table used for queueing runner actions (remove runs,
   cleanRunExecute, etc)  [red]#[Replaced by mtutil#]


// ww32
// ~~~~
// 
// . Rerun step and or subsequent steps from gui
// . Refresh test area files from gui
// . Clean and re-run button
// . Clean up STATE and STATUS handling.
// .. Dashboard and Test control panel are reverse order - choose and fix
// .. Move seldom used states and status to drop down selector
// . Access test control panel when clicking on Run Summary tests
// . Feature: -generate-index-tree
// . Change specifing of state and status to use STATE1/STATUS1,STATE2/STATUS2
// 
// ww33
// ~~~~
// 
// . http api available for use with Perl, Ruby etc. scripts
// . megatest.config setup entries for:
// .. run launching (e.g. /bin/sh %CMD% > /dev/null)
// .. browser "konqueror %FNAME%
// 
// ww34
// ~~~~
// 
// . Mark dependent tests for clean/rerun -rerun-downstream
// . On run start check for defunct tests in RUNNING, LAUNCHED or REMOTEHOSTSTART and correct or notify
// . Fix: refresh of gui sometimes fails on last item (race condition?)
// 
// ww35
// ~~~~
// 
// . refdb: Add export of csv, json and sexp
// . Convert to using call-with-environment-variables where possible. Should allow handling of parallel runs in same process.
// . Re-work text interface wizards. Several bugs on record. Possibly convert to gui based.
// . Add to testconfig requirements section; launchlimiter scriptname, calls scriptname to check if ok to launch test
// . Refactor Run Summary view, currently very clumsy
// . Add option to show steps in Run Summary view
// 
// ww36
// ~~~~
// 
// . Refactor guis for resizeablity
// . Add filters to Run Summary view and Run Control view
// . Add to megatest.config or testconfig; rerunok STATE/STATUS,STATE/STATUS...
// . Launch gates for diskspace; /path/one>1G,/path/two>200M,/tmp>5G,#{scheme *toppath*}>1G
// 
// Bin List
// ~~~~~~~~
// 
// .	Quality improvements
// ..	Server stutters occasionally
// ..	Large number of items or tests still has some issues.
// ..	Code refactoring
// ..	Replace remote process with true API using json (supports Web app also)
// .	Streamline the gui
// ..	Everything resizable
// ..	Less clutter
// ..	Tool tips
// ..	Filters on Run Summary, Summary and Run Control panel
// ..	Built in log viewer (partially implemented)
// ..	Refactor the test control panel
// .	Help and documentation
// ..	Complete the user manual (I’ve been working on this lately).
// ..	Online help in the gui
// .	Streamlined install
// ..	Deployed version (download a location independent ready to run binary bundle)
// ..	Install Makefile (in progress, needed for Mike to install on VMs)
// ..	Added option to compile IUP (needed for VMs)
// .	Server side run launching
// .	Support for re-running, cleaning etc. of individual steps (ezsteps makes this very easy to implement).
// .	Launch process needs built in daemonizing (easy to do, just need to test it thoroughly).
// .	Wizards for creating tests, regression areas (current ones are text only and limited).
// .	Fully functional built in web service (currently you can browse runs but it is very simplistic).
// .	Wildcards in runconfigs: e.g. [p1271/9/%/%]
// .	Gui panels for editing megatest.config and runconfigs.config
// .	Fully isolated tests (no use of NFS to see regression area files)
// .	Windows version

Deleted docs/manual/reference.in version [fdffcfb115].

1
2
3
4
5
6
7
8
9
10
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
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
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
215
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
253
254
255
256
257
258
259
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
317
318
319
320
321
322
323
324
325
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
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
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
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
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
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
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
// This file is part of Megatest.
// 
//     Megatest is free software: you can redistribute it and/or modify
//     it under the terms of the GNU General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
// 
//     Megatest is distributed in the hope that it will be useful,
//     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/>.

Reference
---------

Megatest Use Modes
~~~~~~~~~~~~~~~~~~

.Base commands
[width="80%",cols="^,2m,2m",frame="topbot",options="header"]
|======================
|Use case	         | Megatest command	|  mtutil
|Start from scratch       |	-rerun-all	|  restart	
|Rerun non-good completed |	-rerun-clean	|  rerunclean	
|Rerun all non-good and not completed yet | -set-state-status KILLREQ; -rerun-|clean | killrerun	
|Continue run             |	-run	        |  resume	
|Remove run	         |      -remove-runs	|  clean	
|Lock run	         |      -lock	        |  lock	
|Unlock run	         |      -unlock	        |  unlock	
|killrun	                 | -set-state-status KILLREQ; -kill-run	| killrun	
|======================

Config File Helpers
~~~~~~~~~~~~~~~~~~~

Various helpers for more advanced config files.

.Helpers
[width="80%",cols="^,2m,2m,2m",frame="topbot",options="header"]
|======================
|Helper                      | Purpose                       | Valid values            | Comments
| #{scheme (scheme code...)} | Execute arbitrary scheme code | Any valid scheme        | Value returned from the call is converted to a string and processed as part of the config file
| #{system command}          | Execute program, inserts exit code  | Any valid Unix command  | Discards the output from the program
| #{shell  command} or #{sh ...}  | Execute program, inserts result from stdout | Any valid Unix command | Value returned from the call is converted to a string and processed as part of the config file
| #{realpath path} or #{rp ...}   | Replace with normalized path | Must be a valid path |
| #{getenv VAR} or #{gv VAR}      | Replace with content of env variable | Must be a valid var |
| #{get s v} or #{g s v}     | Replace with variable v from section s | Variable must be defined before use |
| #{rget v}                  | Replace with variable v from target or default of runconfigs file | |
| #{mtrah}                   | Replace with the path to the megatest testsuite area | | 
|======================

Config File Settings
~~~~~~~~~~~~~~~~~~~~

Settings in megatest.config

Config File Additional Features
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Including output from a script as if it was inline to the config file:

-------------------------
[scriptinc myscript.sh]
-------------------------

If the script outputs:

-------------------------
[items]
A a b c
B d e f
-------------------------

Then the config file would effectively appear to contain an items section
exactly like the output from the script. This is useful when dynamically
creating items, itemstables and other config structures. You can see the
expansion of the call by looking in the cached files (look in your linktree
for megatest.config and runconfigs.config cache files and in your test run
areas for the expanded and cached testconfig).

Wildcards and regexes in Targets

-------------------------
[a/2/b]
VAR1 VAL1

[a/%/b]
VAR1 VAL2
-------------------------

Will result in:

-------------------------
[a/2/b]
VAR1 VAL2
-------------------------

Can use either wildcard of "%" or a regular expression:

-------------------------
[/abc.*def/]
-------------------------

Disk Space Checks
^^^^^^^^^^^^^^^^^

Some parameters you can put in the [setup] section of megatest.config:

-------------------
# minimum space required in a run disk 
minspace 10000000

# minimum space required in dbdir:
dbdir-space-required 100000

# script that takes path as parameter and returns number of bytes available:
free-space-script check-space.sh
-------------------

Trim trailing spaces
^^^^^^^^^^^^^^^^^^^^

------------------
[configf:settings trim-trailing-spaces yes]
------------------

Job Submission Control
^^^^^^^^^^^^^^^^^^^^^^

Submit jobs to Host Types based on Test Name
++++++++++++++++++++++++++++++++++++++++++++

.In megatest.config
------------------------
[host-types]
general   nbfake
remote    bsub

[launchers]
runfirst/sum% remote
% general

[jobtools]
launcher bsub
# if defined and not "no" flexi-launcher will bypass launcher unless 
# there is no host-type match.
flexi-launcher yes
------------------------

host-types
++++++++++

List of host types and the commandline to run a job on that host type.

.host-type => launch command
------------
general nbfake
------------

launchers
+++++++++

.test/itempath => host-type
------------
runfirst/sum% remote
------------

Miscellaneous Setup Items
+++++++++++++++++++++++++

Attempt to rerun tests in "STUCK/DEAD", "n/a", "ZERO_ITEMS" states.

.In megatest.config
------------------
[setup]
reruns 5
------------------

Replace the default blacklisted environment variables with user supplied
list.

Default list: USER HOME DISPLAY LS_COLORS XKEYSYMDB EDITOR MAKEFLAGS MAKEF MAKEOVERRIDES

.Add a "bad" variable "PROMPT" to the variables that will be commented out
in the megatest.sh and megatest.csh files:
-----------------
[setup]
blacklistvars USER HOME DISPLAY LS_COLORS XKEYSYMDB EDITOR MAKEFLAGS PROMPT
-----------------

Run time limit
++++++++++++++

-----------------
[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

The default is the graphviz based tree but if your tests don't view
well in that mode then use "nodot" to turn it off.

-----------------
[setup]
nodot
-----------------

Capturing Test Data
~~~~~~~~~~~~~~~~~~~

In a test you can capture arbitrary variables and roll them up in the
megatest database for viewing on the dashboard or web app.

.In a test as a script
------------------------
$MT_MEGATEST -load-test-data << EOF
foo,bar,   1.2,  1.9, >
foo,rab, 1.0e9, 10e9, 1e9
foo,bla,   1.2,  1.9, <
foo,bal,   1.2,  1.2, <   ,     ,Check for overload
foo,alb,   1.2,  1.2, <=  , Amps,This is the high power circuit test
foo,abl,   1.2,  1.3, 0.1
foo,bra,   1.2, pass, silly stuff
faz,bar,    10,  8mA,     ,     ,"this is a comment"
EOF
------------------------

Alternatively you can use logpro triggers to capture values and inject them
into megatest using the -set-values mechanism:

.Megatest help related to -set-values
------------------------
Test data capture
  -set-values             : update or set values in the testdata table
  :category               : set the category field (optional)
  :variable               : set the variable name (optional)
  :value                  : value measured (required)
  :expected               : value expected (required)
  :tol                    : |value-expect| <= tol (required, can be <, >, >=, <= or number)
  :units                  : name of the units for value, expected_value etc. (optional)
------------------------

Dashboard settings
~~~~~~~~~~~~~~~~~~

.Runs tab buttons, font and size
------------------
[dashboard]
btn-height x14
btn-fontsz 10
cell-width 60
------------------

Database settings
~~~~~~~~~~~~~~~~~

.Database config settings in [setup] section of megatest.config
[width="70%",cols="^,2m,2m,2m",frame="topbot",options="header"]
|======================
|Var                       | Purpose            | Valid values            | Comments
|delay-on-busy             | Prevent concurrent access issues | yes\|no or not defined | Default=no, may help on some network file systems, may slow things down also.
|faststart		   | All direct file access to sqlite db files | yes\|no or not defined | Default=yes, suggest no for central automated systems and yes for interactive use
|homehost 		   | Start servers on this host | <hostname> | Defaults to local host
|hostname		   | Hostname to bind to | <hostname>\|-	  | On multi-homed hosts allows binding to specific hostname
|lowport		   | Start searching for a port at this portnum| 32768 | 
|required		   | Server required    | yes\|no or not defined  | Default=no, force start of server always
|server-query-threshold	   | Start server when queries take longer than this | number in milliseconds | Default=300
|timeout		   | http api timeout 	| number in hours	  | Default is 1 minute, do not change
|======================

The testconfig File
-------------------

Setup section
~~~~~~~~~~~~~

Header
^^^^^^

-------------------
[setup]
-------------------

The runscript method is a brute force way to run scripts where the
user is responsible for setting STATE and STATUS

-------------------
runscript main.csh
-------------------

Requirements section
~~~~~~~~~~~~~~~~~~~~

.Header
-------------------
[requirements]
-------------------

Wait on Other Tests
^^^^^^^^^^^^^^^^^^^

-------------------
# A normal waiton waits for the prior tests to be COMPLETED 
# and PASS, CHECK or WAIVED
waiton test1 test2
-------------------

Mode
^^^^

The default (i.e. if mode is not specified) is normal. All pre-dependent tests
must be COMPLETED and PASS, CHECK or WAIVED before the test will start

-------------------
[requirements]
mode   normal
-------------------

The toplevel mode requires only that the prior tests are COMPLETED.

-------------------
[requirements]
mode toplevel
-------------------

A item based waiton will start items in a test when the same-named
item is COMPLETED and PASS, CHECK or WAIVED in the prior test. This
was historically called "itemwait" mode. The terms "itemwait" and
"itemmatch" are synonyms.

-------------------
[requirements]
mode itemmatch
-------------------

Overriding Enviroment Variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Override variables before starting the test. Can include files (perhaps generated by megatest -envdelta or similar).

--------------------
[pre-launch-env-vars]
VAR1 value1

# Get some generated settings
[include ../generated-vars.config]

# Use this trick to unset variables
#{scheme (unsetenv "FOOBAR")}
--------------------

Itemmap Handling
~~~~~~~~~~~~~~~~

For cases were the dependent test has a similar but not identical
itempath to the downstream test an itemmap can allow for itemmatch
mode

.example for removing part of itemmap for waiton test (eg: item +foo-x/bar+ depends on waiton's item +y/bar+)
-------------------
[requirements]
mode itemwait
# itemmap <item pattern for this test>  <item replacement pattern for waiton test>
itemmap .*x/ y/

-------------------

.example for removing part of itemmap for waiton test (eg: item +foo/bar/baz+ in this test depends on waiton's item +baz+)
-------------------

# ## pattern replacement notes
#
# ## Example
# ## Remove everything up to the last /
[requirements]
mode itemwait
# itemmap <item pattern for this test> <nothing here indicates removal>
itemmap .*/
-------------------

.example replacing part of itemmap for (eg: item +foo/1234+ will imply waiton's item +bar/1234+)
-------------------

#
# ## Example
# ## Replace foo/ with bar/
[requirements]
mode itemwait
# itemmap <item pattern for this test>  <item replacement pattern for waiton test>
itemmap foo/ bar/

-------------------

.example for backreference (eg: item +foo23/thud+ will imply waiton's item +num-23/bar/thud+
-------------------
#
# ## Example
# ## can use \{number} in replacement pattern to backreference a (capture) from matching pattern similar to sed or perl
[requirements]
mode itemwait
# itemmap <item pattern for this test>  <item replacement pattern for waiton test>
itemmap foo(\d+)/ num-\1/bar/

-------------------

.example multiple itemmaps
-------------------

# multi-line; matches are applied in the listed order
# The following would map:
#   a123b321 to b321fooa123 then to 321fooa123p
#
[requirements]
itemmap (a\d+)(b\d+) \2foo\1
  b(.*) \1p
-------------------


Complex mapping
^^^^^^^^^^^^^^^
Complex mappings can be handled with a separate [itemmap] section (instead if an itemmap line in the [requirements] section)

Each line in an itemmap section starts with a waiton test name followed by an itemmap expression

.eg: The following causes waiton test A item +bar/1234+ to run when our test's +foo/1234+ item is requested as well as causing waiton test B's +blah+ item to run when our test's +stuff/blah+ item is requested
--------------
[itemmap]
A foo/ bar/
B stuff/
--------------


Complex mapping example
^^^^^^^^^^^^^^^^^^^^^^^



// image::itemmap.png[]
image::complex-itemmap.png[]


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

.Testconfig for Test E has
----------------------
[requirements]
waiton C
itemmap (\d+)/res \1/bb
----------------------

.Testconfig for Test D has
----------------------
[requirements]
waiton C
itemmap (\d+)/res \1/aa
----------------------

.Testconfig for Test C has
----------------------
[requirements]
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
-------------------
-------------------

.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&plus;)/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&plus;)/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.



itemstable
^^^^^^^^^^
An alternative to defining items is the itemstable section.  This lets you define the itempath in a table format rather than specifying components and relying on getting all permutations of those components.





Dynamic Flow Dependency Tree
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.Autogeneration waiton list for dynamic flow dependency trees
-------------------
[requirements]
# With a toplevel test you may wish to generate your list 
# of tests to run dynamically
#
waiton #{shell get-valid-tests-to-run.sh}
-------------------

Run time limit
^^^^^^^^^^^^^^

-----------------
[requirements]
runtimelim 1h 2m 3s  # this will automatically kill the test if it runs for more than 1h 2m and 3s
-----------------

Skip
^^^^

A test with a skip section will conditional skip running.

.Skip section example
-----------------
[skip]
prevrunning x
# rundelay 30m 15s
-----------------

Skip on Still-running Tests
^^^^^^^^^^^^^^^^^^^^^^^^^^^

-----------------
# NB// If the prevrunning line exists with *any* value the test will
# automatically SKIP if the same-named test is currently RUNNING. The
# "x" can be any string. Comment out the prevrunning line to turn off
# skip.

[skip]
prevrunning x
-----------------

Skip if a File Exists
^^^^^^^^^^^^^^^^^^^^^

-----------------
[skip]
fileexists /path/to/a/file # skip if /path/to/a/file exists
-----------------

Skip if test ran more recently than specified time
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.Skip if this test has been run in the past fifteen minutes and 15 seconds.
-----------------
[skip]
rundelay 15m 15s
-----------------

Disks
^^^^^

A disks section in testconfig will override the disks section in
megatest.config. This can be used to allocate disks on a per-test or per item
basis.

Controlled waiver propagation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

If test is FAIL and previous test in run with same MT_TARGET is WAIVED then apply the following rules from the testconfig:
If a waiver check is specified in the testconfig apply the check and if it passes then set this FAIL to WAIVED

Waiver check has two parts, 1) a list of waiver, rulename, filepatterns and 2) the rulename script spec (note that "diff" and "logpro" are predefined)

-----------------
###### EXAMPLE FROM testconfig #########
# matching file(s) will be diff'd with previous run and logpro applied
# if PASS or WARN result from logpro then WAIVER state is set
#
[waivers]
# logpro_file    rulename      input_glob
waiver_1         logpro        lookittmp.log

[waiver_rules]

# This builtin rule is the default if there is no <waivername>.logpro file
# diff   diff %file1% %file2%

# This builtin rule is applied if a <waivername>.logpro file exists
# logpro diff %file1% %file2% | logpro %waivername%.logpro %waivername%.html
-----------------

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:

----------------------------
$MT_MEGATEST -env2file .ezsteps/${stepname}	  
----------------------------

Triggers
~~~~~~~~

In your testconfig or megatest.config triggers can be specified 

-----------------
[triggers]

# Call script running.sh when test goes to state=RUNNING, status=PASS
RUNNING/PASS running.sh

# Call script running.sh any time state goes to RUNNING
RUNNING/ running.sh

# Call script onpass.sh any time status goes to PASS
PASS/ onpass.sh
-----------------

Scripts called will have; test-id test-rundir trigger test-name item-path state status event-time, added to the commandline.

HINT

To start an xterm (useful for debugging), use a command line like the following:

-----------------
[triggers]
COMPLETED/ xterm -e bash -s -- 
-----------------

NOTE: There is a trailing space after the --

There are a number of environment variables available to the trigger script
but since triggers can be called in various contexts not all variables are
available at all times. The trigger script should check for the variable and
fail gracefully if it doesn't exist.

.Environment variables visible to the trigger script
[width="90%",cols="^,2m",frame="topbot",options="header"]
|======================
|Variable             | Purpose            
| MT_TEST_RUN_DIR     | The directory where Megatest ran this test                   
| MT_CMDINFO          | Encoded command data for the test                   
| MT_DEBUG_MODE       | Used to pass the debug mode to nested calls to Megatest                   
| MT_RUN_AREA_HOME    | Megatest home area 
| MT_TESTSUITENAME    | The name of this testsuite or area                   
| MT_TEST_NAME        | The name of this test
| MT_ITEM_INFO        | The variable and values for the test item
| MT_MEGATEST         | Which Megatest binary is being used by this area
| MT_TARGET           | The target variable values, separated by '/'
| MT_LINKTREE         | The base of the link tree where all run tests can be found
| MT_ITEMPATH         | The values of the item path variables, separated by '/'
| MT_RUNNAME          | The name of the run
|======================


Override the Toplevel HTML File
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Megatest generates a simple html file summary for top level tests of
iterated tests. The generation can be overridden. NOTE: the output of
the script is captured from stdout to create the html.


.For test "runfirst" override the toplevel generation with a script "mysummary.sh"
-----------------
# Override the rollup for specific tests
[testrollup]
runfirst mysummary.sh
-----------------

Archiving Setup
---------------

In megatest.config add the following sections:

.megatest.config
--------------
[archive]
# where to get bup executable
# bup /path/to/bup

[archive-disks]

# Archives will be organised under these paths like this:
#  <testsuite>/<creationdate>
# Within the archive the data is structured like this:
#  <target>/<runname>/<test>/
archive0 /mfs/myarchive-data/adisk1
--------------

Handling Environment Variables
------------------------------

It is often necessary to capture and or manipulate environment
variables. Megatest has some facilities built in to help.

Capture variables
~~~~~~~~~~~~~~~~~

.Commands
------------------------------
# capture the current enviroment into a db called envdat.db under
# the context "before"
megatest -envcap before

# capture the current environment into a db called startup.db with 
# context "after"
megatest -envcap after startup.db

# write the diff from before to after
megatest -envdelta before-after -dumpmode bash
------------------------------

Dump modes include bash, csh and config. You can include config data
into megatest.config or runconfigs.config.

.Example of generating and using config data
------------------------------
megatest -envcap original
# do some stuff here
megatest -envcap munged
megatest -envdelta original-munged -dumpmode ini -o modified.config
------------------------------

Then in runconfigs.config

.Example of using modified.config in a testconfig
------------------------------
cat testconfig
[pre-launch-env-vars]
[include modified.config]
------------------------------

Managing Old Runs
-----------------

It is often desired to keep some older runs around but this must be balanced with the costs of disk space.

. Use -remove-keep
. Use -archive (can also be done from the -remove-keep interface)
. use -remove-runs with -keep-records

.For each target, remove all runs but the most recent 3 if they are over 1 week old
---------------------
# use -precmd 'sleep 5;nbfake' to limit overloading the host computer but to allow the removes to run in parallel.
megatest -actions print,remove-runs -remove-keep 3 -target %/%/%/% -runname % -age 1w -precmd 'sleep 5;nbfake'"
---------------------

Nested Runs
-----------

A Megatest test can run a full Megatest run in either the same
Megatest area or in another area. This is a powerful way of chaining
complex suites of tests and or actions.

If you are not using the current area you can use ezsteps to retrieve
and setup the sub-Megatest run area.

In the testconfig:
---------------
[subrun]

# Required: wait for the run or just launch it
#           if no then the run will be an automatic PASS irrespective of the actual result
run-wait yes|no

# Optional: where to execute the run. Default is the current runarea
run-area /some/path/to/megatest/area

# Optional: method to use to determine pass/fail status of the run
#   auto (default) - roll up the net state/status of the sub-run
#   logpro         - use the provided logpro rules, happens automatically if there is a logpro section
# passfail auto|logpro
# Example of logpro:
passfail logpro

# Optional: 
logpro ;; if this section exists then logpro is used to determine pass/fail
  (expect:required in "LogFileBody" >= 1 "At least one pass" #/PASS/)
  (expect:error     in "LogFileBody"  = 0 "No FAILs allowed"  #/FAIL/)

# Optional: target translator, default is to use the parent target
target #{shell somescript.sh}

# Optional: runname translator/generator, default is to use the parent runname
run-name #{somescript.sh}

# Optional: testpatt spec, default is to first look for TESTPATT spec from runconfigs unless there is a contour spec
test-patt %/item1,test2

# Optional: contour spec, use the named contour from the megatest.config contour spec
contour contourname ### NOTE: Not implemented yet! Let us know if you need this feature.

# Optional: mode-patt, use this spec for testpatt from runconfigs
mode-patt TESTPATT

# Optional: tag-expr, use this tag-expr to select tests
tag-expr quick

# Optional: (not yet implemented, remove-runs is always propagated at this time), propagate these actions from the parent
#           test
#   Note// default is % for all
propagate remove-runs archive ...

---------------

Programming API
---------------

These routines can be called from the megatest repl. 

.API Keys Related Calls
[width="70%",cols="^,2m,2m,2m",frame="topbot",options="header,footer"]
|======================
|API Call                        | Purpose comments   | Returns                 | Comments
|(rmt:get-keys run-id)           |                    | ( key1 key2 ... )       | 
| (rmt:get-key-val-pairs run-id) |                    | #t=success/#f=fail      | Works only if the server is still reachable
|======================


:numbered!:
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<














































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































Added docs/manual/reference.txt version [57db531b75].





































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
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
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
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
215
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
253
254
255
256
257
258
259
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
317
318
319
320
321
322
323
324
325
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
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
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
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
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
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
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
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
864
865
866
// This file is part of Megatest.
// 
//     Megatest is free software: you can redistribute it and/or modify
//     it under the terms of the GNU General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
// 
//     Megatest is distributed in the hope that it will be useful,
//     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/>.

Reference
---------

Megatest Use Modes
~~~~~~~~~~~~~~~~~~

.Base commands
[width="80%",cols="^,2m,2m",frame="topbot",options="header"]
|======================
|Use case	         | Megatest command	|  mtutil
|Start from scratch       |	-rerun-all	|  restart	
|Rerun non-good completed |	-rerun-clean	|  rerunclean	
|Rerun all non-good and not completed yet | -set-state-status KILLREQ; -rerun-|clean | killrerun	
|Continue run             |	-run	        |  resume	
|Remove run	         |      -remove-runs	|  clean	
|Lock run	         |      -lock	        |  lock	
|Unlock run	         |      -unlock	        |  unlock	
|killrun	                 | -set-state-status KILLREQ; -kill-run	| killrun	
|======================

Config File Helpers
~~~~~~~~~~~~~~~~~~~

Various helpers for more advanced config files.

.Helpers
[width="80%",cols="^,2m,2m,2m",frame="topbot",options="header"]
|======================
|Helper                      | Purpose                       | Valid values            | Comments
| #{scheme (scheme code...)} | Execute arbitrary scheme code | Any valid scheme        | Value returned from the call is converted to a string and processed as part of the config file
| #{system command}          | Execute program, inserts exit code  | Any valid Unix command  | Discards the output from the program
| #{shell  command} or #{sh ...}  | Execute program, inserts result from stdout | Any valid Unix command | Value returned from the call is converted to a string and processed as part of the config file
| #{realpath path} or #{rp ...}   | Replace with normalized path | Must be a valid path |
| #{getenv VAR} or #{gv VAR}      | Replace with content of env variable | Must be a valid var |
| #{get s v} or #{g s v}     | Replace with variable v from section s | Variable must be defined before use |
| #{rget v}                  | Replace with variable v from target or default of runconfigs file | |
| #{mtrah}                   | Replace with the path to the megatest testsuite area | | 
|======================

Config File Settings
~~~~~~~~~~~~~~~~~~~~

Settings in megatest.config

Config File Additional Features
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Including output from a script as if it was inline to the config file:

-------------------------
[scriptinc myscript.sh]
-------------------------

If the script outputs:

-------------------------
[items]
A a b c
B d e f
-------------------------

Then the config file would effectively appear to contain an items section
exactly like the output from the script. This is useful when dynamically
creating items, itemstables and other config structures. You can see the
expansion of the call by looking in the cached files (look in your linktree
for megatest.config and runconfigs.config cache files and in your test run
areas for the expanded and cached testconfig).

Wildcards and regexes in Targets

-------------------------
[a/2/b]
VAR1 VAL1

[a/%/b]
VAR1 VAL2
-------------------------

Will result in:

-------------------------
[a/2/b]
VAR1 VAL2
-------------------------

Can use either wildcard of "%" or a regular expression:

-------------------------
[/abc.*def/]
-------------------------

Disk Space Checks
~~~~~~~~~~~~~~~~~

Some parameters you can put in the [setup] section of megatest.config:

-------------------
# minimum space required in a run disk 
minspace 10000000

# minimum space required in dbdir:
dbdir-space-required 100000

# script that takes path as parameter and returns number of bytes available:
free-space-script check-space.sh
-------------------

Trim trailing spaces
~~~~~~~~~~~~~~~~~~~~

------------------
[configf:settings trim-trailing-spaces yes]
------------------

Job Submission Control
~~~~~~~~~~~~~~~~~~~~~~

Submit jobs to Host Types based on Test Name
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.In megatest.config
------------------------
[host-types]
general   nbfake
remote    bsub

[launchers]
runfirst/sum% remote
% general

[jobtools]
launcher bsub
# if defined and not "no" flexi-launcher will bypass launcher unless 
# there is no host-type match.
flexi-launcher yes
------------------------

host-types
++++++++++

List of host types and the commandline to run a job on that host type.

.host-type => launch command
------------
general nbfake
------------

launchers
+++++++++

.test/itempath => host-type
------------
runfirst/sum% remote
------------

Miscellaneous Setup Items
+++++++++++++++++++++++++

Attempt to rerun tests in "STUCK/DEAD", "n/a", "ZERO_ITEMS" states.

.In megatest.config
------------------
[setup]
reruns 5
------------------

Replace the default blacklisted environment variables with user supplied
list.

Default list: USER HOME DISPLAY LS_COLORS XKEYSYMDB EDITOR MAKEFLAGS MAKEF MAKEOVERRIDES

.Add a "bad" variable "PROMPT" to the variables that will be commented out
in the megatest.sh and megatest.csh files:
-----------------
[setup]
blacklistvars USER HOME DISPLAY LS_COLORS XKEYSYMDB EDITOR MAKEFLAGS PROMPT
-----------------

Run time limit
++++++++++++++

-----------------
[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

The default is the graphviz based tree but if your tests don't view
well in that mode then use "nodot" to turn it off.

-----------------
[setup]
nodot
-----------------

Capturing Test Data
~~~~~~~~~~~~~~~~~~~

In a test you can capture arbitrary variables and roll them up in the
megatest database for viewing on the dashboard or web app.

.In a test as a script
------------------------
$MT_MEGATEST -load-test-data << EOF
foo,bar,   1.2,  1.9, >
foo,rab, 1.0e9, 10e9, 1e9
foo,bla,   1.2,  1.9, <
foo,bal,   1.2,  1.2, <   ,     ,Check for overload
foo,alb,   1.2,  1.2, <=  , Amps,This is the high power circuit test
foo,abl,   1.2,  1.3, 0.1
foo,bra,   1.2, pass, silly stuff
faz,bar,    10,  8mA,     ,     ,"this is a comment"
EOF
------------------------

Alternatively you can use logpro triggers to capture values and inject them
into megatest using the -set-values mechanism:

.Megatest help related to -set-values
------------------------
Test data capture
  -set-values             : update or set values in the testdata table
  :category               : set the category field (optional)
  :variable               : set the variable name (optional)
  :value                  : value measured (required)
  :expected               : value expected (required)
  :tol                    : |value-expect| <= tol (required, can be <, >, >=, <= or number)
  :units                  : name of the units for value, expected_value etc. (optional)
------------------------

Dashboard settings
~~~~~~~~~~~~~~~~~~

.Runs tab buttons, font and size
------------------
[dashboard]
btn-height x14
btn-fontsz 10
cell-width 60
------------------

Database settings
~~~~~~~~~~~~~~~~~

.Database config settings in [setup] section of megatest.config
[width="70%",cols="^,2m,2m,2m",frame="topbot",options="header"]
|======================
|Var                       | Purpose            | Valid values            | Comments
|delay-on-busy             | Prevent concurrent access issues | yes\|no or not defined | Default=no, may help on some network file systems, may slow things down also.
|faststart		   | All direct file access to sqlite db files | yes\|no or not defined | Default=yes, suggest no for central automated systems and yes for interactive use
|homehost 		   | Start servers on this host | <hostname> | Defaults to local host
|hostname		   | Hostname to bind to | <hostname>\|-	  | On multi-homed hosts allows binding to specific hostname
|lowport		   | Start searching for a port at this portnum| 32768 | 
|required		   | Server required    | yes\|no or not defined  | Default=no, force start of server always
|server-query-threshold	   | Start server when queries take longer than this | number in milliseconds | Default=300
|timeout		   | http api timeout 	| number in hours	  | Default is 1 minute, do not change
|======================

The testconfig File
-------------------

Setup section
~~~~~~~~~~~~~

Header
^^^^^^

-------------------
[setup]
-------------------

The runscript method is a brute force way to run scripts where the
user is responsible for setting STATE and STATUS

-------------------
runscript main.csh
-------------------

Iteration
~~~~~~~~~

.Sections for iteration
------------------
# full combinations
[items]
A x y
B 1 2

# Yields: x/1 x/2 y/1 y/2

# tabled
[itemstable]
A x y
B 1 2

# Yields x/1 y/2
------------------


Requirements section
~~~~~~~~~~~~~~~~~~~~

.Header
-------------------
[requirements]
-------------------

Wait on Other Tests
~~~~~~~~~~~~~~~~~~~

-------------------
# A normal waiton waits for the prior tests to be COMPLETED 
# and PASS, CHECK or WAIVED
waiton test1 test2
-------------------

Mode
~~~~

The default (i.e. if mode is not specified) is normal. All pre-dependent tests
must be COMPLETED and PASS, CHECK or WAIVED before the test will start

-------------------
[requirements]
mode   normal
-------------------

The toplevel mode requires only that the prior tests are COMPLETED.

-------------------
[requirements]
mode toplevel
-------------------

A item based waiton will start items in a test when the same-named
item is COMPLETED and PASS, CHECK or WAIVED in the prior test. This
was historically called "itemwait" mode. The terms "itemwait" and
"itemmatch" are synonyms.

-------------------
[requirements]
mode itemmatch
-------------------

Overriding Enviroment Variables
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Override variables before starting the test. Can include files (perhaps generated by megatest -envdelta or similar).

--------------------
[pre-launch-env-vars]
VAR1 value1

# Get some generated settings
[include ../generated-vars.config]

# Use this trick to unset variables
#{scheme (unsetenv "FOOBAR")}
--------------------

Itemmap Handling
~~~~~~~~~~~~~~~~

For cases were the dependent test has a similar but not identical
itempath to the downstream test an itemmap can allow for itemmatch
mode

.example for removing part of itemmap for waiton test (eg: item +foo-x/bar+ depends on waiton's item +y/bar+)
-------------------
[requirements]
mode itemwait
# itemmap <item pattern for this test>  <item replacement pattern for waiton test>
itemmap .*x/ y/

-------------------

.example for removing part of itemmap for waiton test (eg: item +foo/bar/baz+ in this test depends on waiton's item +baz+)
-------------------

# ## pattern replacement notes
#
# ## Example
# ## Remove everything up to the last /
[requirements]
mode itemwait
# itemmap <item pattern for this test> <nothing here indicates removal>
itemmap .*/
-------------------

.example replacing part of itemmap for (eg: item +foo/1234+ will imply waiton's item +bar/1234+)
-------------------

#
# ## Example
# ## Replace foo/ with bar/
[requirements]
mode itemwait
# itemmap <item pattern for this test>  <item replacement pattern for waiton test>
itemmap foo/ bar/

-------------------

.example for backreference (eg: item +foo23/thud+ will imply waiton's item +num-23/bar/thud+
-------------------
#
# ## Example
# ## can use \{number} in replacement pattern to backreference a (capture) from matching pattern similar to sed or perl
[requirements]
mode itemwait
# itemmap <item pattern for this test>  <item replacement pattern for waiton test>
itemmap foo(\d+)/ num-\1/bar/

-------------------

.example multiple itemmaps
-------------------

# multi-line; matches are applied in the listed order
# The following would map:
#   a123b321 to b321fooa123 then to 321fooa123p
#
[requirements]
itemmap (a\d+)(b\d+) \2foo\1
  b(.*) \1p
-------------------


Complex mapping
~~~~~~~~~~~~~~~
Complex mappings can be handled with a separate [itemmap] section (instead if an itemmap line in the [requirements] section)

Each line in an itemmap section starts with a waiton test name followed by an itemmap expression

.eg: The following causes waiton test A item +bar/1234+ to run when our test's +foo/1234+ item is requested as well as causing waiton test B's +blah+ item to run when our test's +stuff/blah+ item is requested
--------------
[itemmap]
A foo/ bar/
B stuff/
--------------


Complex mapping example
~~~~~~~~~~~~~~~~~~~~~~~



// image::itemmap.png[]
image::complex-itemmap.png[]


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

.Testconfig for Test E has
----------------------
[requirements]
waiton C
itemmap (\d+)/res \1/bb
----------------------

.Testconfig for Test D has
----------------------
[requirements]
waiton C
itemmap (\d+)/res \1/aa
----------------------

.Testconfig for Test C has
----------------------
[requirements]
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
-------------------
-------------------

.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&plus;)/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&plus;)/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.



itemstable
~~~~~~~~~~
An alternative to defining items is the itemstable section.  This lets you define the itempath in a table format rather than specifying components and relying on getting all permutations of those components.





Dynamic Flow Dependency Tree
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.Autogeneration waiton list for dynamic flow dependency trees
-------------------
[requirements]
# With a toplevel test you may wish to generate your list 
# of tests to run dynamically
#
waiton #{shell get-valid-tests-to-run.sh}
-------------------

Run time limit
~~~~~~~~~~~~~~

-----------------
[requirements]
runtimelim 1h 2m 3s  # this will automatically kill the test if it runs for more than 1h 2m and 3s
-----------------

Skip
~~~~

A test with a skip section will conditional skip running.

.Skip section example
-----------------
[skip]
prevrunning x
# rundelay 30m 15s
-----------------

Skip on Still-running Tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~

-----------------
# NB// If the prevrunning line exists with *any* value the test will
# automatically SKIP if the same-named test is currently RUNNING. The
# "x" can be any string. Comment out the prevrunning line to turn off
# skip.

[skip]
prevrunning x
-----------------

Skip if a File Exists
~~~~~~~~~~~~~~~~~~~~~

-----------------
[skip]
fileexists /path/to/a/file # skip if /path/to/a/file exists
-----------------

Skip if test ran more recently than specified time
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.Skip if this test has been run in the past fifteen minutes and 15 seconds.
-----------------
[skip]
rundelay 15m 15s
-----------------

Disks
~~~~~

A disks section in testconfig will override the disks section in
megatest.config. This can be used to allocate disks on a per-test or per item
basis.

Controlled waiver propagation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

If test is FAIL and previous test in run with same MT_TARGET is WAIVED then apply the following rules from the testconfig:
If a waiver check is specified in the testconfig apply the check and if it passes then set this FAIL to WAIVED

Waiver check has two parts, 1) a list of waiver, rulename, filepatterns and 2) the rulename script spec (note that "diff" and "logpro" are predefined)

-----------------
###### EXAMPLE FROM testconfig #########
# matching file(s) will be diff'd with previous run and logpro applied
# if PASS or WARN result from logpro then WAIVER state is set
#
[waivers]
# logpro_file    rulename      input_glob
waiver_1         logpro        lookittmp.log

[waiver_rules]

# This builtin rule is the default if there is no <waivername>.logpro file
# diff   diff %file1% %file2%

# This builtin rule is applied if a <waivername>.logpro file exists
# logpro diff %file1% %file2% | logpro %waivername%.logpro %waivername%.html
-----------------

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}	  
----------------------------

Triggers
~~~~~~~~

In your testconfig or megatest.config triggers can be specified 

.Triggers spec
-----------------
[triggers]

# Call script running.sh when test goes to state=RUNNING, status=PASS
RUNNING/PASS running.sh

# Call script running.sh any time state goes to RUNNING
RUNNING/ running.sh

# Call script onpass.sh any time status goes to PASS
PASS/ onpass.sh
-----------------

Scripts called will have; test-id test-rundir trigger test-name item-path state status event-time, added to the commandline.

HINT

To start an xterm (useful for debugging), use a command line like the following:

.Start an xterm using a trigger for test completed.
-----------------
[triggers]
COMPLETED/ xterm -e bash -s -- 
-----------------

NOTE: There is a trailing space after the double-dash

There are a number of environment variables available to the trigger script
but since triggers can be called in various contexts not all variables are
available at all times. The trigger script should check for the variable and
fail gracefully if it doesn't exist.

// ,cols="^,2m"

.Environment variables visible to the trigger script
[width="90%",frame="topbot",options="header"]
|======================
| Variable            | Purpose            
| MT_TEST_RUN_DIR     | The directory where Megatest ran this test                   
| MT_CMDINFO          | Encoded command data for the test                   
| MT_DEBUG_MODE       | Used to pass the debug mode to nested calls to Megatest                   
| MT_RUN_AREA_HOME    | Megatest home area 
| MT_TESTSUITENAME    | The name of this testsuite or area                   
| MT_TEST_NAME        | The name of this test
| MT_ITEM_INFO        | The variable and values for the test item
| MT_MEGATEST         | Which Megatest binary is being used by this area
| MT_TARGET           | The target variable values, separated by '/'
| MT_LINKTREE         | The base of the link tree where all run tests can be found
| MT_ITEMPATH         | The values of the item path variables, separated by '/'
| MT_RUNNAME          | The name of the run
|======================


Override the Toplevel HTML File
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Megatest generates a simple html file summary for top level tests of
iterated tests. The generation can be overridden. NOTE: the output of
the script is captured from stdout to create the html.


.For test "runfirst" override the toplevel generation with a script "mysummary.sh"
-----------------
# Override the rollup for specific tests
[testrollup]
runfirst mysummary.sh
-----------------

Archiving Setup
---------------

In megatest.config add the following sections:

.megatest.config
--------------
[archive]
# where to get bup executable
# bup /path/to/bup

[archive-disks]

# Archives will be organised under these paths like this:
#  <testsuite>/<creationdate>
# Within the archive the data is structured like this:
#  <target>/<runname>/<test>/
archive0 /mfs/myarchive-data/adisk1
--------------

Environment Variables
---------------------

It is often necessary to capture and or manipulate environment
variables. Megatest has some facilities built in to help.

Capture variables
~~~~~~~~~~~~~~~~~

.Commands
------------------------------
# capture the current enviroment into a db called envdat.db under
# the context "before"
megatest -envcap before

# capture the current environment into a db called startup.db with 
# context "after"
megatest -envcap after startup.db

# write the diff from before to after
megatest -envdelta before-after -dumpmode bash
------------------------------

Dump modes include bash, csh and config. You can include config data
into megatest.config, runconfigs.config and testconfig files. This is
useful for capturing a complex environment in a special-purpose test
and then utilizing that environment in downstream tests.

.Example of generating and using config data
------------------------------
megatest -envcap original
# do some stuff here
megatest -envcap munged
megatest -envdelta original-munged -dumpmode ini -o modified.config
------------------------------

Then in runconfigs.config

.Example of using modified.config in a testconfig
------------------------------
[pre-launch-env-vars]
[include modified.config]
------------------------------

Managing Old Runs
-----------------

It is often desired to keep some older runs around but this must be balanced with the costs of disk space.

. Use -remove-keep
. Use -archive (can also be done from the -remove-keep interface)
. use -remove-runs with -keep-records

.For each target, remove all runs but the most recent 3 if they are over 1 week old
---------------------
# use -precmd 'sleep 5;nbfake' to limit overloading the host computer but to allow the removes to run in parallel.
megatest -actions print,remove-runs -remove-keep 3 -target %/%/%/% -runname % -age 1w -precmd 'sleep 5;nbfake'"
---------------------

Nested Runs
-----------

A Megatest test can run a full Megatest run in either the same
Megatest area or in another area. This is a powerful way of chaining
complex suites of tests and or actions.

If you are not using the current area you can use ezsteps to retrieve
and setup the sub-Megatest run area.

In the testconfig:
---------------
[subrun]

# Required: wait for the run or just launch it
#           if no then the run will be an automatic PASS irrespective of the actual result
run-wait yes|no

# Optional: where to execute the run. Default is the current runarea
run-area /some/path/to/megatest/area

# Optional: method to use to determine pass/fail status of the run
#   auto (default) - roll up the net state/status of the sub-run
#   logpro         - use the provided logpro rules, happens automatically if there is a logpro section
# passfail auto|logpro
# Example of logpro:
passfail logpro

# Optional: 
logpro ;; if this section exists then logpro is used to determine pass/fail
  (expect:required in "LogFileBody" >= 1 "At least one pass" #/PASS/)
  (expect:error     in "LogFileBody"  = 0 "No FAILs allowed"  #/FAIL/)

# Optional: target translator, default is to use the parent target
target #{shell somescript.sh}

# Optional: runname translator/generator, default is to use the parent runname
run-name #{somescript.sh}

# Optional: testpatt spec, default is to first look for TESTPATT spec from runconfigs unless there is a contour spec
test-patt %/item1,test2

# Optional: contour spec, use the named contour from the megatest.config contour spec
contour contourname ### NOTE: Not implemented yet! Let us know if you need this feature.

# Optional: mode-patt, use this spec for testpatt from runconfigs
mode-patt TESTPATT

# Optional: tag-expr, use this tag-expr to select tests
tag-expr quick

# Optional: (not yet implemented, remove-runs is always propagated at this time), propagate these actions from the parent
#           test
#   Note// default is % for all
propagate remove-runs archive ...

---------------

Programming API
---------------

These routines can be called from the megatest repl. 

.API Keys Related Calls
[width="70%",cols="^,2m,2m,2m",frame="topbot",options="header,footer"]
|======================
|API Call                        | Purpose comments   | Returns                 | Comments
|(rmt:get-keys run-id)           |                    | ( key1 key2 ... )       | 
| (rmt:get-key-val-pairs run-id) |                    | #t=success/#f=fail      | Works only if the server is still reachable
|======================


:numbered!:

Added docs/manual/stand-alone-megatest-area.svg version [0556f7fe69].

cannot compute difference between binary files

Added docs/manual/study_plan.txt version [9c5fdaf595].



















































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
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
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
// This file is part of Megatest.
// 
//     Megatest is free software: you can redistribute it and/or modify
//     it under the terms of the GNU General Public License as published by
//     the Free Software Foundation, either version 3 of the License, or
//     (at your option) any later version.
// 
//     Megatest is distributed in the hope that it will be useful,
//     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/>.
//
// Copyright 2006-2012, Matthew Welland.

Study Plan
----------

Megatest is an extensive program with a lot to learn. Following are some paths through the material to smooth the learning path.

Basic Concepts (suggest you pick these up on the way)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Components of automation; run, test, iteration 
* Selectors; target, runname, and testpatt

Running Testsuites or Automation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* Using the dashboard gui (recommended)
** Using the "Runs" panel.
** Using the "Run Control" panel.
** Using a test control panel
** The Right Mouse Button menu
** Debug features
*** xterm
**** pstree
**** log files; mt_copy.log, mt_launch.log
**** variables; megatest.csh, megatest.sh
**** testconfig dump, *testconfig
*** State/status buttons
*** Run, Clean, KillReq
*** ReRunClean
* Using the command line
** Getting help; megatest -h, megatest -manual
** Starting runs; megatest -run
*** Selection controls; -target, -runname and -testpatt

Writing Tests and Flows
~~~~~~~~~~~~~~~~~~~~~~~

* environment variables (table 5)
* tests/_testname_/testconfig link:megatest_manual.html#_the_testconfig_file[testconfig details]
** ezsteps and logpro section
** iteration (one test applied to many inputs), items, itemstable link:megatest_manual.html#_iteration[test iteration]
** dependencies, waiton, itemmatch, itemwait link:megatest_manual.html#_requirements_section[test requirements]
** miscellaneous; mode toplevel, runtimelim, skip on file or on running, waiver propagation
* megatest areas
** megatest.config
** runconfigs.config
** config language features; include, shell, system, scheme, rp|realpath, getenv, get, rget, scriptinc link:megatest.html#_config_file_helpers[config file helpers]

Advanced Topics
~~~~~~~~~~~~~~~

* Removing and keeping runs selectively link:megatest_manual.html#_managing_old_runs[managing runs]
* Subruns link:megatest_manual.html#_nested_runs[nested runs]
* Config file features link:megatest_manual.html#_config_file_helpers[config file features]
* HTML output with -generate-html
* Triggers, post run, state/status
* MTLOWESTLOAD
* flexilauncher
* env delta and testconfig
* capturing test data, extracting values from logpro and using them for pass/fail
* mtutil, postgres connection, packets for cross-site/cross-user control (e.g. mcrun).

Maintenance and Troubleshooting
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

* cleanup-db, database structure of Megatest 1.6x
* archiving
* homehost management
* show-runconfig
* show-config
* show with -debug 0,9
* load management

docs/megatest-state-status.dot became executable with contents [dc07177953].

docs/megatest-training.odp became executable with contents [ba7ab2ab9e].

cannot compute difference between binary files

minimal/manyservers.sh became executable with contents [4d2e898ea9].

mkdeploy/tests/checkspace/checkspace.sh became executable with contents [5bd9381323].

mkdeploy/tests/eggs/install.sh became executable with contents [4bce64895a].

mkdeploy/tests/executables/addlibs.sh became executable with contents [80ef7c0644].

mkdeploy/tests/executables/install.sh became executable with contents [d61294c054].

mkdeploy/tests/executables/linksrc.sh became executable with contents [12739c4889].

mkdeploy/tests/helpers/install.sh became executable with contents [5bd9381323].

records.sh became executable with contents [abe356c38c].

tests/fdktestqa/testqa/runsuite.sh became executable with contents [c108c24f2d].

tests/release/tests/itemwait/watchrun.sh became executable with contents [ecbe7ec9af].

tests/simplerun/tests/test2/step1.sh became executable with contents [de871e9b2f].

tests/simplerun/tests/test2/step2.sh became executable with contents [de871e9b2f].

tests/speedtest/tests/speedtest/main.sh became executable with contents [fbb8189cfc].

tests/watch-monitor.sh became executable with contents [264f0c8557].

utils/loadrunner became executable with contents [b74a707821].

utils/mt_ezstep became executable with contents [4f4602fc1b].

utils/mt_laststep became executable with contents [fae58533b9].

utils/mt_runstep became executable with contents [effc903bf9].

utils/mt_xterm became executable with contents [868b69899e].

utils/mtgetfile became executable with contents [003893808f].

utils/mtrunner became executable with contents [726df7dae8].

utils/mtutils.csh became a regular file with contents [6bd5da1b2e].

utils/nbfake became executable with contents [c26c7b18f9].

utils/nbfind became executable with contents [845fc2490b].

utils/plot-code.scm became executable with contents [2b6e0cd992].

utils/remrun became executable with contents [7a107135c8].

utils/viewscreen became executable with contents [fe2bbf9f4f].