tools: tc-testing: Introduce plugin architecture
authorBrenda J. Butler <bjb@mojatatu.com>
Wed, 14 Feb 2018 19:09:21 +0000 (14:09 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 15 Feb 2018 20:38:33 +0000 (15:38 -0500)
commit93707cbabcc8baf2b2b5f4a99c1f08ee83eb7abd
tree256d0b3309004cfdbadef6b089ac42c1fab752f9
parent6fac733d9d07c4fcc349a44add75c6435cc3f18c
tools: tc-testing: Introduce plugin architecture

This should be a general test architecture, and yet allow specific
tests to be done.  Introduce a plugin architecture.

An individual test has 4 stages, setup/execute/verify/teardown.  Each
plugin gets a chance to run a function at each stage, plus one call
before all the tests are called ("pre" suite) and one after all the
tests are called ("post" suite).  In addition, just before each
command is executed, the plugin gets a chance to modify the command
using the "adjust_command" hook.  This makes the test suite quite
flexible.

Future patches will take some functionality out of the tdc.py script and
place it in plugins.

To use the plugins, place the implementation in the plugins directory
and run tdc.py.  It will notice the plugins and use them.

Signed-off-by: Brenda J. Butler <bjb@mojatatu.com>
Acked-by: Lucas Bates <lucasb@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
tools/testing/selftests/tc-testing/TdcPlugin.py [new file with mode: 0644]
tools/testing/selftests/tc-testing/creating-plugins/AddingPlugins.txt [new file with mode: 0644]
tools/testing/selftests/tc-testing/plugin-lib/README-PLUGINS [new file with mode: 0644]
tools/testing/selftests/tc-testing/plugins/__init__.py [new file with mode: 0644]
tools/testing/selftests/tc-testing/tdc.py