162306a36Sopenharmony_citdc.py will look for plugins in a directory plugins off the cwd.
262306a36Sopenharmony_ciMake a set of numbered symbolic links from there to the actual plugins.
362306a36Sopenharmony_ciEg:
462306a36Sopenharmony_ci
562306a36Sopenharmony_citdc.py
662306a36Sopenharmony_ciplugin-lib/
762306a36Sopenharmony_ciplugins/
862306a36Sopenharmony_ci    __init__.py
962306a36Sopenharmony_ci    10-rootPlugin.py -> ../plugin-lib/rootPlugin.py
1062306a36Sopenharmony_ci    20-valgrindPlugin.py -> ../plugin-lib/valgrindPlugin.py
1162306a36Sopenharmony_ci    30-nsPlugin.py -> ../plugin-lib/nsPlugin.py
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_citdc.py will find them and use them.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_cirootPlugin
1862306a36Sopenharmony_ci    Check if the uid is root.  If not, bail out.
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_civalgrindPlugin
2162306a36Sopenharmony_ci    Run the command under test with valgrind, and produce an extra set of TAP results for the memory tests.
2262306a36Sopenharmony_ci    This plugin will write files to the cwd, called vgnd-xxx.log.  These will contain
2362306a36Sopenharmony_ci    the valgrind output for test xxx.  Any file matching the glob 'vgnd-*.log' will be
2462306a36Sopenharmony_ci    deleted at the end of the run.
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cinsPlugin
2762306a36Sopenharmony_ci    Run all the commands in a network namespace.
28