<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,4 +1,5 @@
-#Fri Oct 16 14:37:32 CEST 2009
+#Fri Oct 16 16:31:13 CEST 2009
 eclipse.preferences.version=1
 encoding//cms/docs/conf.py=utf-8
+encoding//cms/tests/__init__.py=utf-8
 encoding//cms/tests/page.py=utf-8</diff>
      <filename>.settings/org.eclipse.core.resources.prefs</filename>
    </modified>
    <modified>
      <diff>@@ -23,4 +23,43 @@ def suite():
         # changed on the fly.
         s.addTest(unittest.defaultTestLoader.loadTestsFromTestCase(PermissionModeratorTestCase))
     return s
+ 
+def test_runner_with_coverage(test_labels, verbosity=1, interactive=True, extra_tests=[]):
+    &quot;&quot;&quot;Custom test runner.  Follows the django.test.simple.run_tests() interface.&quot;&quot;&quot;
+    import os, shutil, sys
+ 
+    # Look for coverage.py in __file__/lib as well as sys.path
+    sys.path = [os.path.join(os.path.dirname(__file__), &quot;lib&quot;)] + sys.path
+     
+    import coverage
+    from django.test.simple import run_tests as django_test_runner
+     
+    from django.conf import settings
+    
+    # Start code coverage before anything else if necessary
+    #if hasattr(settings, 'COVERAGE_MODULES') and not test_labels:
+    coverage.use_cache(0) # Do not cache any of the coverage.py stuff
+    coverage.start()
+ 
+    test_results = django_test_runner(test_labels, verbosity, interactive, extra_tests)
+ 
+    # Stop code coverage after tests have completed
+    #if hasattr(settings, 'COVERAGE_MODULES') and not test_labels:
+    coverage.stop()
+ 
+    # Print code metrics header
+    print ''
+    print '----------------------------------------------------------------------'
+    print ' Unit Test Code Coverage Results'
+    print '----------------------------------------------------------------------'
+    
+    # Report code coverage metrics
+    coverage_modules = []
+    if hasattr(settings, 'COVERAGE_MODULES') and (not test_labels or 'cms' in test_labels):
+        for module in settings.COVERAGE_MODULES:
+            coverage_modules.append(__import__(module, globals(), locals(), ['']))
+    coverage.report(coverage_modules, show_missing=1)
+            #Print code metrics footer
+    print '----------------------------------------------------------------------'
 
+    return test_results
\ No newline at end of file</diff>
      <filename>cms/tests/__init__.py</filename>
    </modified>
    <modified>
      <diff>@@ -121,6 +121,7 @@ INSTALLED_APPS = (
     'south',
     # sample application
     'example.sampleapp',
+    'test_utils',
     #'store',
 )
 
@@ -188,3 +189,76 @@ try:
     from local_settings import *
 except ImportError:
     pass
+
+try:
+    import coverage
+    TEST_RUNNER='cms.tests.test_runner_with_coverage'
+    COVERAGE_MODULES = [
+        'cms',
+        'cms.admin', 
+        'cms.admin.change_list',
+        'cms.admin.forms',
+        'cms.admin.models',
+        'cms.admin.permissionadmin',
+        'cms.admin.useradmin',
+        'cms.admin.utils',
+        'cms.admin.views',
+        'cms.admin.widgets',
+        'cms.admin.dialog',
+        'cms.admin.dialog.forms',
+        'cms.admin.dialog.utils',
+        'cms.admin.dialog.views',
+        'cms.cache',
+        'cms.cache.permissions',
+        'cms.cache.signals',
+        'cms.conf.global_settings',
+        'cms.conf.patch',
+        'cms.management.commands.publisher_publish',
+        'cms.middleware.multilingual',
+        'cms.middleware.page',
+        'cms.middleware.user',
+        'cms.migrations',
+        'cms.models', 
+        'cms.models.managers',
+        'cms.models.moderatormodels',
+        'cms.models.pagemodel',
+        'cms.models.permissionmodels',
+        'cms.models.pluginmodel',
+        'cms.models.query',
+        'cms.models.signals',
+        'cms.models.titlemodels',
+        'cms.sitemaps.cms_sitemap',
+        'cms.templatetags.cms_admin',
+        'cms.templatetags.cms_tags',
+        'cms.templatetags.js',
+        'cms.templatetags.mlurl',
+        'cms.utils',
+        'cms.utils.admin',
+        'cms.utils.helpers',
+        'cms.utils.i18n',
+        'cms.utils.mail',
+        'cms.utils.moderator',
+        'cms.utils.navigation',
+        'cms.utils.page',
+        'cms.utils.permissions',
+        'cms.utils.urlutils',
+        'cms.appresolver',
+        'cms.context_processors',
+        'cms.plugin_base',
+        'cms.plugin_pool',
+        'cms.signals',
+        'cms.urls',
+        'cms.views',
+        'publisher',
+        'publisher.base',
+        'publisher.errors',
+        'publisher.manager',
+        'publisher.models',
+        'publisher.mptt_support',
+        'publisher.options',
+        'publisher.query',
+        ]
+except:
+    pass
+
+</diff>
      <filename>example/settings.py</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>d0f9478a5f7d17dbcada2b5433def9a8c6903df4</id>
    </parent>
  </parents>
  <author>
    <name>Patrick Lauber</name>
    <email>patrick.lauber@divio.ch</email>
  </author>
  <url>http://github.com/digi604/django-cms-2.0/commit/6fbf143afbf4d7880d8d9a0dbb960438302446eb</url>
  <id>6fbf143afbf4d7880d8d9a0dbb960438302446eb</id>
  <committed-date>2009-10-16T08:47:30-07:00</committed-date>
  <authored-date>2009-10-16T08:47:30-07:00</authored-date>
  <message>coverage.py support added</message>
  <tree>33232c237741f4133479d24f78664db864aa25ea</tree>
  <committer>
    <name>Patrick Lauber</name>
    <email>patrick.lauber@divio.ch</email>
  </committer>
</commit>
