diff -r 000000000000 -r 2e8eeb919028 configurationengine/source/scripts/tests/__init__.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configurationengine/source/scripts/tests/__init__.py Thu Mar 11 17:04:37 2010 +0200 @@ -0,0 +1,72 @@ +# +# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + +import unittest, os, sys + +ROOT_PATH = os.path.dirname(os.path.abspath(__file__)) +SOURCE_ROOT = os.path.normpath(os.path.join(ROOT_PATH, '../..')) +PLUGIN_SOURCE_ROOT = os.path.normpath(os.path.join(SOURCE_ROOT, 'plugins')) +assert os.path.split(SOURCE_ROOT)[1] == 'source' +assert os.path.split(PLUGIN_SOURCE_ROOT)[1] == 'plugins' + +def _setup(): + """ + Set up everything so that running "python cone_tool.py" finds the ConE + and plug-in modules. + """ + sys.path.append(SOURCE_ROOT) + sys.path.append(os.path.join(SOURCE_ROOT, 'testautomation')) + + # Import the plugin_utils module from plugins/ + sys.path.append(PLUGIN_SOURCE_ROOT) + import plugin_utils + del sys.path[-1] + + # Collect all needed plug-in source directories (all in 'common') + plugin_sources = plugin_utils.find_plugin_sources(os.path.join(PLUGIN_SOURCE_ROOT, 'common')) + plugin_source_paths = [path for path, _ in plugin_sources] + + paths = [] + paths.append(SOURCE_ROOT) + paths.extend(plugin_source_paths) + os.environ['PYTHONPATH'] = os.environ.get('PYTHONPATH', '') + ';' + ';'.join(paths) + + # Generate egg-info for the plug-ins if necessary + import build_egg_info + for path in plugin_source_paths: + build_egg_info.generate_egg_info(path) + +_setup() + +# Find all unittest_*.py files in this folder +import re +__all__ = filter(lambda name: re.match(r'^unittest_.*\.py$', name) != None, os.listdir(ROOT_PATH)) +# Strip .py endings +__all__ = map(lambda name: name[:-3], __all__) + +def collect_suite(): + suite = unittest.TestSuite() + for test_module in __all__: + # Load the test module dynamically and add it to the test suite + module = __import__(test_module) + suite.addTests(unittest.TestLoader().loadTestsFromModule(module)) + return suite + +def runtests(): + unittest.TextTestRunner(verbosity=2).run(collect_suite()) + +if __name__ == '__main__': + runtests()