#!/usr/bin/env python
import glob
import logging
import os
import sys
import unittest

from trace import fullmodname
try:
    from tests.utils import cleanup
except:
    def cleanup():
        pass

sys.path.insert(0, os.getcwd())

verbosity = 1
if "-q" in sys.argv or '--quiet' in sys.argv:
    verbosity = 0
if "-v" in sys.argv or '--verbose' in sys.argv:
    verbosity = 2

if verbosity == 0:
  logging.disable(logging.CRITICAL)
elif verbosity == 1:
  logging.disable(logging.ERROR)
elif verbosity == 2:
  logging.basicConfig(level=logging.DEBUG)


def build_suite(folder):
  # find all of the test modules
  modules = map(fullmodname, glob.glob(os.path.join(folder, 'test_*.py')))
  print "Running the tests found in the following modules:"
  print modules

  # load all of the tests into a suite
  try:
      return unittest.TestLoader().loadTestsFromNames(modules)
  except Exception, exception:
      # attempt to produce a more specific message
      for module in modules:
          __import__(module)
      raise

unit_tests = build_suite('tests')
functional_tests = build_suite('functional_tests')

# run test suites
unittest.TextTestRunner(verbosity=verbosity).run(unit_tests)
unittest.TextTestRunner(verbosity=verbosity).run(functional_tests)
cleanup()

#!/usr/bin/env python
import glob
import logging
import os
import sys
import unittest

from trace import fullmodname
try:
    from tests.utils import cleanup
except:
    def cleanup():
        pass

sys.path.insert(0, os.getcwd())

verbosity = 1
if "-q" in sys.argv or '--quiet' in sys.argv:
    verbosity = 0
if "-v" in sys.argv or '--verbose' in sys.argv:
    verbosity = 2

if verbosity == 0:
  logging.disable(logging.CRITICAL)
elif verbosity == 1:
  logging.disable(logging.ERROR)
elif verbosity == 2:
  logging.basicConfig(level=logging.DEBUG)


def build_suite(folder):
  # find all of the test modules
  modules = map(fullmodname, glob.glob(os.path.join(folder, 'test_*.py')))
  print "Running the tests found in the following modules:"
  print modules

  # load all of the tests into a suite
  try:
      return unittest.TestLoader().loadTestsFromNames(modules)
  except Exception, exception:
      # attempt to produce a more specific message
      for module in modules:
          __import__(module)
      raise

# build and run unit test suite
unit_tests = build_suite('tests')
unittest.TextTestRunner(verbosity=verbosity).run(unit_tests)
cleanup()

# build and run functional test suite
functional_tests = build_suite('functional_tests')
unittest.TextTestRunner(verbosity=verbosity).run(functional_tests)
cleanup()

Split out running unit and functional tests
Split out running unit and functional tests
