Parsing Both Tabular and Non-Tabular Output¶
For CLI command outputs that have both tabular and non-tabular components, it is possible to use both kinds of parsers. Please refer to the following example.
Putting It All Together¶
Please see the following downloadable file for instructions on how to run a sample pyATS job that does the following:
- Connects to a router in your testbed
- Runs a “show interface” command
- Parses output using conventional cAAs/TCL parser
- Runs the same “show interface” command again
- Parses output using parsergen
- Compares the results of each parser.
- Runs a parse/compare operation against a small set of selected keys.
- Runs a “show arp” command
- Parses the output using parsergen
Standalone Parsing¶
It is also possible to run parsergen
in standalone mode.
In this model, all interactions with the device under test and the tcl
interpreter are “mocked”, meaning that while the parser thinks it is
talking to a real device and a real TCL interpreter, it is really talking
to mocks that are under the user’s complete control. The advantage is that a
parser can be tested with a variety of different kinds of inputs in an
incredibly swift manner because there is no requirement to have a real
device up and running.
Here’s an example of running the non-tabular parser in standalone mode:
nontabular_parser_xrvr.py
.
Here’s an example of running the tabular parser in standalone mode:
tabular_parser_subclass.py
.