tdc.py will look for plugins in a directory plugins off the cwd.
Make a set of numbered symbolic links from there to the actual plugins.
Eg:

tdc.py
plugin-lib/
plugins/
    __init__.py
    10-rootPlugin.py -> ../plugin-lib/rootPlugin.py
    20-valgrindPlugin.py -> ../plugin-lib/valgrindPlugin.py
    30-nsPlugin.py -> ../plugin-lib/nsPlugin.py


tdc.py will find them and use them.


rootPlugin
    Check if the uid is root.  If not, bail out.

valgrindPlugin
    Run the command under test with valgrind, and produce an extra set of TAP results for the memory tests.
    This plugin will write files to the cwd, called vgnd-xxx.log.  These will contain
    the valgrind output for test xxx.  Any file matching the glob 'vgnd-*.log' will be
    deleted at the end of the run.

nsPlugin
    Run all the commands in a network namespace.
