old_contents: #!/usr/bin/env python
  import os
  import sys
  
  import django
  
  from django.conf import settings
  
  
  DEFAULT_SETTINGS = dict(
      INSTALLED_APPS=[
          "django.contrib.auth",
          "django.contrib.contenttypes",
          "django.contrib.sites",
          "mailer",
      ],
      DATABASES={
          "default": {
              "ENGINE": "django.db.backends.sqlite3",
              "NAME": ":memory:",
          }
      },
      SITE_ID=1,
      SECRET_KEY="notasecret",
      MIDDLEWARE_CLASSES=[],
  )
  
  
  def runtests(*test_args):
      if not settings.configured:
          settings.configure(**DEFAULT_SETTINGS)
  
      # Compatibility with Django 1.7's stricter initialization
      if hasattr(django, "setup"):
          django.setup()
  
      parent = os.path.dirname(os.path.abspath(__file__))
      sys.path.insert(0, parent)
  
      try:
          from django.test.runner import DiscoverRunner
          runner_class = DiscoverRunner
          test_args = ["mailer.tests"]
      except ImportError:
          from django.test.simple import DjangoTestSuiteRunner
          runner_class = DjangoTestSuiteRunner
          test_args = ["mailer"]
  
      failures = runner_class(
          verbosity=1, interactive=True, failfast=False).run_tests(test_args)
      sys.exit(failures)
  
  
  if __name__ == "__main__":
      runtests(*sys.argv[1:])
  
new_contents: #!/usr/bin/env python
  import os
  import sys
  
  import django
  
  from django.conf import settings
  
  
  DEFAULT_SETTINGS = dict(
      INSTALLED_APPS=[
          "django.contrib.auth",
          "django.contrib.contenttypes",
          "django.contrib.sites",
          "mailer",
      ],
      DATABASES={
          "default": {
              "ENGINE": "django.db.backends.sqlite3",
              "NAME": ":memory:",
          }
      },
      SITE_ID=1,
      SECRET_KEY="notasecret",
      MIDDLEWARE_CLASSES=[],
  )
  
  
  def runtests(*test_args):
      if not settings.configured:
          settings.configure(**DEFAULT_SETTINGS)
  
      # Compatibility with Django 1.7's stricter initialization
      if hasattr(django, "setup"):
          django.setup()
  
      parent = os.path.dirname(os.path.abspath(__file__))
      sys.path.insert(0, parent)
  
      try:
          from django.test.runner import DiscoverRunner
          runner_class = DiscoverRunner
          if len(test_args) == 0:
              test_args = ["mailer.tests"]
      except ImportError:
          from django.test.simple import DjangoTestSuiteRunner
          runner_class = DjangoTestSuiteRunner
          if len(test_args) == 0:
              test_args = ["mailer"]
  
      failures = runner_class(
          verbosity=1, interactive=True, failfast=False).run_tests(test_args)
      sys.exit(failures)
  
  
  if __name__ == "__main__":
      runtests(*sys.argv[1:])
  
subject: Allow running specific tests with runtests.py