#!/usr/bin/python2.4 import unittest import Plugins class CheckForUndefinedTestCases(unittest.TestCase): """here we will add failing test functions for every non-existing testcase""" def create_testcases(): plugins = Plugins.PluginManager(None, "../plugins").getPlugins() glob_dict = globals() loc_dict = locals() for pl in plugins: test_class = pl.getTestClass() if test_class: ## add the testclass to the global dictionary glob_dict["unittest" + pl.getName()] = test_class else: subname = "test_existence_%s" % pl.getName() def test_existence(self): """check if the plugin (%s) contains tests""" % pl.getName() self.fail("no tests defined for plugin: %s" % pl.getName()) ## add this function to the class above setattr(CheckForUndefinedTestCases, subname, test_existence) #FIXME: the failure output always contains the same name for all plugins create_testcases() if __name__ == "__main__": unittest.main()