Yes I agree with you that we need to better the way to verify if tc
in a
particular directory needs to be run or not.
This has two fold advantage:
1) It will tell us if the providers are registered properly or not, if
its a setup issue.
2) It will save some batch test run time, by skipping those directories.
Implementing this is not straight forward though. Here is an initial
thought how we can implement this check
Once the test run in batch mode is started even before we invoke the
tests, we can have a list of all the providers which we think should be
present for the providers to be verified.
We can then have two list
1) The first list should contain information of the providers which are
registered on the machine and the tests for which have to be run.
My concern with this kind of approach is the maintainability of the
lists. Each time a test is updated to support a new provider, the test
writer also needs to update the list. There's over a hundred tests, so
the list would be quite large already, and it would only continue to grow.
Most of the tests query several different providers, so this would make
the list somewhat complex.
I was thinking of each test maintaining its own list of providers it
tests, and then having the test suite check the test case's list before
calling the test.
2) Second list should contain the list of all providers which have
not
been registered on the machine.
This kind of list should be easy to generate.
I would generate a list of providers that have been registered. If the
list is empty, you could bail from the test suite before even attempting
to run any of the tests. It'd be a good first check.
-- The error here would depend on two things:
-- If the providers is not registered properly because of the setup issue
-- Or the provider is not registered since the installed source/ rpm
does not yet contain support for that particular provider.
--
Kaitlin Rupert
IBM Linux Technology Center
kaitlin(a)linux.vnet.ibm.com