Index: docs/manual/debugging.txt
==================================================================
--- docs/manual/debugging.txt
+++ docs/manual/debugging.txt
@@ -22,10 +22,11 @@
~~~~~~~~~~~~~~~~~~~
Bisecting is a debug strategy intended to speed up finding the root
cause.
+.A complex process with a problem found in stage "E"
["graphviz", "bisecting.png"]
----------------------------------------------------------------------
include::bisecting.dot[]
----------------------------------------------------------------------
@@ -34,16 +35,18 @@
example above you would potentially save a lot of debug effort, this
is similar to the feature in source control tools like git and fossil
called biseceting.
To know where to look for problems you will want to look at the log files at various stages in the execution process.
+
+.A simplified diagram of the stages Megatest goes through to run a test.
["graphviz", "megatest-test-stages.png"]
----------------------------------------------------------------------
include::megatest-test-stages.dot[]
----------------------------------------------------------------------
-.How to check variable values at each stage
+.How to check variable values and inspect logs at each stage
[width="80%",cols="<,2m,2m",frame="topbot",options="header"]
|======================
|Stage | How to inspect | Watch for
|A: post config processing | megatest -show-config -target your/target | #f (failed var processing)
|B: post runconfig | megatest -show-runconfig -target your/target |
@@ -54,29 +57,40 @@
|H,H1,H2: step exectution | look at
It is common to start debugging where the problem was observed and then work back. However by inspecting the output at stage "C" in the example above you would potentially save a lot of debug effort, this is similar to the feature in source control tools like git and fossil @@ -1950,16 +1951,17 @@
To know where to look for problems you will want to look at the log files at various stages in the execution process.
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 text editor window). This is the easiest -way to debug your tests.
With more recent versions of Megatest you can step through your test +from the test control panel. Click on the cell labeled "rerun this +step" to only rerun the step or click on "restart from here" to rerun +that step and downstream steps.
NOTE 1: visual feedback can take some time, give it a few seconds and +you will see the step change color to blue as it starts running.
NOTE 2: steping through only works if you are using ezsteps.
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.
As described above it is often helpful to know the content of +variables in various contexts as Megatest works through 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: