old_contents: #!/usr/bin/env python
  import os
  import sys
  import warnings
  
  import django
  from django.conf import settings
  from django.core.management import call_command
  
  
  def runtests():
      if not settings.configured:
          # Choose database for settings
          DATABASES = {
              'default': {
                  'ENGINE': 'django.db.backends.sqlite3',
                  'NAME': ':memory:'
              }
          }
          test_db = os.environ.get('DB', 'sqlite')
          if test_db == 'mysql':
              DATABASES['default'].update({
                  'ENGINE': 'django.db.backends.mysql',
                  'NAME': 'modeltranslation',
                  'USER': 'root',
              })
          elif test_db == 'postgres':
              DATABASES['default'].update({
                  'ENGINE': 'django.db.backends.postgresql_psycopg2',
                  'USER': 'postgres',
                  'NAME': 'modeltranslation',
              })
  
          # Configure test environment
          settings.configure(
              DATABASES=DATABASES,
              INSTALLED_APPS=(
                  'django.contrib.contenttypes',
                  'django.contrib.auth',
                  'modeltranslation',
              ),
              ROOT_URLCONF=None,  # tests override urlconf, but it still needs to be defined
              LANGUAGES=(
                  ('en', 'English'),
              ),
              MIDDLEWARE_CLASSES=(),
          )
  
      django.setup()
      warnings.simplefilter('always', DeprecationWarning)
      failures = call_command(
          'test', 'modeltranslation', interactive=False, failfast=False, verbosity=2)
  
      sys.exit(bool(failures))
  
  
  if __name__ == '__main__':
      runtests()
  
new_contents: #!/usr/bin/env python
  import os
  import sys
  import warnings
  from optparse import OptionParser
  
  import django
  from django.conf import settings
  from django.core.management import call_command
  
  
  def runtests(test_path='modeltranslation'):
      if not settings.configured:
          # Choose database for settings
          DATABASES = {
              'default': {
                  'ENGINE': 'django.db.backends.sqlite3',
                  'NAME': ':memory:'
              }
          }
          test_db = os.environ.get('DB', 'sqlite')
          if test_db == 'mysql':
              DATABASES['default'].update({
                  'ENGINE': 'django.db.backends.mysql',
                  'NAME': 'modeltranslation',
                  'USER': 'root',
              })
          elif test_db == 'postgres':
              DATABASES['default'].update({
                  'ENGINE': 'django.db.backends.postgresql_psycopg2',
                  'USER': 'postgres',
                  'NAME': 'modeltranslation',
              })
  
          # Configure test environment
          settings.configure(
              DATABASES=DATABASES,
              INSTALLED_APPS=(
                  'django.contrib.contenttypes',
                  'django.contrib.auth',
                  'modeltranslation',
              ),
              ROOT_URLCONF=None,  # tests override urlconf, but it still needs to be defined
              LANGUAGES=(
                  ('en', 'English'),
              ),
              MIDDLEWARE_CLASSES=(),
          )
  
      django.setup()
      warnings.simplefilter('always', DeprecationWarning)
      failures = call_command(
          'test', test_path, interactive=False, failfast=False, verbosity=2)
  
      sys.exit(bool(failures))
  
  
  if __name__ == '__main__':
      parser = OptionParser()
  
      (options, args) = parser.parse_args()
      runtests(*args)
  
subject: allow to specify single test in runtests.py