text: # doctests.py
  # -----------
  # Licensing Information:  You are free to use or extend these projects for
  # educational purposes provided that (1) you do not distribute or publish
  # solutions, (2) you retain this notice, and (3) you provide clear
  # attribution to UC Berkeley, including a link to http://ai.berkeley.edu.
  # 
  # Attribution Information: The Pacman AI projects were developed at UC Berkeley.
  # The core projects and autograders were primarily created by John DeNero
  # (denero@cs.berkeley.edu) and Dan Klein (klein@cs.berkeley.edu).
  # Student side autograding was added by Brad Miller, Nick Hay, and
  # Pieter Abbeel (pabbeel@cs.berkeley.edu).
  
  
  """Run all doctests from modules on the command line.  Use -v for verbose.
  
  Example usages:
  
      python doctests.py *.py
      python doctests.py -v *.py
  
  You can add more module-level tests with
      __doc__ += "..."
  You can add stochastic tests with
      __doc__ += random_tests("...")
  """
  
  if __name__ == "__main__":
      import sys, glob, doctest
      args = [arg for arg in sys.argv[1:] if arg != '-v']
      if not args: args = ['*.py']
      modules = [__import__(name.replace('.py',''))
                 for arg in args for name in glob.glob(arg)]
  
      print "Testing %d modules..." % len(modules)
      for module in modules:
          doctest.testmod(module, report=1, optionflags=doctest.REPORT_UDIFF)
      summary = doctest.master.summarize() if modules else (0, 0)
      
      print
      print
      print '%d failed out of %d tests' % summary
  