plainbox-dev-analyze (1)¶
Synopsis¶
plainbox dev analyze [-h] [-s] [-d] [-t] [-e] [-v] [-r] [-E] [-S] [-R]
[-T TEST-PLAN-ID] [-i PATTERN] [-x PATTERN]
Description¶
Analyze how selected jobs would be executed
The plainbox dev analyze
command is a direct replacement for plainbox
run
that doesn’t really run most of the jobs. Instead it offers a set of
reports that can be enabled (confusingly, by default no reports are enabled
and the command prints nothing at all) to inspect certain aspects of the
hypothetical session
Report Types¶
Plainbox dev analyze
command offers a number of reports that can be
selected with their respective command line options. By default, no reports
are enabled which may be a little bit confusing but all options can be
enabled at the same time.
Dependency Report¶
This report shows if any of the jobs have missing dependencies. It almost never happens but the report is here for completeness.
Interactivity Report¶
This report shows, for each job, if it is fully automatic or if it requires human interaction.
Estimated Duration Report¶
This report shows if Plainbox would be able to accurately estimate the duration of the session. It shows details for both fully automatic and interactive jobs.
Validation Report¶
This report shows if all of the selected jobs are valid. It is of lesser
use now that we have provider-wide validation via ./manage.py validate
Two Kinds of Job Lists¶
Desired Job List¶
This list is displayed with the -S
option. It contains the ordered
sequence of jobs that are “desired” by the test operator to execute. This
list contrasts with the so-called run list mentioned below.
Run List¶
This list is displayed with the -R
option. It contains the ordered
sequence of jobs that should be executed to satisfy the desired list
mentioned above. It is always a superset of the desired job list and almost
always includes additional jobs (such as resource jobs and other
dependencies)
The run list is of great importance. Most of the time the test operator will see tests in precisely this order. The only exception is that some test applications choose to pre-run generator jobs (resources). Still, if your job ordering is wrong in any way, inspecting the run list is the best way to debug the problem.
Options¶
Optional arguments:
-s, --print-stats | |
print general job statistics | |
-d, --print-dependency-report | |
print dependency report | |
-t, --print-interactivity-report | |
print interactivity report | |
-e, --print-estimated-duration-report | |
print estimated duration report | |
-v, --print-validation-report | |
print validation report | |
-r, --print-requirement-report | |
print requirement report | |
-E, --only-errors | |
when coupled with -v, only problematic jobs will be listed | |
-S, --print-desired-job-list | |
print desired job list | |
-R, --print-run-list | |
print run list | |
-T, --test-plan | |
load the specified test plan | |
-i, --include-pattern | |
include jobs matching the given regular expression | |
-x, --exclude-pattern | |
exclude jobs matching the given regular expression |