From 43d3222086b1bd8b956d2d5ef8955edc964a82bc Mon Sep 17 00:00:00 2001 From: Timo Stollenwerk Date: Wed, 6 Oct 2010 15:12:11 +0000 Subject: [PATCH] Run functional tests only with Plone 4 (and plone.testing). svn path=/plone.app.discussion/trunk/; revision=40537 --- plone/app/discussion/tests/test_functional.py | 59 +++++++++++++------ 1 file changed, 40 insertions(+), 19 deletions(-) diff --git a/plone/app/discussion/tests/test_functional.py b/plone/app/discussion/tests/test_functional.py index 6c1a17b..7cb83c6 100644 --- a/plone/app/discussion/tests/test_functional.py +++ b/plone/app/discussion/tests/test_functional.py @@ -1,12 +1,23 @@ +# -*- coding: utf-8 -*- +"""Functional Doctests for plone.app.discussion. + + These test are only triggered when Plone 4 (and plone.testing) is installed. +""" import doctest -import unittest2 as unittest -import pprint -import interlude -from plone.testing import layered - -from plone.app.discussion.testing import \ - PLONE_APP_DISCUSSION_FUNCTIONAL_TESTING +try: + import unittest2 as unittest + import pprint + import interlude + + from plone.testing import layered + + from plone.app.discussion.testing import \ + PLONE_APP_DISCUSSION_FUNCTIONAL_TESTING + PLONE4 = True +except: + import unittest + PLONE4 = False optionflags = (doctest.ELLIPSIS | doctest.NORMALIZE_WHITESPACE | doctest.REPORT_ONLY_FIRST_FAILURE) normal_testfiles = [ @@ -14,15 +25,25 @@ normal_testfiles = [ 'functional_test_comment_review_workflow.txt' ] -def test_suite(): - suite = unittest.TestSuite() - suite.addTests([ - layered(doctest.DocFileSuite(test , - optionflags=optionflags, - globs={'interact': interlude.interact, - 'pprint': pprint.pprint, - } - ), - layer=PLONE_APP_DISCUSSION_FUNCTIONAL_TESTING) - for test in normal_testfiles]) - return suite +if PLONE4: + + def test_suite(): + suite = unittest.TestSuite() + suite.addTests([ + layered(doctest.DocFileSuite(test , + optionflags=optionflags, + globs={'interact': interlude.interact, + 'pprint': pprint.pprint, + } + ), + layer=PLONE_APP_DISCUSSION_FUNCTIONAL_TESTING) + for test in normal_testfiles]) + return suite + +else: + + def test_suite(): + return unittest.TestSuite([]) + + if __name__ == '__main__': + unittest.main(defaultTest='test_suite')