1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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.
於是可以不回頭的逆風飛翔 不怕心頭有雨 眼底有霜