summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2010-11-16 22:06:14 -0500
committerChris McDonough <chrism@plope.com>2010-11-16 22:06:14 -0500
commit35c5a3a77ff2f17aa06ae25032d2b2baeb75e096 (patch)
treec5becdee83e54b520a7c2340cddcde619e8fb595
parentadc1670a54d270f2a17eff6898cc0931eabea450 (diff)
downloadpyramid-35c5a3a77ff2f17aa06ae25032d2b2baeb75e096.tar.gz
pyramid-35c5a3a77ff2f17aa06ae25032d2b2baeb75e096.tar.bz2
pyramid-35c5a3a77ff2f17aa06ae25032d2b2baeb75e096.zip
skip Chameleon tests on Jython
-rw-r--r--pyramid/testing.py14
-rw-r--r--pyramid/tests/test_chameleon_text.py15
-rw-r--r--pyramid/tests/test_chameleon_zpt.py15
-rw-r--r--pyramid/tests/test_testing.py24
4 files changed, 68 insertions, 0 deletions
diff --git a/pyramid/testing.py b/pyramid/testing.py
index 4bc4728c0..deb6c8d8e 100644
--- a/pyramid/testing.py
+++ b/pyramid/testing.py
@@ -1,4 +1,5 @@
import copy
+import os
from zope.configuration.xmlconfig import _clearContext
@@ -733,3 +734,16 @@ class MockTemplate(object):
def __call__(self, *arg, **kw):
self._received.update(kw)
return self.response
+
+def skip_on(*platforms):
+ def decorator(func):
+ def wrapper(*args, **kw):
+ for platform in platforms:
+ if skip_on.os_name.startswith(platform):
+ return
+ return func(*args, **kw)
+ wrapper.__name__ = func.__name__
+ wrapper.__doc__ = func.__doc__
+ return wrapper
+ return decorator
+skip_on.os_name = os.name # for testing
diff --git a/pyramid/tests/test_chameleon_text.py b/pyramid/tests/test_chameleon_text.py
index 027fa9474..654cfdf3b 100644
--- a/pyramid/tests/test_chameleon_text.py
+++ b/pyramid/tests/test_chameleon_text.py
@@ -1,6 +1,7 @@
import unittest
from pyramid.testing import cleanUp
+from pyramid.testing import skip_on
class Base:
def setUp(self):
@@ -62,6 +63,7 @@ class TextTemplateRendererTests(Base, unittest.TestCase):
from pyramid.interfaces import ITemplateRenderer
verifyClass(ITemplateRenderer, self._getTargetClass())
+ @skip_on('java')
def test_template_reified(self):
minimal = self._getTemplatePath('minimal.txt')
lookup = DummyLookup()
@@ -70,6 +72,7 @@ class TextTemplateRendererTests(Base, unittest.TestCase):
template = instance.template
self.assertEqual(template, instance.__dict__['template'])
+ @skip_on('java')
def test_template_with_ichameleon_translate(self):
minimal = self._getTemplatePath('minimal.txt')
lookup = DummyLookup()
@@ -78,6 +81,7 @@ class TextTemplateRendererTests(Base, unittest.TestCase):
template = instance.template
self.assertEqual(template.translate, lookup.translate)
+ @skip_on('java')
def test_template_with_debug_templates(self):
minimal = self._getTemplatePath('minimal.txt')
lookup = DummyLookup()
@@ -87,6 +91,7 @@ class TextTemplateRendererTests(Base, unittest.TestCase):
template = instance.template
self.assertEqual(template.debug, True)
+ @skip_on('java')
def test_template_with_reload_templates(self):
minimal = self._getTemplatePath('minimal.txt')
lookup = DummyLookup()
@@ -96,6 +101,7 @@ class TextTemplateRendererTests(Base, unittest.TestCase):
template = instance.template
self.assertEqual(template.auto_reload, True)
+ @skip_on('java')
def test_template_without_reload_templates(self):
minimal = self._getTemplatePath('minimal.txt')
lookup = DummyLookup()
@@ -105,6 +111,7 @@ class TextTemplateRendererTests(Base, unittest.TestCase):
template = instance.template
self.assertEqual(template.auto_reload, False)
+ @skip_on('java')
def test_call(self):
minimal = self._getTemplatePath('minimal.txt')
lookup = DummyLookup()
@@ -113,12 +120,14 @@ class TextTemplateRendererTests(Base, unittest.TestCase):
self.failUnless(isinstance(result, str))
self.assertEqual(result, 'Hello.\n')
+ @skip_on('java')
def test_call_with_nondict_value(self):
minimal = self._getTemplatePath('minimal.txt')
lookup = DummyLookup()
instance = self._makeOne(minimal, lookup)
self.assertRaises(ValueError, instance, None, {})
+ @skip_on('java')
def test_call_nonminimal(self):
nonminimal = self._getTemplatePath('nonminimal.txt')
lookup = DummyLookup()
@@ -127,6 +136,7 @@ class TextTemplateRendererTests(Base, unittest.TestCase):
self.failUnless(isinstance(result, str))
self.assertEqual(result, 'Hello, Chris!\n')
+ @skip_on('java')
def test_implementation(self):
minimal = self._getTemplatePath('minimal.txt')
lookup = DummyLookup()
@@ -140,6 +150,7 @@ class RenderTemplateTests(Base, unittest.TestCase):
from pyramid.chameleon_text import render_template
return render_template(name, **kw)
+ @skip_on('java')
def test_it(self):
minimal = self._getTemplatePath('minimal.txt')
result = self._callFUT(minimal)
@@ -151,6 +162,7 @@ class RenderTemplateToResponseTests(Base, unittest.TestCase):
from pyramid.chameleon_text import render_template_to_response
return render_template_to_response(name, **kw)
+ @skip_on('java')
def test_minimal(self):
minimal = self._getTemplatePath('minimal.txt')
result = self._callFUT(minimal)
@@ -160,6 +172,7 @@ class RenderTemplateToResponseTests(Base, unittest.TestCase):
self.assertEqual(result.status, '200 OK')
self.assertEqual(len(result.headerlist), 2)
+ @skip_on('java')
def test_iresponsefactory_override(self):
from webob import Response
class Response2(Response):
@@ -175,6 +188,7 @@ class GetRendererTests(Base, unittest.TestCase):
from pyramid.chameleon_text import get_renderer
return get_renderer(name)
+ @skip_on('java')
def test_it(self):
from pyramid.interfaces import IRendererFactory
class Dummy:
@@ -192,6 +206,7 @@ class GetTemplateTests(Base, unittest.TestCase):
from pyramid.chameleon_text import get_template
return get_template(name)
+ @skip_on('java')
def test_it(self):
from pyramid.interfaces import IRendererFactory
class Dummy:
diff --git a/pyramid/tests/test_chameleon_zpt.py b/pyramid/tests/test_chameleon_zpt.py
index 056b95937..786e96129 100644
--- a/pyramid/tests/test_chameleon_zpt.py
+++ b/pyramid/tests/test_chameleon_zpt.py
@@ -1,6 +1,7 @@
import unittest
from pyramid.testing import cleanUp
+from pyramid.testing import skip_on
class Base(object):
def setUp(self):
@@ -55,6 +56,7 @@ class ZPTTemplateRendererTests(Base, unittest.TestCase):
from pyramid.interfaces import ITemplateRenderer
verifyClass(ITemplateRenderer, self._getTargetClass())
+ @skip_on('java')
def test_call(self):
minimal = self._getTemplatePath('minimal.pt')
lookup = DummyLookup()
@@ -64,6 +66,7 @@ class ZPTTemplateRendererTests(Base, unittest.TestCase):
self.assertEqual(result,
'<div xmlns="http://www.w3.org/1999/xhtml">\n</div>')
+ @skip_on('java')
def test_template_reified(self):
minimal = self._getTemplatePath('minimal.pt')
lookup = DummyLookup()
@@ -72,6 +75,7 @@ class ZPTTemplateRendererTests(Base, unittest.TestCase):
template = instance.template
self.assertEqual(template, instance.__dict__['template'])
+ @skip_on('java')
def test_template_with_ichameleon_translate(self):
minimal = self._getTemplatePath('minimal.pt')
lookup = DummyLookup()
@@ -80,6 +84,7 @@ class ZPTTemplateRendererTests(Base, unittest.TestCase):
template = instance.template
self.assertEqual(template.translate, lookup.translate)
+ @skip_on('java')
def test_template_with_debug_templates(self):
minimal = self._getTemplatePath('minimal.pt')
lookup = DummyLookup()
@@ -89,6 +94,7 @@ class ZPTTemplateRendererTests(Base, unittest.TestCase):
template = instance.template
self.assertEqual(template.debug, True)
+ @skip_on('java')
def test_template_without_debug_templates(self):
minimal = self._getTemplatePath('minimal.pt')
lookup = DummyLookup()
@@ -98,6 +104,7 @@ class ZPTTemplateRendererTests(Base, unittest.TestCase):
template = instance.template
self.assertEqual(template.debug, False)
+ @skip_on('java')
def test_template_with_reload_templates(self):
minimal = self._getTemplatePath('minimal.pt')
lookup = DummyLookup()
@@ -107,6 +114,7 @@ class ZPTTemplateRendererTests(Base, unittest.TestCase):
template = instance.template
self.assertEqual(template.auto_reload, True)
+ @skip_on('java')
def test_template_without_reload_templates(self):
minimal = self._getTemplatePath('minimal.pt')
lookup = DummyLookup()
@@ -116,12 +124,14 @@ class ZPTTemplateRendererTests(Base, unittest.TestCase):
template = instance.template
self.assertEqual(template.auto_reload, False)
+ @skip_on('java')
def test_call_with_nondict_value(self):
minimal = self._getTemplatePath('minimal.pt')
lookup = DummyLookup()
instance = self._makeOne(minimal, lookup)
self.assertRaises(ValueError, instance, None, {})
+ @skip_on('java')
def test_implementation(self):
minimal = self._getTemplatePath('minimal.pt')
lookup = DummyLookup()
@@ -137,6 +147,7 @@ class RenderTemplateTests(Base, unittest.TestCase):
from pyramid.chameleon_zpt import render_template
return render_template(name, **kw)
+ @skip_on('java')
def test_it(self):
minimal = self._getTemplatePath('minimal.pt')
result = self._callFUT(minimal)
@@ -149,6 +160,7 @@ class RenderTemplateToResponseTests(Base, unittest.TestCase):
from pyramid.chameleon_zpt import render_template_to_response
return render_template_to_response(name, **kw)
+ @skip_on('java')
def test_it(self):
minimal = self._getTemplatePath('minimal.pt')
result = self._callFUT(minimal)
@@ -159,6 +171,7 @@ class RenderTemplateToResponseTests(Base, unittest.TestCase):
self.assertEqual(result.status, '200 OK')
self.assertEqual(len(result.headerlist), 2)
+ @skip_on('java')
def test_iresponsefactory_override(self):
from webob import Response
class Response2(Response):
@@ -174,6 +187,7 @@ class GetRendererTests(Base, unittest.TestCase):
from pyramid.chameleon_zpt import get_renderer
return get_renderer(name)
+ @skip_on('java')
def test_it(self):
from pyramid.interfaces import IRendererFactory
class Dummy:
@@ -191,6 +205,7 @@ class GetTemplateTests(Base, unittest.TestCase):
from pyramid.chameleon_zpt import get_template
return get_template(name)
+ @skip_on('java')
def test_it(self):
from pyramid.interfaces import IRendererFactory
class Dummy:
diff --git a/pyramid/tests/test_testing.py b/pyramid/tests/test_testing.py
index 8336bcec5..f05e7fc01 100644
--- a/pyramid/tests/test_testing.py
+++ b/pyramid/tests/test_testing.py
@@ -693,6 +693,30 @@ class TestMockTemplate(unittest.TestCase):
template = self._makeOne('123')
self.assertEqual(template(), '123')
+class Test_skip_on(unittest.TestCase):
+ def setUp(self):
+ from pyramid.testing import skip_on
+ self.os_name = skip_on.os_name
+ skip_on.os_name = 'wrong'
+
+ def tearDown(self):
+ from pyramid.testing import skip_on
+ skip_on.os_name = self.os_name
+
+ def _callFUT(self, *platforms):
+ from pyramid.testing import skip_on
+ return skip_on(*platforms)
+
+ def test_wrong_platform(self):
+ def foo(): return True
+ decorated = self._callFUT('wrong')(foo)
+ self.assertEqual(decorated(), None)
+
+ def test_ok_platform(self):
+ def foo(): return True
+ decorated = self._callFUT('ok')(foo)
+ self.assertEqual(decorated(), True)
+
from zope.interface import Interface
from zope.interface import implements