'Return a suite of all tests cases contained in the given module
If the module is a package, load tests from all the modules in it.
If the module has an ``additional_tests`` function, call it and add
the return value to the tests.'

def loadTestsFromModule(self, module):

    tests = []
    if (module.__name__ != 'setuptools.tests.doctest'):
        tests.append(TestLoader.loadTestsFromModule(self, module))
    if hasattr(module, 'additional_tests'):
        tests.append(module.additional_tests())
    if hasattr(module, '__path__'):
        for file in resource_listdir(module.__name__, ''):
            if (file.endswith('.py') and (file != '__init__.py')):
                submodule = ((module.__name__ + '.') + file[:(-3)])
            elif resource_exists(module.__name__, (file + '/__init__.py')):
                submodule = ((module.__name__ + '.') + file)
            else:
                continue
            tests.append(self.loadTestsFromName(submodule))
    if (len(tests) != 1):
        return self.suiteClass(tests)
    else:
        return tests[0]
