app/django/contrib/gis/tests/utils.py
author Lennard de Rijk <ljvderijk@gmail.com>
Sun, 01 Feb 2009 17:52:12 +0000
changeset 1161 ad352f3a37d3
parent 323 ff1a9aa48cfd
permissions -rw-r--r--
This patch prohibits changing of agreed_to_tos and agreed_to_tos_on by the Logic module. This is used so that legally the agreed_to_tos fields can never change in the User model once set. Patch by: Haoyu Bai Reviewed by: Lennard de Rijk

from django.conf import settings

# function that will pass a test.
def pass_test(*args): return

def no_backend(test_func, backend):
    "Use this decorator to disable test on specified backend."
    if settings.DATABASE_ENGINE == backend:
        return pass_test
    else:
        return test_func

# Decorators to disable entire test functions for specific
# spatial backends.
def no_oracle(func): return no_backend(func, 'oracle')
def no_postgis(func): return no_backend(func, 'postgresql_psycopg2')
def no_mysql(func): return no_backend(func, 'mysql')

# Shortcut booleans to omit only portions of tests.
oracle  = settings.DATABASE_ENGINE == 'oracle'
postgis = settings.DATABASE_ENGINE == 'postgresql_psycopg2' 
mysql   = settings.DATABASE_ENGINE == 'mysql'