This 'test.py' file should probably be renamed 'shell.py'.  Then, a new 'test.py' should be added that is basically just a copy of this file up to this line.  Then, the new 'test.py' should be run as part of the 'all_ut' target in the makefile so that Jenkins will test that this python module can always parse the xml files and build uavo_defs for the current tree.

That would prevent bit-rot of the python parsing code.